Re: [Pharo-dev] New builder for Roassal: building geographical maps
Ok, thanks, I did not know Cheers Alexandre Le 16-11-2013 à 22:31, b...@openinworld.com a écrit : Alexandre Bergel wrote: Have you checked Shapes to load ESRI .shp files? http://www.smalltalkhub.com/#!/~hernan/Shapes Apparently it does not load in Pharo 3.0. I am not sure how popular are .shp files. The map I used in my examples are SVG path description. SHaPe files a very popular with mining oil companies = potential clients with big wallets. ESRI are the defacto standard for GIS. There are also probably a lot of smaller organisations limping by with data locked in old ESRI versions because upgrading is too expensive. Might be a good collaboration with your local GIS group. cheers -ben Our next goal is to represent GPS coordinate and cities. We will then probably try to show some visually interesting data (e.g., flights, tweets). Having this run at the top of Roassal @ Amber will come for free. Stay tuned! Also, in december, when I will visit inria @ Lille, I would like to push Athens more into Roassal. There are free shapefile maps in sites like this http://www.statsilk.com/maps/download-free-shapefile-maps Impressive website. Cheers, Alexandre El 16/11/2013 7:52, Alexandre Bergel escribió: It is currently ad-hoc since we use a bitmap for the map, and locate cities with distances in pixels. We have found description in SVG and found a couple of formulas to map longitude and latitude into pixels. So we will have something vectorial very soon. If someone has some ideas, data, examples the we will be very happy to take them as challenges! Alexandre Le 15-11-2013 à 18:39, Sven Van Caekenberghe s...@stfx.eu a écrit : Very nice, Alex, I guess you are using shape files then ? Sven On 15 Nov 2013, at 20:56, Alexandre Bergel alexandre.ber...@me.com wrote: Hi! During our pair coding session on Friday, we worked on a new builder for Roassal. Here is short example: | builder | builder := ROFranceMapBuilder new. builder shape circle size: 15; color: Color red; withLabel. builder showCities: #('Paris' 'Lyon' 'Marseille'). builder shape circle size: 25; color: Color blue; withLabel. builder show: 'Nice'. builder open It should produce: Screen Shot 2013-11-15 at 4.53.30 PM.png There is no reference to external files. It runs out of the box. In case you got a sudden need to press a like button or do some retweet, here a bit of material: https://www.facebook.com/media/set/?set=a.543459092407359.1073741830.340543479365589type=1 https://twitter.com/objectprofile/status/401433558684008448 On our facebook account we have many more screenshots. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. .
[Pharo-dev] How to draw an ellipse with Athens?
Hi!In Roassal, I have the following to draw an ellipse:-=-=-=-=-=-=-=-=-=-=fillOval: aRectangle color: aColor borderWidth: aBorderWidth borderColor: aBorderColor |p rect stroke | rect := self virtualToRealRectangle: aRectangle. nativeCanvas pathTransform restoreAfter: [ p:= nativeCanvas createPath: [:path ||halfPi |halfPi := Float pi /2.path absolute; moveTo: rect topCenter; cwArcTo: rect rightCenter angle: halfPi; cwArcTo: rect bottomCenter angle: halfPi; cwArcTo: rect leftCenter angle: halfPi; cwArcTo: rect topCenter angle: halfPi]. nativeCanvas setShape: p. nativeCanvas setPaint: aColor. nativeCanvas draw. stroke := nativeCanvas setStrokePaint: aBorderColor. stroke width: aBorderWidth. nativeCanvas draw ]-=-=-=-=-=-=-=-=-=-=I feel this is not quite right.It produces something like:With the following Roassal script:-=-=-=-=-=-=-=-=-=-=| view el |view := ROView new.el := ROElement on: 'hello world'.el + ROLabel + ROEllipse.el @ RODraggable.view add: el.view open-=-=-=-=-=-=-=-=-=-=It is has if the halfPi variable does not have the right value.I have found example on the web (e.g.,https://developer.gnome.org/gtkmm-tutorial/3.2/sec-cairo-drawing-arcs.html.en)However I was not able to map them in Athens.Help appreciated. This is a bug in Roassal that has been there for too long :-)Cheers,Alexandre--_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:Alexandre Bergel http://www.bergel.eu^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] New builder for Roassal: building geographical maps
We indeed may have a need in the future about shp files. We will see. Alexandre On Nov 17, 2013, at 2:40 AM, Hernán Morales Durand hernan.mora...@gmail.com wrote: Yes, loading .shp is mandatory for GIS features. I don't know how it matches with your GPS project or it's complementary with your Athens/Roassal implementation. I hope so because it would be a real open door for GIS developers. I have updated the packages and added an install script. Try it tomorrow in Pharo 2.0 (for some reason I cannot upload changes in StHub now): http://www.smalltalkhub.com/#!/~hernan/Shapes With this dataset: https://drive.google.com/file/d/0B7XMfmjGRcXAdkgzeE84c2JtZEk/edit?usp=sharing | shpE legend | shpE := ShapeEnsemble fromFile: 'ne_110m_admin_0_countries.shp'. shpE attribute: 'CONTINENT'. legend := ColorLegend mapValuesToRandom: shpE valuesOfCurrentAttribute. shpE legend: legend. shpE displayMorphic I have reviewed the code and there is a great effort put into. However there are places which need savage refactoring. Hernán El 16/11/2013 22:31, b...@openinworld.com escribió: Alexandre Bergel wrote: Have you checked Shapes to load ESRI .shp files? http://www.smalltalkhub.com/#!/~hernan/Shapes Apparently it does not load in Pharo 3.0. I am not sure how popular are .shp files. The map I used in my examples are SVG path description. SHaPe files a very popular with mining oil companies = potential clients with big wallets. ESRI are the defacto standard for GIS. There are also probably a lot of smaller organisations limping by with data locked in old ESRI versions because upgrading is too expensive. Might be a good collaboration with your local GIS group. cheers -ben Our next goal is to represent GPS coordinate and cities. We will then probably try to show some visually interesting data (e.g., flights, tweets). Having this run at the top of Roassal @ Amber will come for free. Stay tuned! Also, in december, when I will visit inria @ Lille, I would like to push Athens more into Roassal. There are free shapefile maps in sites like this http://www.statsilk.com/maps/download-free-shapefile-maps Impressive website. Cheers, Alexandre El 16/11/2013 7:52, Alexandre Bergel escribió: It is currently ad-hoc since we use a bitmap for the map, and locate cities with distances in pixels. We have found description in SVG and found a couple of formulas to map longitude and latitude into pixels. So we will have something vectorial very soon. If someone has some ideas, data, examples the we will be very happy to take them as challenges! Alexandre Le 15-11-2013 à 18:39, Sven Van Caekenberghes...@stfx.eu a écrit : Very nice, Alex, I guess you are using shape files then ? Sven On 15 Nov 2013, at 20:56, Alexandre Bergelalexandre.ber...@me.com wrote: Hi! During our pair coding session on Friday, we worked on a new builder for Roassal. Here is short example: | builder | builder := ROFranceMapBuilder new. builder shape circle size: 15; color: Color red; withLabel. builder showCities: #('Paris' 'Lyon' 'Marseille'). builder shape circle size: 25; color: Color blue; withLabel. builder show: 'Nice'. builder open It should produce: Screen Shot 2013-11-15 at 4.53.30 PM.png There is no reference to external files. It runs out of the box. In case you got a sudden need to press a like button or do some retweet, here a bit of material: https://www.facebook.com/media/set/?set=a.543459092407359.1073741830.340543479365589type=1 https://twitter.com/objectprofile/status/401433558684008448 On our facebook account we have many more screenshots. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergelhttp://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. . -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] another pic from our map builder
It is rendered with Athens, although it should certainly work without, I haven't tried. I haven't used bitmap, which means you should be able to zoom in and out as you wish. All the work we did about mapping is essentially about having cool examples for Roassal. If someone uses it let us know. We are also happy to provide support and add missing features. Cheers, Alexandre On Nov 18, 2013, at 9:02 AM, kilon alios kilon.al...@gmail.com wrote: this map is made with Athens ? or you just use a bitmap and overlay Athens vectors ? looks very nice, well done , I will most certainly take a look at the code :) On Mon, Nov 18, 2013 at 1:30 PM, Alexandre Bergel alexandre.ber...@me.com wrote: hi! Some have asked about adding routes and defining cities: https://twitter.com/objectprofile/status/402397548067176448 We have extended our builder with such possibilities. Soon the builder will work on Roassal@Amber. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] How to draw an ellipse with Athens?
Ah yes, I am having a look at it... Alexandre On Nov 17, 2013, at 8:49 PM, milton mamani akeval...@gmail.com wrote: Hi Alex! I made a simple code in sunburst: .=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.= | node view| view := ROView new. node := ROElement on:'Hello world'. node + ROLabel. node addShape: ((ROArc startAngle: 0 endAngle: 360) fillColor: Color lightGray); @RODraggable. view add: node. node translateBy: 100 @ 100. view open. .=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.= image.png Cheers, Milton 2013/11/17 Alexandre Bergel alexandre.ber...@me.com Hi! In Roassal, I have the following to draw an ellipse: -=-=-=-=-=-=-=-=-=-= fillOval: aRectangle color: aColor borderWidth: aBorderWidth borderColor: aBorderColor |p rect stroke | rect := self virtualToRealRectangle: aRectangle. nativeCanvas pathTransform restoreAfter: [ p:= nativeCanvas createPath: [:path | |halfPi | halfPi := Float pi /2. path absolute; moveTo: rect topCenter; cwArcTo: rect rightCenter angle: halfPi; cwArcTo: rect bottomCenter angle: halfPi; cwArcTo: rect leftCenter angle: halfPi; cwArcTo: rect topCenter angle: halfPi]. nativeCanvas setShape: p. nativeCanvas setPaint: aColor. nativeCanvas draw. stroke := nativeCanvas setStrokePaint: aBorderColor. stroke width: aBorderWidth. nativeCanvas draw ] -=-=-=-=-=-=-=-=-=-= I feel this is not quite right. It produces something like: Screen Shot 2013-11-17 at 12.46.15 PM.png With the following Roassal script: -=-=-=-=-=-=-=-=-=-= | view el | view := ROView new. el := ROElement on: 'hello world'. el + ROLabel + ROEllipse. el @ RODraggable. view add: el. view open -=-=-=-=-=-=-=-=-=-= It is has if the halfPi variable does not have the right value. I have found example on the web (e.g., https://developer.gnome.org/gtkmm-tutorial/3.2/sec-cairo-drawing-arcs.html.en) However I was not able to map them in Athens. Help appreciated. This is a bug in Roassal that has been there for too long :-) Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] WhatsUp from: 2013-11-18 until: 2013-11-30
### Here's what I've been up to since the last WhatsUp: - $HEROIC_ACHIEVEMENTS_OR_DISMAL_FAILURES_OR_SIMPLE_BORING_NECESSARY_TASKS - Pharo sprint, which has produced many fixes in Pharo - Working on geographical maps in Roassal. Screenshots available on https://www.facebook.com/ObjectProfile/photos_stream - Working on processing SVG path in Roassal - Pushing Roassal on Amber. ### What's next, until 2013-11-30 (*): - $NEXT_STEPS_TOWARDS_WORLD_DOMINATION - Working on a revision of Deep into Pharo - Together with Pablo and Ricardo we will push Roassal on Amber - Working on integrating Athens better in Roassal Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [Moose-dev] SVG described countries in Roassal
What do you mean? Athens is in Pharo 3.0 by default. We are no longer loading it manually. You can safely invest all your energy in Athens :). :-) I will Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Is Coral still alive?
which already exists and it's named LIMBO :) Cool! But yes, supporting beyond Mac will be a must. Out of curiosity, why does it require a plugin? It has seemed to me that one of the purposes of NB is to bring code into the image, and out of the VM... Good question! I am interested in knowing the answer :-) Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] VM with fragmented memory
Hi Eliot, I have a question still on segmented memory. Consider an object “c := OrderedCollection new”. It is likely that the internal array” and the object c will be in the same generation and in the same memory segment. If I add, let’s say, 30 000 000 elements into c. After the addition the array will be very very big. Which means that it may be in a different segment memory than the one that contains “c”. Do you feel this may be a problem? I am thinking about a long jump between c and array. Long jumps cost more than short jumps right? Do you feel there are some suboptimal situation with this situation? Alexandre NB: I cc the mailing list to see whether other may help in understand better what’s going on with segment and generations -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 19, 2013, at 1:37 PM, Eliot Miranda eliot.mira...@gmail.com wrote: Hi Alexandre, On Mon, Nov 18, 2013 at 7:40 AM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi Eliot, Stef told me you are working hard on improving the Pharo VM. In particular making the VM support fragmented memory. If I understand correctly, this will relieve the VM from having a continuous block of memory to hold the whole image. Really cool! A better term is segmented memory. fragmentation in memory management means free space getting divided into too small pieces to be useful. I have a general question regarding VM. Are you aware of other Virtual machines supporting this? Does the Java VM support fragmented memory? .Net? V8? Any VM that uses the train algorithm supports segmented memory. Any VM that uses pools or regions uses segmented memory. VisualWorks' VM supports segments. I'm pretty sure that V8 .Net HotSpot provide segmented memory. I would like to mention this in a research paper I am working on. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- best, Eliot
Re: [Pharo-dev] VM with fragmented memory
Ok, thanks Clément for the explanation. what do you mean with now if you a 3 million of elements to this OrderedCollection, you need to handle specifically”. What the VM does exactly in that case? Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 25, 2013, at 1:46 PM, Clément Bera bera.clem...@gmail.com wrote: Hello, To answer your question, V8 definitely supports memory segments. I don't know about papers but in the code each segment is an instance of Heap (see heap.cc and heap.h in the source). The 2 young spaces are in another contiguous segment of 8Mb. Each segment of V8 are one of this kind (all instances of Heap): * NewSpace: New object allocations go here. Capacity is 8MB. It's divided into two contiguous semispaces, and periodically collected using Cheney's algorithm. Uses bump-allocation. * OldSpaces: These allocate memory in 64-128KB chunks of 8KB pages. They come in the following flavors: * MapSpace: Exclusively for Maps (similar to js::Shape), and Maps *always* go here. * CodeSpace:Exclusively for Code. * DataSpace:For flat strings and numbers; can't reference objects, except for maps. * PointerSpace: For anything not a Map or Code that can reference other objects. * CellSpace:Seems to store global properties or something. * LOSpace: For large objects, where large means it needs more than ~8KB of storage. I have no proof for hotspot (their code is too complex) but I'm sure they have it too. For the other question (adding elements to OrderedCollection), Eliot will answer it in more details, but the main idea is that you have the heap chopped into segments of a fixed size (1Mb in Cog, and 64-128KB chunks in V8), therefore for object bigger than a segment, you need to handle specifically the object, i.e. having a segment of the size of the object. If you add 30 000 elements to an OrderedCollection, the object will still be under 1MB so it is ok, now if you a 3 million of elements to this OrderedCollection, you need to handle specifically, Therefore you have performance loss for object of more than 1Mb but there are not common so you will not notice it (you can hardly have thousands of objects bigger than 1Mb allocated and deallocated regularly, and you need this amount to notice the performance loss). An interesting point in V8 is that the data and pointers are not in the same spaces. It would mean in Cog, if I understand correctly, that byte and word objects are not in the same space as other objects. I guess this simplifies the GC logic. I don't know if they did that in VW. 2013/11/25 Alexandre Bergel alexandre.ber...@me.com Hi Eliot, I have a question still on segmented memory. Consider an object “c := OrderedCollection new”. It is likely that the internal array” and the object c will be in the same generation and in the same memory segment. If I add, let’s say, 30 000 000 elements into c. After the addition the array will be very very big. Which means that it may be in a different segment memory than the one that contains “c”. Do you feel this may be a problem? I am thinking about a long jump between c and array. Long jumps cost more than short jumps right? Do you feel there are some suboptimal situation with this situation? Alexandre NB: I cc the mailing list to see whether other may help in understand better what’s going on with segment and generations -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 19, 2013, at 1:37 PM, Eliot Miranda eliot.mira...@gmail.com wrote: Hi Alexandre, On Mon, Nov 18, 2013 at 7:40 AM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi Eliot, Stef told me you are working hard on improving the Pharo VM. In particular making the VM support fragmented memory. If I understand correctly, this will relieve the VM from having a continuous block of memory to hold the whole image. Really cool! A better term is segmented memory. fragmentation in memory management means free space getting divided into too small pieces to be useful. I have a general question regarding VM. Are you aware of other Virtual machines supporting this? Does the Java VM support fragmented memory? .Net? V8? Any VM that uses the train algorithm supports segmented memory. Any VM that uses pools or regions uses segmented memory. VisualWorks' VM supports segments. I'm pretty sure that V8 .Net HotSpot provide segmented memory. I would like to mention this in a research paper I am working on. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu
Re: [Pharo-dev] VM with fragmented memory
If I add, let’s say, 30 000 000 elements into c. After the addition the array will be very very big. Which means that it may be in a different segment memory than the one that contains “c”. Do you feel this may be a problem? I am thinking about a long jump between c and array. Long jumps cost more than short jumps right? I don't think it'll be an issue because statistically it'll affect a minority of collections. No, its not necessarily the case that there may be a higher cost. This depends on how the processor's memory hierarchy works. Further, performance may be more affected by how clustered the elements of the collection are than the collection itself. Ah okay. What do you mean by how the elements are clustered? Do you feel there are some suboptimal situation with this situation? I think it's way too early to worry about this kind of thing. The system needs to work and be tuned. There's plenty of time to address clustering, etc. I am not sure to understand what clustering means here. Thanks again for taking the time to answer questions. Alexandre Alexandre NB: I cc the mailing list to see whether other may help in understand better what’s going on with segment and generations -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 19, 2013, at 1:37 PM, Eliot Miranda eliot.mira...@gmail.com wrote: Hi Alexandre, On Mon, Nov 18, 2013 at 7:40 AM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi Eliot, Stef told me you are working hard on improving the Pharo VM. In particular making the VM support fragmented memory. If I understand correctly, this will relieve the VM from having a continuous block of memory to hold the whole image. Really cool! A better term is segmented memory. fragmentation in memory management means free space getting divided into too small pieces to be useful. I have a general question regarding VM. Are you aware of other Virtual machines supporting this? Does the Java VM support fragmented memory? .Net? V8? Any VM that uses the train algorithm supports segmented memory. Any VM that uses pools or regions uses segmented memory. VisualWorks' VM supports segments. I'm pretty sure that V8 .Net HotSpot provide segmented memory. I would like to mention this in a research paper I am working on. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- best, Eliot -- best, Eliot
Re: [Pharo-dev] The Second Coming of Java article
Actually, do I want to have Pharo running on Java? My answer was ‘yes’ a couple of years before. Today, I want to have Pharo (or at least most of it) running in a web browser. Distributing applications to clients is then so easy... Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 24, 2013, at 6:19 PM, askoh as...@askoh.com wrote: http://www.wired.com/wiredenterprise/2013/09/the-second-coming-of-java/ The article talks about Java Virtual Machine running dynamic languages like Scala and Clojure in addition to Java. What prevents the Smalltalk Virtual Machine from running Java, Scala, Clojure and other JVM languages? Is that something we can ride on to greater awareness and usage of Smalltalk Virtual Machine and Smalltalk? All the best, Aik-Siong Koh -- View this message in context: http://forum.world.st/The-Second-Coming-of-Java-article-tp4724932.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Re: [Pharo-dev] Understanding Roassal
Hi! So I took your advice and gave a good look to Roassal to learn more about how to use Athens. First I want to congratulate the coders, I was expecting a simple visualisation library for object graphs and what I see is a full blown graphics library that can be used for many diffirent kinds of graphical illustrations. Thanks for your nice words :-) I still however trying to understand the end goal of Roassal , is there an end goal or is it generally code visualisation ? The goal of Roassal is getting broader with the time. The main objective of Roassal is to be a platform for data visualisation. So, as soon as you have a bunch of data (e.g., plenty of numbers or any arbitrary objects), then Roassal should give you the tools to visualize and interact with your data. Roassal is slowly moving from a tool for end-user to a platform on which domain specific languages can be created. This is an important point when reusing visualizations (e.g., ROTreeMapBuilder, ROMapBuilder, ROMondrianViewBuilder are all compelling examples). Roassal is currently being ported to Amber, which will probably broaden the vision behind Roassal. Early examples may be found on: http://pestefo.github.io/roamber/# Also I wanted to ask if Roassal can do visual coding. By that I mean visualize not only objects but messages inside methods so the users with drag and drop code in a visual way. Yes, Roassal is made for that. If there is something that Roassal does not allow you to do, then let us know, we are a whole team ready to polish Roassal. I took a look at the examples but I see nowhere the use of bezier curves , why is that ? There is a few. Try: -=-=-=-=-=-=-=-=-=-=-=-= Source code: ROMondrianExamplebezierCurveOn: Preambule. It includes the initialization. | view rawView | rawView := ROView new. view := ROMondrianViewBuilder view: rawView. - - view shape circle size: 10. view nodes: (Collection withAllSubclasses). view shape bezierLine. view edgesFrom: #superclass. view radialTreeLayout. view center. - - Below is the initiation of the menu and opening the visualization ROEaselMorphic new populateMenuOn: view. view open -=-=-=-=-=-=-=-=-=-=-=-= Have a look at the class ROSplineExample It does not contains many examples, but you get enough to build appealing visualization (e.g., https://www.facebook.com/media/set/?set=a.511442275609041.1073741827.340543479365589type=3 ) More screenshots are available on: https://www.facebook.com/ObjectProfile Cheers, Alexandre
Re: [Pharo-dev] VM with fragmented memory
Thanks for all your explanation. There are useful! Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 25, 2013, at 6:20 PM, Igor Stasenko siguc...@gmail.com wrote: On 25 November 2013 19:01, Alexandre Bergel alexandre.ber...@me.com wrote: If I add, let’s say, 30 000 000 elements into c. After the addition the array will be very very big. Which means that it may be in a different segment memory than the one that contains “c”. Do you feel this may be a problem? I am thinking about a long jump between c and array. Long jumps cost more than short jumps right? I don't think it'll be an issue because statistically it'll affect a minority of collections. No, its not necessarily the case that there may be a higher cost. This depends on how the processor's memory hierarchy works. Further, performance may be more affected by how clustered the elements of the collection are than the collection itself. Ah okay. What do you mean by how the elements are clustered? Do you feel there are some suboptimal situation with this situation? I think it's way too early to worry about this kind of thing. The system needs to work and be tuned. There's plenty of time to address clustering, etc. I am not sure to understand what clustering means here. Basically it means how close an elements of collection in memory - the closer, the better. Of course it only will have effect if you using collection for iterating over it (like do: etc).. But if you using it for random access, there's not much CPU hardware can do in order to optimize access to it, especially when speaking about very large collections with millions of entries. Thanks again for taking the time to answer questions. Alexandre Alexandre NB: I cc the mailing list to see whether other may help in understand better what’s going on with segment and generations -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 19, 2013, at 1:37 PM, Eliot Miranda eliot.mira...@gmail.com wrote: Hi Alexandre, On Mon, Nov 18, 2013 at 7:40 AM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi Eliot, Stef told me you are working hard on improving the Pharo VM. In particular making the VM support fragmented memory. If I understand correctly, this will relieve the VM from having a continuous block of memory to hold the whole image. Really cool! A better term is segmented memory. fragmentation in memory management means free space getting divided into too small pieces to be useful. I have a general question regarding VM. Are you aware of other Virtual machines supporting this? Does the Java VM support fragmented memory? .Net? V8? Any VM that uses the train algorithm supports segmented memory. Any VM that uses pools or regions uses segmented memory. VisualWorks' VM supports segments. I'm pretty sure that V8 .Net HotSpot provide segmented memory. I would like to mention this in a research paper I am working on. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- best, Eliot -- best, Eliot -- Best regards, Igor Stasenko.
Re: [Pharo-dev] 2 month Pharo break
Good luck! Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 26, 2013, at 8:24 AM, Camillo Bruni camillobr...@gmail.com wrote: Hi guys, I will cease my pharo activities for the next two months since I have to finish my thesis and I see myself too often distracted by pharo (consider this a good thing :). Of course I will remain available for emergency activities or any other urgent inquiries, please contact me directly in these cases. see you on the other side!
Re: [Pharo-dev] Understanding Roassal
Yes I am interested in Amber Roassal and also Roassal3d. Mostly on Amber Roassal because I want to target tablets and phones and since I have no desire to go through the App stores, javascript is my best option. We are in sync Another thing I have observed is that in all examples there is no anti-aliasing which I find very weird because my vector editor which uses Athens as well, has anti-aliased lines. Why is that ? Strange. Have you tried to execute “ROPlatform setCurrent: ‘athens’”. You can use the easel to set the Athens canvas. Else, simply use the Moose image, it comes with Athens and Roassal properly installed. I am very excited about Roassal , the more I look at the code and the documentation the more I realize how flexible it is. Thanks. We took care of having a lean and clean design. Although we are quite satisfied, it is far from representing our ideal yet. One think I would like to remove, is the rendering loop, having it just above Athens, but below Roassal. We will work on this in January I think. Is Roassal3d part of the Roassal project or is it an outside project ? It is a new and different project. Also do you plan integrating with Spec ? Will Roassal be a backend for Spec ? We have no plan for this right now. Glamour is well integrated with Roassal. It should be easy to do it with Spec. Alexandre On Mon, Nov 25, 2013 at 11:46 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi! So I took your advice and gave a good look to Roassal to learn more about how to use Athens. First I want to congratulate the coders, I was expecting a simple visualisation library for object graphs and what I see is a full blown graphics library that can be used for many diffirent kinds of graphical illustrations. Thanks for your nice words :-) I still however trying to understand the end goal of Roassal , is there an end goal or is it generally code visualisation ? The goal of Roassal is getting broader with the time. The main objective of Roassal is to be a platform for data visualisation. So, as soon as you have a bunch of data (e.g., plenty of numbers or any arbitrary objects), then Roassal should give you the tools to visualize and interact with your data. Roassal is slowly moving from a tool for end-user to a platform on which domain specific languages can be created. This is an important point when reusing visualizations (e.g., ROTreeMapBuilder, ROMapBuilder, ROMondrianViewBuilder are all compelling examples). Roassal is currently being ported to Amber, which will probably broaden the vision behind Roassal. Early examples may be found on: http://pestefo.github.io/roamber/# Also I wanted to ask if Roassal can do visual coding. By that I mean visualize not only objects but messages inside methods so the users with drag and drop code in a visual way. Yes, Roassal is made for that. If there is something that Roassal does not allow you to do, then let us know, we are a whole team ready to polish Roassal. I took a look at the examples but I see nowhere the use of bezier curves , why is that ? There is a few. Try: -=-=-=-=-=-=-=-=-=-=-=-= Source code: ROMondrianExamplebezierCurveOn: Preambule. It includes the initialization. | view rawView | rawView := ROView new. view := ROMondrianViewBuilder view: rawView. - - view shape circle size: 10. view nodes: (Collection withAllSubclasses). view shape bezierLine. view edgesFrom: #superclass. view radialTreeLayout. view center. - - Below is the initiation of the menu and opening the visualization ROEaselMorphic new populateMenuOn: view. view open -=-=-=-=-=-=-=-=-=-=-=-= Have a look at the class ROSplineExample It does not contains many examples, but you get enough to build appealing visualization (e.g., https://www.facebook.com/media/set/?set=a.511442275609041.1073741827.340543479365589type=3 ) More screenshots are available on: https://www.facebook.com/ObjectProfile Cheers, Alexandre
Re: [Pharo-dev] Understanding Roassal
Ah okay. Then, you need to load the package RoassalAthens from the repository of Roassal. But Smalltalkhub is down right now. Here is a mcz: https://dl.dropboxusercontent.com/u/31543901/TMP/RoassalAthens-AlexandreBergel.14.mcz Load this mcz file (e.g., drag and drop it in your Pharo window), then execute ROPlatform setCurrent: 'athens'. “ and you should get antialiasing. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 26, 2013, at 10:47 AM, kilon alios kilon.al...@gmail.com wrote: ROPlatform setCurrent: 'athens'. gives me - KeyNotFound: key 'athens' not found in Dictionary 'Athens' fails too. I can verify lack of anti-aliasing also on win7. I cant find an option to set anti-aliasing or Athens as backend in Easel . Loaded Roassal today with - Gofer new smalltalkhubUser: 'ObjectProfile' project: 'Roassal'; package: 'ConfigurationOfRoassal'; load. (Smalltalk at: #ConfigurationOfRoassal) load. the image I am using is version 30585. On Tue, Nov 26, 2013 at 2:23 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Yes I am interested in Amber Roassal and also Roassal3d. Mostly on Amber Roassal because I want to target tablets and phones and since I have no desire to go through the App stores, javascript is my best option. We are in sync Another thing I have observed is that in all examples there is no anti-aliasing which I find very weird because my vector editor which uses Athens as well, has anti-aliased lines. Why is that ? Strange. Have you tried to execute “ROPlatform setCurrent: ‘athens’”. You can use the easel to set the Athens canvas. Else, simply use the Moose image, it comes with Athens and Roassal properly installed. I am very excited about Roassal , the more I look at the code and the documentation the more I realize how flexible it is. Thanks. We took care of having a lean and clean design. Although we are quite satisfied, it is far from representing our ideal yet. One think I would like to remove, is the rendering loop, having it just above Athens, but below Roassal. We will work on this in January I think. Is Roassal3d part of the Roassal project or is it an outside project ? It is a new and different project. Also do you plan integrating with Spec ? Will Roassal be a backend for Spec ? We have no plan for this right now. Glamour is well integrated with Roassal. It should be easy to do it with Spec. Alexandre On Mon, Nov 25, 2013 at 11:46 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi! So I took your advice and gave a good look to Roassal to learn more about how to use Athens. First I want to congratulate the coders, I was expecting a simple visualisation library for object graphs and what I see is a full blown graphics library that can be used for many diffirent kinds of graphical illustrations. Thanks for your nice words :-) I still however trying to understand the end goal of Roassal , is there an end goal or is it generally code visualisation ? The goal of Roassal is getting broader with the time. The main objective of Roassal is to be a platform for data visualisation. So, as soon as you have a bunch of data (e.g., plenty of numbers or any arbitrary objects), then Roassal should give you the tools to visualize and interact with your data. Roassal is slowly moving from a tool for end-user to a platform on which domain specific languages can be created. This is an important point when reusing visualizations (e.g., ROTreeMapBuilder, ROMapBuilder, ROMondrianViewBuilder are all compelling examples). Roassal is currently being ported to Amber, which will probably broaden the vision behind Roassal. Early examples may be found on: http://pestefo.github.io/roamber/# Also I wanted to ask if Roassal can do visual coding. By that I mean visualize not only objects but messages inside methods so the users with drag and drop code in a visual way. Yes, Roassal is made for that. If there is something that Roassal does not allow you to do, then let us know, we are a whole team ready to polish Roassal. I took a look at the examples but I see nowhere the use of bezier curves , why is that ? There is a few. Try: -=-=-=-=-=-=-=-=-=-=-=-= Source code: ROMondrianExamplebezierCurveOn: Preambule. It includes the initialization. | view rawView | rawView := ROView new. view := ROMondrianViewBuilder view: rawView. - - view shape circle size: 10. view nodes: (Collection withAllSubclasses). view shape bezierLine. view edgesFrom: #superclass. view radialTreeLayout. view center. - - Below is the initiation of the menu and opening the visualization ROEaselMorphic new
Re: [Pharo-dev] Understanding Roassal
It is indeed. Athens offers a nice way to build path. Once this will be fully integrated in Roassal, we will have a flying machine. Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 26, 2013, at 11:52 AM, kilon alios kilon.al...@gmail.com wrote: yeap thank you , not only anti-aliasing works now but every look way cooler, looks like Athens is quite an enhancement. On Tue, Nov 26, 2013 at 4:14 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Ah okay. Then, you need to load the package RoassalAthens from the repository of Roassal. But Smalltalkhub is down right now. Here is a mcz: https://dl.dropboxusercontent.com/u/31543901/TMP/RoassalAthens-AlexandreBergel.14.mcz Load this mcz file (e.g., drag and drop it in your Pharo window), then execute ROPlatform setCurrent: 'athens'. “ and you should get antialiasing. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 26, 2013, at 10:47 AM, kilon alios kilon.al...@gmail.com wrote: ROPlatform setCurrent: 'athens'. gives me - KeyNotFound: key 'athens' not found in Dictionary 'Athens' fails too. I can verify lack of anti-aliasing also on win7. I cant find an option to set anti-aliasing or Athens as backend in Easel . Loaded Roassal today with - Gofer new smalltalkhubUser: 'ObjectProfile' project: 'Roassal'; package: 'ConfigurationOfRoassal'; load. (Smalltalk at: #ConfigurationOfRoassal) load. the image I am using is version 30585. On Tue, Nov 26, 2013 at 2:23 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Yes I am interested in Amber Roassal and also Roassal3d. Mostly on Amber Roassal because I want to target tablets and phones and since I have no desire to go through the App stores, javascript is my best option. We are in sync Another thing I have observed is that in all examples there is no anti-aliasing which I find very weird because my vector editor which uses Athens as well, has anti-aliased lines. Why is that ? Strange. Have you tried to execute “ROPlatform setCurrent: ‘athens’”. You can use the easel to set the Athens canvas. Else, simply use the Moose image, it comes with Athens and Roassal properly installed. I am very excited about Roassal , the more I look at the code and the documentation the more I realize how flexible it is. Thanks. We took care of having a lean and clean design. Although we are quite satisfied, it is far from representing our ideal yet. One think I would like to remove, is the rendering loop, having it just above Athens, but below Roassal. We will work on this in January I think. Is Roassal3d part of the Roassal project or is it an outside project ? It is a new and different project. Also do you plan integrating with Spec ? Will Roassal be a backend for Spec ? We have no plan for this right now. Glamour is well integrated with Roassal. It should be easy to do it with Spec. Alexandre On Mon, Nov 25, 2013 at 11:46 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi! So I took your advice and gave a good look to Roassal to learn more about how to use Athens. First I want to congratulate the coders, I was expecting a simple visualisation library for object graphs and what I see is a full blown graphics library that can be used for many diffirent kinds of graphical illustrations. Thanks for your nice words :-) I still however trying to understand the end goal of Roassal , is there an end goal or is it generally code visualisation ? The goal of Roassal is getting broader with the time. The main objective of Roassal is to be a platform for data visualisation. So, as soon as you have a bunch of data (e.g., plenty of numbers or any arbitrary objects), then Roassal should give you the tools to visualize and interact with your data. Roassal is slowly moving from a tool for end-user to a platform on which domain specific languages can be created. This is an important point when reusing visualizations (e.g., ROTreeMapBuilder, ROMapBuilder, ROMondrianViewBuilder are all compelling examples). Roassal is currently being ported to Amber, which will probably broaden the vision behind Roassal. Early examples may be found on: http://pestefo.github.io/roamber/# Also I wanted to ask if Roassal can do visual coding. By that I mean visualize not only objects but messages inside methods so the users with drag and drop code in a visual way. Yes, Roassal is made for that. If there is something that Roassal does not allow you to do, then let us know, we are a whole team ready to polish Roassal. I
Re: [Pharo-dev] Roassal Question
Does the following helps? -=-=-=-=-=-=-=-=-=-=-=-= | view shape morph | view := ROView new. 100 timesRepeat: [ shape := ROEllipse new size: 40; color: (Color green alpha: 0.5). view add: shape element ]. view elements do: [ :el | el translateTo: 500 atRandom @ 500 atRandom ]. morph := ROAthensMorph on: view. morph extent: 500 @ 500. morph openInWindow -=-=-=-=-=-=-=-=-=-=-=-= If you do not use Athens, then replace “ROAthensMorph” by “ROMorph” Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 26, 2013, at 12:51 PM, Goubier Thierry thierry.goub...@cea.fr wrote: Hi all, does anybody knows how to integrate a ROView inside a Morphic GUI ? Regards, Thierry -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
Re: [Pharo-dev] Roassal Question
Excellent! Let us know for any request for enhancement or bug fixes. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 26, 2013, at 4:20 PM, GOUBIER Thierry thierry.goub...@cea.fr wrote: Yes! I also found there is a ROPlatform thing I can query (not sure, the code is at work and I'm home). (I'm coupling a C ast + CFG + parallel task analysis displayed with Roassal with interaction with the source code under analysis on a text pane. I demoed it this morning to our partner) Thierry De : Pharo-dev [pharo-dev-boun...@lists.pharo.org] de la part de Alexandre Bergel [alexandre.ber...@me.com] Date d'envoi : mardi 26 novembre 2013 17:56 À : Pharo Development List Objet : Re: [Pharo-dev] Roassal Question Does the following helps? -=-=-=-=-=-=-=-=-=-=-=-= | view shape morph | view := ROView new. 100 timesRepeat: [ shape := ROEllipse new size: 40; color: (Color green alpha: 0.5). view add: shape element ]. view elements do: [ :el | el translateTo: 500 atRandom @ 500 atRandom ]. morph := ROAthensMorph on: view. morph extent: 500 @ 500. morph openInWindow -=-=-=-=-=-=-=-=-=-=-=-= If you do not use Athens, then replace “ROAthensMorph” by “ROMorph” Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 26, 2013, at 12:51 PM, Goubier Thierry thierry.goub...@cea.fr wrote: Hi all, does anybody knows how to integrate a ROView inside a Morphic GUI ? Regards, Thierry -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
Re: [Pharo-dev] Red Box of Doom when changing the Roassal Canvas of the Easle to Athens
Hi Kilon, You need to change the font of Pharo. World Menu/systems/settings/Appearance Select Use Free Font”. If it is selected, then unselect it and select it again. Change the source font of your image. Monaco is quite fine I find. Do your example again, you should not get the error anymore. Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 26, 2013, at 3:47 PM, kilon alios kilon.al...@gmail.com wrote: I get a MNU when I try to set Canvas in Easel (Roassal) to Athens. This is strange because I use also a very recent image and latest version from both Roassal and Athens at Win7 and I have no such problem. I am now on Macos 10.7 I had a similar problem when I tried to render text with Athens. Here is the stack. StrikeFont(Object)doesNotUnderstand: #glyphRendererOn: AthensCairoCanvassetFont: ROAthensCanvasdrawString:at:font:color: ROLabeldrawOn:for: in Block: [ :line | ... Array(SequenceableCollection)do: ROLabel(ROAbstractLabel)linesOf:do: ROLabeldrawOn:for: ROLabel(ROShape)chainedDrawOn:for: ROBorder(ROShape)chainedDrawOn:for: ROBox(ROShape)chainedDrawOn:for: ROElement(ROAbstractComponent)drawOn: ROViewStack(ROView)drawElementsOn: in Block: [ :n | n drawOn: canvas ] OrderedCollectiondo: ROViewStack(ROView)elementsToRenderDo: in Block: [ :assoc | assoc value do: aBlock ] OrderedCollectiondo: ROViewStack(ROView)elementsToRenderDo: ROViewStack(ROView)drawElementsOn: ROViewStackdrawOn: ROAthensMorphdrawOn: in Block: [ :cs | ... AthensCairoSurfacedrawDuring: in Block: [ ... BlockClosureensure: AthensCairoSurfacedrawDuring: ROAthensMorphdrawOn: FormCanvas(Canvas)draw: FormCanvas(Canvas)drawMorph: ROAthensMorph(Morph)fullDrawOn: in Block: [ ... FormCanvasroundCornersOf:in:during: FormCanvas(Canvas)roundCornersOf:during: ROAthensMorph(Morph)fullDrawOn: in Block: [ ... BlockClosureon:do:
Re: [Pharo-dev] Understanding Roassal
Hi! Is your team open to external contributions as well ? Yes, absolutely. Roassal already contains many contributions. I am still exploring 2 options a) to use Roassal as a way to learn Athens b) to use Roassal as a basis for my project I did not expect that you would take such a generic approach to graphics , but from what I see I cant find a reason why I should not be using Roassal. For the time being my whole focus is to create a Vector graphics editor, as you can imagine this means a designer for vector graphics which it could create a set of classes that could find their way back to Roassal. I dont want to reinvent the wheel and I really lke to coordinate effort with people with similar goals. Let us know how we can help... Cheers, Alexandre On Tue, Nov 26, 2013 at 5:14 PM, Alexandre Bergel alexandre.ber...@me.com wrote: It is indeed. Athens offers a nice way to build path. Once this will be fully integrated in Roassal, we will have a flying machine. Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 26, 2013, at 11:52 AM, kilon alios kilon.al...@gmail.com wrote: yeap thank you , not only anti-aliasing works now but every look way cooler, looks like Athens is quite an enhancement. On Tue, Nov 26, 2013 at 4:14 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Ah okay. Then, you need to load the package RoassalAthens from the repository of Roassal. But Smalltalkhub is down right now. Here is a mcz: https://dl.dropboxusercontent.com/u/31543901/TMP/RoassalAthens-AlexandreBergel.14.mcz Load this mcz file (e.g., drag and drop it in your Pharo window), then execute ROPlatform setCurrent: 'athens'. “ and you should get antialiasing. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 26, 2013, at 10:47 AM, kilon alios kilon.al...@gmail.com wrote: ROPlatform setCurrent: 'athens'. gives me - KeyNotFound: key 'athens' not found in Dictionary 'Athens' fails too. I can verify lack of anti-aliasing also on win7. I cant find an option to set anti-aliasing or Athens as backend in Easel . Loaded Roassal today with - Gofer new smalltalkhubUser: 'ObjectProfile' project: 'Roassal'; package: 'ConfigurationOfRoassal'; load. (Smalltalk at: #ConfigurationOfRoassal) load. the image I am using is version 30585. On Tue, Nov 26, 2013 at 2:23 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Yes I am interested in Amber Roassal and also Roassal3d. Mostly on Amber Roassal because I want to target tablets and phones and since I have no desire to go through the App stores, javascript is my best option. We are in sync Another thing I have observed is that in all examples there is no anti-aliasing which I find very weird because my vector editor which uses Athens as well, has anti-aliased lines. Why is that ? Strange. Have you tried to execute “ROPlatform setCurrent: ‘athens’”. You can use the easel to set the Athens canvas. Else, simply use the Moose image, it comes with Athens and Roassal properly installed. I am very excited about Roassal , the more I look at the code and the documentation the more I realize how flexible it is. Thanks. We took care of having a lean and clean design. Although we are quite satisfied, it is far from representing our ideal yet. One think I would like to remove, is the rendering loop, having it just above Athens, but below Roassal. We will work on this in January I think. Is Roassal3d part of the Roassal project or is it an outside project ? It is a new and different project. Also do you plan integrating with Spec ? Will Roassal be a backend for Spec ? We have no plan for this right now. Glamour is well integrated with Roassal. It should be easy to do it with Spec. Alexandre On Mon, Nov 25, 2013 at 11:46 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi! So I took your advice and gave a good look to Roassal to learn more about how to use Athens. First I want to congratulate the coders, I was expecting a simple visualisation library for object graphs and what I see is a full blown graphics library that can be used for many diffirent kinds of graphical illustrations. Thanks for your nice words :-) I still however trying to understand the end goal of Roassal , is there an end goal or is it generally code visualisation ? The goal of Roassal is getting broader with the time. The main objective of Roassal is to be a platform for data visualisation. So, as soon as you have
Re: [Pharo-dev] Red Box of Doom when changing the Roassal Canvas of the Easle to Athens
Have you tried to use the mouse distribution? https://ci.inria.fr/moose/job/moose-5.0/lastSuccessfulBuild/artifact/moose-5.0.zip Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 26, 2013, at 5:16 PM, kilon alios kilon.al...@gmail.com wrote: Nope I am afraid the problem remains. I went in Settings, did the select , unselect thing. Selected Monaco. Restored Roassal back to Morphic. Went to Easel , selected Canvas - Athens and I get the MNU and Red Box of Doom once again. Tried Times New Roman and Courier , same problem. On Tue, Nov 26, 2013 at 10:02 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi Kilon, You need to change the font of Pharo. World Menu/systems/settings/Appearance Select Use Free Font”. If it is selected, then unselect it and select it again. Change the source font of your image. Monaco is quite fine I find. Do your example again, you should not get the error anymore. Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 26, 2013, at 3:47 PM, kilon alios kilon.al...@gmail.com wrote: I get a MNU when I try to set Canvas in Easel (Roassal) to Athens. This is strange because I use also a very recent image and latest version from both Roassal and Athens at Win7 and I have no such problem. I am now on Macos 10.7 I had a similar problem when I tried to render text with Athens. Here is the stack. StrikeFont(Object)doesNotUnderstand: #glyphRendererOn: AthensCairoCanvassetFont: ROAthensCanvasdrawString:at:font:color: ROLabeldrawOn:for: in Block: [ :line | ... Array(SequenceableCollection)do: ROLabel(ROAbstractLabel)linesOf:do: ROLabeldrawOn:for: ROLabel(ROShape)chainedDrawOn:for: ROBorder(ROShape)chainedDrawOn:for: ROBox(ROShape)chainedDrawOn:for: ROElement(ROAbstractComponent)drawOn: ROViewStack(ROView)drawElementsOn: in Block: [ :n | n drawOn: canvas ] OrderedCollectiondo: ROViewStack(ROView)elementsToRenderDo: in Block: [ :assoc | assoc value do: aBlock ] OrderedCollectiondo: ROViewStack(ROView)elementsToRenderDo: ROViewStack(ROView)drawElementsOn: ROViewStackdrawOn: ROAthensMorphdrawOn: in Block: [ :cs | ... AthensCairoSurfacedrawDuring: in Block: [ ... BlockClosureensure: AthensCairoSurfacedrawDuring: ROAthensMorphdrawOn: FormCanvas(Canvas)draw: FormCanvas(Canvas)drawMorph: ROAthensMorph(Morph)fullDrawOn: in Block: [ ... FormCanvasroundCornersOf:in:during: FormCanvas(Canvas)roundCornersOf:during: ROAthensMorph(Morph)fullDrawOn: in Block: [ ... BlockClosureon:do:
Re: [Pharo-dev] Red Box of Doom when changing the Roassal Canvas of the Easle to Athens
ok i got the moose 5 image via pharolauncher and that solves the problem. However I see when I try bezierCurve example and try to move its elements around, morphic version is at least 4 times faster while the athens version is very slow. Why is that ? You are putting your finger on one big problem of Roassal. Roassal only loosely uses Athens. For example, the bezier line is composed of many small lines. With Morphic, I suspect that drawing 1000 times 1 line is as fast as drawing 1 times 1000 lines. In Athens, triggering a drawing takes times (since you need to define a path, and I guess the drawing is done by the graphic card). So, in Athens, drawing 1000 times 1 line, as it is done now with Bezier curve, is not really efficient. However, the good news is that I have a pretty good idea on how to fix this. Currently, Roassal does too much. It should not do the rendering loop. We soon plan to add a layer between Roassal and Athens to do the rendering loop. Thanks to this layer, all the good thing of Athens will be available in Roassal. In December I will lock myself in Igor office to extract all the juice of Athens. Alexandre On Tue, Nov 26, 2013 at 10:22 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Have you tried to use the mouse distribution? https://ci.inria.fr/moose/job/moose-5.0/lastSuccessfulBuild/artifact/moose-5.0.zip Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 26, 2013, at 5:16 PM, kilon alios kilon.al...@gmail.com wrote: Nope I am afraid the problem remains. I went in Settings, did the select , unselect thing. Selected Monaco. Restored Roassal back to Morphic. Went to Easel , selected Canvas - Athens and I get the MNU and Red Box of Doom once again. Tried Times New Roman and Courier , same problem. On Tue, Nov 26, 2013 at 10:02 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi Kilon, You need to change the font of Pharo. World Menu/systems/settings/Appearance Select Use Free Font”. If it is selected, then unselect it and select it again. Change the source font of your image. Monaco is quite fine I find. Do your example again, you should not get the error anymore. Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 26, 2013, at 3:47 PM, kilon alios kilon.al...@gmail.com wrote: I get a MNU when I try to set Canvas in Easel (Roassal) to Athens. This is strange because I use also a very recent image and latest version from both Roassal and Athens at Win7 and I have no such problem. I am now on Macos 10.7 I had a similar problem when I tried to render text with Athens. Here is the stack. StrikeFont(Object)doesNotUnderstand: #glyphRendererOn: AthensCairoCanvassetFont: ROAthensCanvasdrawString:at:font:color: ROLabeldrawOn:for: in Block: [ :line | ... Array(SequenceableCollection)do: ROLabel(ROAbstractLabel)linesOf:do: ROLabeldrawOn:for: ROLabel(ROShape)chainedDrawOn:for: ROBorder(ROShape)chainedDrawOn:for: ROBox(ROShape)chainedDrawOn:for: ROElement(ROAbstractComponent)drawOn: ROViewStack(ROView)drawElementsOn: in Block: [ :n | n drawOn: canvas ] OrderedCollectiondo: ROViewStack(ROView)elementsToRenderDo: in Block: [ :assoc | assoc value do: aBlock ] OrderedCollectiondo: ROViewStack(ROView)elementsToRenderDo: ROViewStack(ROView)drawElementsOn: ROViewStackdrawOn: ROAthensMorphdrawOn: in Block: [ :cs | ... AthensCairoSurfacedrawDuring: in Block: [ ... BlockClosureensure: AthensCairoSurfacedrawDuring: ROAthensMorphdrawOn: FormCanvas(Canvas)draw: FormCanvas(Canvas)drawMorph: ROAthensMorph(Morph)fullDrawOn: in Block: [ ... FormCanvasroundCornersOf:in:during: FormCanvas(Canvas)roundCornersOf:during: ROAthensMorph(Morph)fullDrawOn: in Block: [ ... BlockClosureon:do:
Re: [Pharo-dev] Coordinates problem with Athens and Morphic while coding Hyperion
Do you have more screenshots of Hyperion? Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 28, 2013, at 7:49 AM, kilon alios kilon.al...@gmail.com wrote: Ok I have verified and indeed its not an Athens problem. My bad. The position of the morph is reported at 5@30 and the not the correct 0@0. So it looks like Morphic for some strange reason it offsets it. I knew about translateBy but I did not know about restoreAfter. so thank you. I prefer my version of the code because it makes clearer what I am trying to do. However ideally because I am drawing a box inside another box the best way would be to follow your approach and scale the second box using one shape instead of two I am currently doing. But thats the price I am paying from not knowing exactly how to do this. Also trying to painstakingly find the correct transform and scale values requires A LOT of testing . This is why I find a vector editor for Athens and Pharo absolutely essential. No coding can beat designing via mouse. On the other hand I could use Inkscape and import the svg to Athens , which what I am about to research. Designing all GUI elements by code is a very bad idea, but no less a learning experience. I will most probably move to Roassal too. As always thanks for the help. On Thu, Nov 28, 2013 at 12:29 PM, Igor Stasenko siguc...@gmail.com wrote: well, by default the athens canvas coordinate system matches morphic one.. but you know, it always hard to be sure, especially if you perform any local coordinate transformations before that morph has any chance to draw itself.. You can figure this out easily: draw something at 0@0 and see where it is. then draw something at morph's x@y position and see it too. btw, you know you don't have to create same paths over and over. you can easily put static parts out of regularly (and costly) evaluated code: shape := canvas cacheAt: self morph ifAbsentPut: [ aCanvas createPath: [:path | path relative. no move-to here *** path moveTo: ((self position x )+5)@(self position y); lineTo: 20@0; cwArcTo: 5@5 angle: 45; lineTo: 0@20; cwArcTo: (-5)@5 angle: 45; lineTo: (-20)@0; cwArcTo: (-5)@(-5) angle: 45; lineTo: 0@(-20); cwArcTo: 5@(-5) angle: 45. ]. ]. and here we're using coordinate transform to translate origin point to given position, so it will be the starting point (0@0) of our shape canvas pathTransform restoreAfter: [ canvas pathTransform translateBy:((self position x )+5)@(self position y). canvas drawShape: shape. ] by analogy you can cache all static pieces, just do something: shapes := canvas cacheAt: self ifAbsentPut: [ self constructStaticShapesOn: aCanvas ] where #constructStaticShapesOn: must answer an array of them. On 28 November 2013 11:12, kilon alios kilon.al...@gmail.com wrote: wow you guys are fast at replying :) I did self changeProportionalLayout. editButton := HypEditButton new . editButton position: 0@0. self addMorph: editButton fullFrame: #(0 0 0 0 0 0 100 100). I am afraid Igor I still see no change with your code. I like to note here, that when I first created the editButton as morph , it indeed placed it in correct place. A 0@0 placed it in top left corner as expected. But I did overide its DrawOn: with an empty method and used my own method to render it with Athens. So it looks like the problem is Athens related and not Morphic related or maybe a disagreement between Morphic and Athens. just for the record here is the code I use to render the HypEditButton morph render:aCanvas |shape1 shape2 shape3 editButtonColor | shape1 := aCanvas createPath: [:path | path relative . path moveTo: ((self position x )+5)@(self position y); lineTo: 20@0; cwArcTo: 5@5 angle: 45; lineTo: 0@20; cwArcTo: (-5)@5 angle: 45; lineTo: (-20)@0; cwArcTo: (-5)@(-5) angle: 45; lineTo: 0@(-20); cwArcTo: 5@(-5) angle: 45. ]. shape2 := aCanvas createPath: [:path | path relative . path moveTo: ((self position x +7))@((self position y +3)); lineTo: 18@0; cwArcTo: 2@2 angle: 45; lineTo: 0@20; cwArcTo: (-2)@2 angle: 45; lineTo: (-20)@0; cwArcTo: (-2)@(-2) angle: 45; lineTo: 0@(-20); cwArcTo: 4@(-2) angle: 45. ]. shape3 := aCanvas createPath: [:path | path relative
Re: [Pharo-dev] Zeroconf on HN, please upvote.
I do not understand how to vote When I enter Zeroconf on HN” in the search field, I get 3 entries. Which one is yours? Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 28, 2013, at 7:56 AM, p...@highoctane.be wrote: https://news.ycombinator.com/newest
Re: [Pharo-dev] Coordinates problem with Athens and Morphic while coding Hyperion
So far you cannot import, but only export SVG in Roassal. I know Athens has an SVG importer, but I have faced some problems with it. Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Nov 29, 2013, at 2:58 PM, kilon alios kilon.al...@gmail.com wrote: Very true , now I am studying how to import , export and display svg files. Learning never stops and Roassal code is certainly helpful. On Friday, November 29, 2013, wrote: Stéphane Ducasse wrote: Ok I have verified and indeed its not an Athens problem. My bad. The position of the morph is reported at 5@30 and the not the correct 0@0. So it looks like Morphic for some strange reason it offsets it. I knew about translateBy but I did not know about restoreAfter. so thank you. I prefer my version of the code because it makes clearer what I am trying to do. However ideally because I am drawing a box inside another box the best way would be to follow your approach and scale the second box using one shape instead of two I am currently doing. But thats the price I am paying from not knowing exactly how to do this. Also trying to painstakingly find the correct transform and scale values requires A LOT of testing . This is why I find a vector editor for Athens and Pharo absolutely essential. No coding can beat designing via mouse. On the other hand I could use Inkscape and import the svg to Athens , which what I am about to research. Designing all GUI elements by code is a very bad idea, but no less a learning experience. I will most probably move to Roassal too. why? Just continue and learn. There is a lot to learn from Roassal :)
Re: [Pharo-dev] Coordinates problem with Athens and Morphic while coding Hyperion
No pb, I think I know how to fix this Alexandre Le 29-11-2013 à 17:47, Stéphane Ducasse stephane.duca...@inria.fr a écrit : So far you cannot import, but only export SVG in Roassal. I know Athens has an SVG importer, but I have faced some problems with it. and do not expect it to be fixed soon. Because we have other priorities. Stef
Re: [Pharo-dev] Pharo picture
Nice one :) Alexandre Le 02-12-2013 à 8:34, Yuriy Tymchuk yuriy.tymc...@me.com a écrit : Accidentally stumbled upon: http://www.deviantart.com/art/October-26-412316678 Have a nice week everyone! Uko
Re: [Pharo-dev] [Moose-dev] Re: Similarity Matrix
Really nice.In fact it would be great if we can plug the comparison between the xand y cells (which can be different).Because like that we get a simple matrix based comparator similar to theone of early paper of prejinshight work.This is the case actually.Consider this rather simple and small example:SimilarityMatrix new on: #('hello world' 'welcome to our world' 'hello means bonjour' 'bye bye') by: [ :m1 : m2 | (m1 substrings intersection: m2 substrings) size / ((1 max: (m1 substrings union: m2 substrings) size) + 1) "NB penalty for small methods" ]; gridViewThe output isIt visually says that ‘hello world’ is close to ‘welcome to out world’ and to ‘hello means bonjour’, because ‘hello’ and ‘world’ are in common.Alexandre
Re: [Pharo-dev] [Moose-dev] Roassal 3d now support textures
Better is to wait I arrive in Lille. Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Dec 3, 2013, at 6:49 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: On Dec 3, 2013, at 10:07 PM, Igor Stasenko siguc...@gmail.com wrote: On 3 December 2013 12:48, Stéphane Ducasse stephane.duca...@inria.fr wrote: did you move some functionality (to the place they belong) to NBOpenGL? Because this should be done and JB has already spent time on that. I am not sure it is good choice to expand NBOpenGL. There's just API, and most of code is generated (imported from specs), so changing something there makes little sense. Accompanying package , however , would be much better (in same repo, if you want). I was talking about shadder code Stef Stef hi! Just to keep you up to date with the Roassal 3d effort. https://www.facebook.com/photo.php?fbid=547995685287033set=a.529997903753478.1073741828.340543479365589type=3theater Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- Best regards, Igor Stasenko. ___ Moose-dev mailing list moose-...@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
[Pharo-dev] [ANN] Roassal 3d
Dear Friends and Colleagues, We are happy to (officially) announce Roassal 3d. Roassal 3d is about creating and animating 3d scenes. It is meant to visualize data. Roassal 3d recently got textures, translucence, additional layouts and various light models. It would be great to receive feedback. Ronie worked very hard on making Roassal3d happen. Milton has put quite some effort on writing documentation and writing examples. A very preliminary version of the documentation may be found on: https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf The screenshots contained in this documentation should convey an accurate feeling of what Roassal 3d is up to. Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. Simply open a workspace and do-it the following code: Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) loadDevelopment We are also looking for contributors to the documentation, we plan to have a book chapter on it. Get in touch with us! Thanks to Usman, Jean-Baptiste, Igor for their help and contributions. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [Moose-dev] [ANN] Roassal 3d
Would be great to do that. I guess we would easily get the latex version from this right? How should we start? Which Pier installation can we use for this? Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Dec 4, 2013, at 2:22 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: Alex what about taking the doc and turning it in pier syntax? Stef On Dec 4, 2013, at 2:29 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Dear Friends and Colleagues, We are happy to (officially) announce Roassal 3d. Roassal 3d is about creating and animating 3d scenes. It is meant to visualize data. Roassal 3d recently got textures, translucence, additional layouts and various light models. It would be great to receive feedback. Ronie worked very hard on making Roassal3d happen. Milton has put quite some effort on writing documentation and writing examples. A very preliminary version of the documentation may be found on: https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf The screenshots contained in this documentation should convey an accurate feeling of what Roassal 3d is up to. Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. Simply open a workspace and do-it the following code: Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) loadDevelopment We are also looking for contributors to the documentation, we plan to have a book chapter on it. Get in touch with us! Thanks to Usman, Jean-Baptiste, Igor for their help and contributions. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. ___ Moose-dev mailing list moose-...@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Re: [Pharo-dev] [ANN] Roassal 3d
Hi Stephan! Nice! Thanks! When loading the configuration as shown in the manual, there was a complaint about a class not found yet. Sorry about that. An incorrect version contained in a baseline went through our tests. The problem is now fixed. The examples showed up fine though. They look great. Thanks! The first one with the square/cube I couldn’t get the camera viewpoint to move to where I could see it was a cube. That worked much better with the later examples. The session management isn’t working out well: saving the image with an open view and quitting, the image crashed on restart. Yes! Next week I will be in Lille, I hope to fix this I’m looking forward to adding some 3D views to PetitDelphi. That would be truly amazing! Cheers, Alexandre
Re: [Pharo-dev] [ANN] Roassal 3d
3. Providing a script is so old style and hard to remember - why not define a #stable and put your config into MetaRepoForPharo30 So others can easily load it via ConfigurationBrowser with a few clicks in a fresh image. even better: have a jerkins build where people can download an image… That would be great. How to do this? Cheers, Alexandre
Re: [Pharo-dev] Pharo magic
Yes, this is great! Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Dec 6, 2013, at 3:05 PM, Torsten Bergmann asta...@gmx.de wrote: Maybe others noticed the same: - the numbers of closed issues is amazing(see the news on the homepage) - Pharo3.0 is already really usable and a pleasure to work with - more and more nice projects appear on STHub and elsewhere - more and more Pharo projects use continuous integration - most projects and packages are loadable from the config browser and other places without conflicting with each other - there is so much activity regarding Pharo these days on mailinglists, bug-tracker, twitter, conferences, blogs, stackoverflow, github ... it becomes hard to follow but this is a good sign - I see more and more fixes and improvements already as an update coming in before I really realize that an own bug is needed because it improves the situation - more and more new names appear on the dev and user mailinglist which is a good sign that there is growing interest - Pharo is on the right track and I like to be on the train Step by step it goes... Bye T.
Re: [Pharo-dev] Voronoi diagram
Hi! I have planned to have some people on having Voronoi in Roassal in March. Alexandre On 7 Dec 2013, at 13:59, Natalia Tymchuk natalia.tymc...@unikernel.net wrote: Hello. I started implementing visualization of Voronoi diagrams and I need to do a lot of operations on the lines and polygons. I have some questions: Is it implemented somewhere? Did somebody do something with the Voronoi diagrams? Best regards, Natalia
[Pharo-dev] Searchbar in the browser
Hi All, You may have noticed that Nautilus now has a search bar next to the list of packages. I personally find this extremely useful. This is the work of Juraj and he is interested in hearing your feedback. The textfield accepts regular expression. It means that entering “Roassal” will display all the packages having the word “Roassal” in it (e.g., RoassalExtra, ConfigurationOfRoassal). If I enter “^Roassal”, it displays all the packages that begin with “Roassal”. (e.g., RoassalExtra). Any idea how to make this feature more apparent? Anything else you want to see with the searching in the browser? Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Voronoi diagram
Hi! I have just integrated it. I was not sure whether you have finished it or not. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Dec 8, 2013, at 11:02 AM, Yuriy Tymchuk yuriy.tymc...@me.com wrote: Yeah, by the way, is my rectangle packing layout integrated? Uko On 08 Dec 2013, at 14:36, Alexandre Bergel alexandre.ber...@me.com wrote: Hi! I have planned to have some people on having Voronoi in Roassal in March. Alexandre On 7 Dec 2013, at 13:59, Natalia Tymchuk natalia.tymc...@unikernel.net wrote: Hello. I started implementing visualization of Voronoi diagrams and I need to do a lot of operations on the lines and polygons. I have some questions: Is it implemented somewhere? Did somebody do something with the Voronoi diagrams? Best regards, Natalia
Re: [Pharo-dev] [ANN] Roassal 3d
3. Providing a script is so old style and hard to remember - why not define a #stable and put your config into MetaRepoForPharo30 So others can easily load it via ConfigurationBrowser with a few clicks in a fresh image. Yes! You’re very right. Can you add me as a contributor to MetaRepoForPharo30 ? I need this to commit right? I added you, but I think you can also commit without since this is in group Pharo, so I think anyone who contributes to Pharo is able to contribute to the meta repo for configs Done :-) Roassal3d is loadable from the configuration browser Indeed, much easier! Thanks Torsten Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Voronoi diagram
Hi! I've tried to load the code, but the class Quadrangle is missing... :-( Alexandre On Dec 7, 2013, at 3:25 PM, Hernán Morales Durand hernan.mora...@gmail.com wrote: Check this out http://www.smalltalkhub.com/#!/~goonsh/Voronoi-2d-Diagram http://www.squeaksource.com/VoronoiDiagram.html There is also an old package implementing Voronoi diagrams also, I can have a look if you those are not enough for your needs. Cheers Hernán El 07/12/2013 13:59, Natalia Tymchuk escribió: Hello. I started implementing visualization of Voronoi diagrams and I need to do a lot of operations on the lines and polygons. I have some questions: Is it implemented somewhere? Did somebody do something with the Voronoi diagrams? Best regards, Natalia -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Searchbar in the browser
If I search for something, I always Shift-Enter and that works super. For the rest, there are menus and keyboard shortcuts. Actually, this is quite different. Shift-Enter this is for searching. The textfield in Nautilus is for filtering packages Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] New screenshots of Roassal 3d
Hi! We are uploaded new screenshots of Roassal 3d: https://www.facebook.com/media/set/?set=a.552518388168096.1073741834.340543479365589type=3 Roassal3d supports textures, new light model, using camera as a texture, … Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] About Athens and Cairo
Hi! I have some random questions about the Cairo binding supported by Athens. - the rendering is done by the graphic card isn’t it? - Once rendered, is the produced bitmap copied by the CPU in Pharo? With Roassal3d, we are facing a problem of performance because there is an unnecessary copy between the graphic card and the Form displayed by Pharo. I guess we have the same problem with Cairo. - Is there an example of clipping in Cairo? - Any idea how efficient the clipping is? I mean, will I gain a lot by not displaying elements located outside the visual part or should I leave the clipping do the job? Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] Searching classes cmd-f cmd-c
In the popup you obtain, you can enter a regular expression. So, if you enter ^Morph then you get the list of classes that begins with “Morph” I’ve just discovered this :-) Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] About Athens and Cairo
Le 14/12/2013 09:58, Alexandre Bergel a écrit : - the rendering is done by the graphic card isn’t it? I think it is sofware based, by the libcairo. Yes, but on http://cairographics.org it is written: Cairo is designed to produce consistent output on all output media while taking advantage of display hardware acceleration when available (eg. through the X Render Extension). Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] About Athens and Cairo
Thanks Kilon for the explanation. Alexandre On Dec 14, 2013, at 10:56 AM, kilon alios kilon.al...@gmail.com wrote: No cairo is not GPU accelerated , rendering is done by your CPU , but of course the graphic card is the one that display things. here is a detailed explanation - http://lists.cairographics.org/archives/cairo/2012-October/023609.html please note that even in the case of opengl backend I very much disagree that this is true hardware acceleration. What the opengl backend is doing is to render cairo surfaces as opengl textures. So even though the texture themselves are hardware accelerated and will even use the the memory of the GPU the process of rendering to the texture will happen solely on the CPU. So its more like a CPU library trying to be hardware accelerated. But even using the OS backends like Quartz is not quite the same. Because you still call C code and C code is executed by your CPU and that C code suppose to call GPU functions. Opengl speed is for the very reason of shaders meaning that it compiles programs that are run solely on the gpu hence true GPU acceleration. Saying that you should not be experiencing slow downs unless you were doing something really intense. I have seen benchmarks of Cairo and they are blazing fast. Usually slow down are primarily because of bad code. I have seen animation in athens take out 50% of my dual core and others only a 5%. Cant say I am sure what happens under the surface maybe Igor may offer a more detailed look into this. I do feel however that slow speed are 99% to be blamed on Pharo way of rendering things. Something similar happens for browsers, SVG is GPU accelerated, Javascript is super fast but it only takes the slowness of DOM (HTML) itself to bring the whole system on its knees. It only take one slow part to ruin the experience. I think a solution to this would be to bypass pharo rendering completely, create a new window and render directly to that window running Pharo headless. On Sat, Dec 14, 2013 at 10:58 AM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi! I have some random questions about the Cairo binding supported by Athens. - the rendering is done by the graphic card isn’t it? - Once rendered, is the produced bitmap copied by the CPU in Pharo? With Roassal3d, we are facing a problem of performance because there is an unnecessary copy between the graphic card and the Form displayed by Pharo. I guess we have the same problem with Cairo. - Is there an example of clipping in Cairo? - Any idea how efficient the clipping is? I mean, will I gain a lot by not displaying elements located outside the visual part or should I leave the clipping do the job? Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] Cleaning a surface/canvas in Athens
Hi! Just wondering. Isn’t a bit strange to have to do this in order to clean a surface: -=-=-=-= surface drawDuring: [:cs | surface clear. … ] -=-=-=-= Shouldn’t it be -=-=-=-= surface drawDuring: [:cs | cs clear. … ] -=-=-=-= instead? Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] strange bug when opening the morph menu
I am not sure how to reproduce this. I do not see anything slow Alexandre On Dec 14, 2013, at 11:10 AM, Tudor Girba tu...@tudorgirba.com wrote: Hi, Try this: 1. Execute Workspace open 2. Try to get the menu of the window == it opens just fine 1. Execute Workspace open label: (1 to: 100) asOrderedCollection asString 2. Try to get the menu of the window == it does not open properly (it opens large and it closes quickly) and the mouse remains in dragging mode I opened a bug report: https://pharo.fogbugz.com/f/cases/12426/Morph-menu-has-strange-behavior-when-the-Morph-label-is-too-large Does anyone have any idea of why it happens? Cheers, Doru -- www.tudorgirba.com Every thing has its own flow. -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] strange bug when opening the morph menu
Strange, I cannot reproduce the problem Alexandre On Dec 14, 2013, at 1:56 PM, Nicolai Hess nicolaih...@web.de wrote: Ah, that one. I thought you meant the window menu from the little arrow icon on the right. 2013/12/14 Tudor Girba tu...@tudorgirba.com What do you mean by slow? The problem is that the morph menu (Cmd+Shift+RightClick) does not open when the title is too large. Cheers, Doru On Sat, Dec 14, 2013 at 12:01 PM, Alexandre Bergel alexandre.ber...@me.com wrote: I am not sure how to reproduce this. I do not see anything slow Alexandre On Dec 14, 2013, at 11:10 AM, Tudor Girba tu...@tudorgirba.com wrote: Hi, Try this: 1. Execute Workspace open 2. Try to get the menu of the window == it opens just fine 1. Execute Workspace open label: (1 to: 100) asOrderedCollection asString 2. Try to get the menu of the window == it does not open properly (it opens large and it closes quickly) and the mouse remains in dragging mode I opened a bug report: https://pharo.fogbugz.com/f/cases/12426/Morph-menu-has-strange-behavior-when-the-Morph-label-is-too-large Does anyone have any idea of why it happens? Cheers, Doru -- www.tudorgirba.com Every thing has its own flow. -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- www.tudorgirba.com Every thing has its own flow -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] GTDebugger...
Apparently it does not recognizes variables in a workspace. This is really annoying... Try this: var := 5. self halt in the debugger, select var and print it Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Similarity Matrix
The SimilarityMatrix is meant to work with one set of elements, which is the same in column and horizontal. Instead of having one class, SimilarityMatrix, we should have a framework to easily build matrixes. In your case, you simply want a matrix with a smart way of coloring. I am interesting in having such matrix. How do we proceed? Are you ready for a pair programming session these next days? I am now in Lille by the way, where are you? Alexandre On Dec 15, 2013, at 9:29 PM, Hernán Morales Durand hernan.mora...@gmail.com wrote: El 15/12/2013 13:30, Alexandre Bergel escribió: Hi Hernan, In that case, I suggest you to define your own builder to build the matrix you need. I have given a try, but I cannot properly parse your data. The problem is about separating column (is it 4 or 5 white spaces?). Having a “,” would help. That should be a paste problem, matrix elements were delimited by tab. I was thinking more in terms of re-using the SimilarityMatrix by making it polymorphic with a Matrix, i.e.: | rawDataMatrix dataMatrix rowArray | rawDataMatrix := '1,0.130,0.132,0.130 ,1,0.195,0.487 ,,1,0.195 ,,,1'. Build an Array for joining all rows in raw data matrix rowArray := (NeoCSVReader on: rawDataMatrix readStream) upToEnd gather: [ : c | c ]. Then create a Matrix dataMatrix := Matrix new rows: 4 columns: 4 contents: rowArray. Instead of passing a comparison block, let's just take the values in the data matrix SimilarityMatrix new on: dataMatrix; viewMatrix I gave a try, as you can see with the script below. It produces the following: Each box gives its value when the mouse is above. -=-=-= -=-=-= -=-=-= -=-=-= -=-=-= | view f blockSize shape values el | values := ' a1a2a3a4a5a6a7a8a9 a10a11a12a13a14a15a16a17a18a19 a20a21 a110.1300.1320.1300.1580.1890.1300.022 1.0000.0620.0830.0610.0800.0590.1491.000 0.0980.1610.1091.000 a2 10.1950.4870.2200.2201.0000.060 0.1300.1180.2340.2340.2240.2000.6220.130 0.3420.2350.4250.1300.000 a3 10.1950.4640.4640.1950.0730.132 0.1160.1140.2560.1090.0850.1330.1320.105 0.3200.1710.1320.000 a4 10.2200.1900.4870.0600.130 0.1180.1600.2340.1540.1320.3950.1300.342 0.2350.4250.1300.000 a510.5000.2200.0710.1580.195 0.2200.3890.2090.1820.1560.1580.1620.417 0.2250.1580.000 a6 10.2200.0710.1890.114 0.1360.2820.1300.1060.1560.1890.1320.360 0.1670.1890.000 a7 10.0600.1300.118 0.2340.2340.2240.2000.6220.1300.3420.235 0.4250.1300.000 a8 10.0220.1560.104 0.0820.1000.1000.0190.0220.0950.0880.061 0.0220.028 a910.0620.083 0.0610.0800.0590.1491.0000.0980.1610.109 1.0000.000 a10 10.5410.140 0.3720.2830.0730.0620.1110.1390.1430.062 0.025 a11 10.160 0.7140.5790.1760.0830.1330.2000.1630.083 0.024 a12 10.154 0.1320.1760.0610.3080.2350.2390.0610.000 a131 0.6760.1700.0800.1280.1890.1570.0800.023 a14 10.1480.0590.1280.1580.1350.0590.023 a15 10.1490.2620.1580.3410.1490.000 a16 10.0980.1610.1091.0000.000 a17 10.2070.3160.0980.000 a18 10.2060.1610.000 a19 10.1090.000 a20 10.000 a21 1 ' lines collect: [ : line | line trimBoth findTokens: '' ]. blockSize := 10. view := ROView new. values do: [ :lineOfValues | lineOfValues do: [ :v | shape := ROBox new size: blockSize; color: Color white. f := [Float readFrom: v readStream] ifError: [ -1 ]. f = 0 ifTrue: [ shape color: (Color gray: f) ]. el := shape elementOn: f. el @ ROPopup. view add: el ]. We fill the remaining of the line with white boxes. We need to have the same amount of boxes for all the lines (values
Re: [Pharo-dev] [Moose-dev] [ANN] traversal-enabled objects with DeepTraverser
This is a short and well post! I would have imagined more transversal are in the VM. I know Roassal has some Alexandre On Dec 16, 2013, at 12:47 AM, Tudor Girba tu...@tudorgirba.com wrote: Hi, I looked a bit at the existing hardcoded traversal methods in a Pharo/Moose image. To detect it, I used a traversal. Perhaps this can also be useful for people that want to teach what a traversal is, or what an analysis is, so I wrote a blog post about it: http://www.humane-assessment.com/blog/looking-for-hardcoded-traversal-methods Cheers, Doru On Sat, Dec 14, 2013 at 3:44 PM, Mariano Martinez Peck marianop...@gmail.com wrote: On Wed, Dec 11, 2013 at 12:21 PM, Tudor Girba tu...@tudorgirba.com wrote: Hi, I put together a little implementation for traversals. It is inspired by an original implementation from Mariano. Wow... my memory is sooo bad I don't remember ;) Using DeepTraverser, you can traverse arbitrary graphs by describing the traversal and by specifying the actions you want to perform on the nodes and relations. Once (or even more times) we thought with Martin 2 things: 1) Reify the traversal in Fuel so that we could plug a different one. 2) Use Fuel only for traversing and allowing user a hook to plug the what to do with each node. 3) Use the same traversal of 2) for deepCopying 4) Use the same traversal of 2) to get an approximate memory consumption of the transitive closure of an object But as always happened we run out of time. Anyway...I think this is a nice area to explore. There are many uses for a nice traverser. Also, did you see we wrote a Rossal extension to print the fuel traversal? http://rmod.lille.inria.fr/web/pier/software/Fuel/Version1.9/Documentation/Debugging The code is available in the Moose image as part of the MooseAlgos subproject, but can also be loaded separately in a Pharo image via: Gofer new url: 'http://www.smalltalkhub.com/mc/Moose/DeepTraverser/main'; package: ‘ConfigurationOfDeepTraverser’; load. (Smalltalk globals at: #ConfigurationOfDeepTraverser) loadDevelopment. Just to give you an idea, here are some representative examples: Number deep: #subclasses do: [:each | Transcript show: each; cr]. Number deepCollect: #subclasses. Number deep: #subclasses collect: #name. Number deep: #subclasses do: [:each | Transcript show: each; cr] relationDo: [ :from :to | Transcript show: from; show: ' -- '; show: to; cr ]. More details about the usages and a little description of the implementation can be found here: http://www.humane-assessment.com/blog/traversal-enabled-pharo-objects/ Cheers, Doru -- www.tudorgirba.com Every thing has its own flow -- Mariano http://marianopeck.wordpress.com -- www.tudorgirba.com Every thing has its own flow ___ Moose-dev mailing list moose-...@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [ANN] Phratch 1.0beta
Impressive!!! Alexandre On Dec 16, 2013, at 10:45 PM, jannik.laval jannik.la...@gmail.com wrote: Hi, I continue to develop Phratch, the port of Scratch in Pharo. Phratch is a visual programming language on top of Pharo. There are lots of new features: - Settings - FileSystems - Metacello - integration of BYOB (allows to build your own blocks) - integration of Color and Files - a lot of new useful blocks - projects saved with Fuel - possibility to implement new features without modifying the core of the system - possibility to customize the environment: add new categories, add new kinds of Sprite, add new blocks. Phratch is available for Pharo2.0 with the following configuration: — Gofer it url: 'http://smalltalkhub.com/mc/JLaval/Phratch/main' username: '' password: ''; package: 'ConfigurationOfPhratch'; load. ((Smalltalk at: #ConfigurationOfPhratch) project version: '1.0') load. (Smalltalk at: #PhratchFrameMorph) open perform: #saveImageForEndUserSilently. — I hope to write documentations about all of the new features asap. You can follow Phratch here: http://car.mines-douai.fr/category/phratch/ and here : https://code.google.com/p/phratch/ Cheers, Jannik -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] Relation tower is coming for Roassal
Hi! A new builder for Roassal is coming… The goal of Relation tower is to easily visualize relations between group of elements. We had the inspiration from the following website http://peoplemov.in/#! Here are some screenshots: https://www.facebook.com/media/set/?set=a.559114290841839.1073741837.340543479365589type=3 If you like these screenshots, then you know where the like button is :-) We will have this visualization on the web, thanks to our smooth and nice Pharo2Amber migration process. Any idea on how to extend/apply Relation tower? Any set of data you want us to play with? Your data? Feedback are very welcome! Cheers, Ricardo Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [ANN] JetStorm
Wow! Go go go! Some people at the University of Chile are closely looking at what you are doing... Alexandre On Dec 18, 2013, at 10:09 AM, jannik.laval jannik.la...@gmail.com wrote: Hi all, Another announcement for Christmas. Do you know Lego MindStorms ? The last one is the Ev3 serie (http://www.lego.com/fr-fr/mindstorms/). One particularity of this version compared to the previous ones is the possibility to plug a Wifi key and connect via TCP. So, if you have this material (one Mindstorms Ev3, one compatible Wifi key), a wireshark to obtain the TCP port to connect to Ev3 (See the process here, only to understand why we need a wireshark to know the port: http://www.monobrick.dk/guides/how-to-establish-a-wifi-connection-with-the-ev3-brick/). Now, you can control your robot with Pharo ! Just load these lines: — Gofer it url: 'http://smalltalkhub.com/mc/JLaval/JetStorm/main' username: '' password: ''; package: 'ConfigurationOfJetStorm'; load. (Smalltalk at: #ConfigurationOfJetStorm) loadBleedingEdge. — I know also that for Christmas, it is not possible to learn a new API, we all have a lot of other things to do ! So, you can play with it into Phratch. For that, just load Phratch and the package EV3Phratch as following. — Gofer it url: 'http://smalltalkhub.com/mc/JLaval/Phratch/main' username: '' password: ''; package: 'ConfigurationOfPhratch'; load. (Smalltalk at: #ConfigurationOfPhratch) loadBleedingEdge. Gofer it url: 'http://smalltalkhub.com/mc/JLaval/JetStorm/main' username: '' password: ''; package: 'EV3Phratch'; load. — Have fun ! Jannik PS: for now, this package in prototype, it can change a lot and can have bugs. Do not hesitate to give feedbacks. PS2: I hope to write a doc for it ! ev3.png -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] WhatsUp from: 2013-12-16 until: 2013-12-31
- Continuing Roassal 2.0 pushing your fixes to the collection hierarchy? Yes, I am working on that right now Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Great Sprint Yesterday!
It was indeed a great fun! Thanks to all the organizers! Alexandre On Dec 21, 2013, at 9:03 AM, Marcus Denker marcus.den...@inria.fr wrote: Hi, The Pharo Sprint yesterday was great! We fixed *a lot* (maybe 25-30 issues?). Not everything is integrated yet… Here are some Photos: https://plus.google.com/photos/100919417187170499293/albums/5959633435911723617 Bb8Hn4YIUAEcPWo.jpg-large.jpegIMG_2920.jpegIMG_2925.jpeg -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [Moose-dev] Activity Diagram
As far as I know, there is nothing like this, however we are quite interested in visualizing activity diagrams. Roassal should support this kind of diagram. In addition, we have two code profilers framework to extract the execution (Gadget and Spy). I will be happy to beta-test any code that goes in that direction. Kind regards, Alexandre On Dec 23, 2013, at 3:39 PM, Serge Stinckwich serge.stinckw...@gmail.com wrote: Dear all, with a colleague from Savoie University, we are looking for some Smalltalk code in order to model, execute and animate Activity Diagram. Any existing works ? Regards, -- Serge Stinckwich UCBN UMI UMMISCO 209 (IRD/UPMC) Every DSL ends up being Smalltalk http://www.doesnotunderstand.org/ ___ Moose-dev mailing list moose-...@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] Filter in Nautilus
Hi! I have the impression that it would be great to reuse the filter lastly set when opening a new nautilus. For example, if I have a browser with the filter ^Roassal2|^Trach”, I would like to have the same when opening a new browser. Am I the only one to feel this? Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] Merry Christmas!
Merry Christmas to all of you! In a fresh 3.0 image: -=-=--=-=--=-=--=-=--=-=- Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) loadDevelopment -=-=--=-=--=-=--=-=--=-=- Then do it: -=-=--=-=--=-=--=-=--=-=- | view text x y el r | text := ' xx xx x x x x xx x x x x x x xx xxxx x x x x x x x x x xx x x x x x xx x x x x x x x x xxx xxx x x x xx x x x x x x x x x x x x x x x x x x xx x x x x x x x x x x x x x x x x x x x xx x x x x x '. view := R3View new. x := 0. y := 0. mat := R3Material new diffuse: Color lightGray. mat specular: Color green. mat shininess: 10.0. text linesDo: [ :line | line do: [ :c | (c = $x) ifTrue: [ el := (R3CubeShape new color: Color green) element. el on: R3MouseClickDown do: [ :evt | R3Blink on: evt element. r := (R3Rotate on: evt element by: (R3Vector3 newX: -0.5)). view addAnimation: r ]. el translateByX: x y: y negated z: 0. view add: el ]. x := x + 1 ]. x := 0. y := y + 1. ]. view lightingModel: R3MultipassPerPixelLighting new. view addInteraction: R3MouseControl new; addInteraction: R3KeyControlForMac new. view open -=-=--=-=--=-=--=-=--=-=- Use keys: W A S D Click on letters Enjoy! Cheers, The Profilers -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Merry Christmas!
By the way your graphic eats away 90% of my dual core 1.4 Cpu. Have to close the window because it overheats my macbook air almost immediately. Strange, does not happen to me. I have a recent macbook air. Anyway, this is not surprising. Alexandre On Wed, Dec 25, 2013 at 10:05 AM, Alexandre Bergel alexandre.ber...@me.com wrote: Merry Christmas to all of you! In a fresh 3.0 image: -=-=--=-=--=-=--=-=--=-=- Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) loadDevelopment -=-=--=-=--=-=--=-=--=-=- Then do it: -=-=--=-=--=-=--=-=--=-=- | view text x y el r | text := ' xx xx x x x x xx x x x x x x xx xxxx x x x x x x x x x xx x x x x x xx x x x x x x x x xxx xxx x x x xx x x x x x x x x x x x x x x x x x x xx x x x x x x x x x x x x x x x x x x x xx x x x x x '. view := R3View new. x := 0. y := 0. mat := R3Material new diffuse: Color lightGray. mat specular: Color green. mat shininess: 10.0. text linesDo: [ :line | line do: [ :c | (c = $x) ifTrue: [ el := (R3CubeShape new color: Color green) element. el on: R3MouseClickDown do: [ :evt | R3Blink on: evt element. r := (R3Rotate on: evt element by: (R3Vector3 newX: -0.5)). view addAnimation: r ]. el translateByX: x y: y negated z: 0. view add: el ]. x := x + 1 ]. x := 0. y := y + 1. ]. view lightingModel: R3MultipassPerPixelLighting new. view addInteraction: R3MouseControl new; addInteraction: R3KeyControlForMac new. view open -=-=--=-=--=-=--=-=--=-=- Use keys: W A S D Click on letters Enjoy! Cheers, The Profilers -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Merry Christmas!
Oh!! Well spotted! Alexandre Le 25-12-2013 à 11:25, Sven Van Caekenberghe s...@stfx.eu a écrit : People keep on forgetting that you can write this load expression much more elegantly: === Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; configuration; loadDevelopment. ===
[Pharo-dev] Disease model?
Hi serge Is your code about the disease is available somewhere? Alexandre
Re: [Pharo-dev] Transparent colors with NBOpenGL?
Ronie, You mention libSDL. Do you know how it compares with Cairo? They look similar, but I could not find a detailed comparison Alexandre Le 26-12-2013 à 0:12, Ronie Salgado ronies...@gmail.com a écrit : Stef That sounds very interesting. I dream of a virtual world environment such as Second Life, highly dynamic and completely open source. But currently I would like to do a simple video game, with toon like graphic, using bullet for physics. I think that making an actual game development pipeline would be very interesting. I would not create a full level editor, modeling software because it takes too much time, and there is Blender which is open source and very complete. Some tasks required are as follow: - An easy way to make bindings for C++ libraries. For this I am going to start extending SWIG(http://www.swig.org/) so it can generate bindings for Pharo NativeBoost. - Bindings for the Bullet physics engine(http://bulletphysics.org/wordpress/). With the extensions for swig, this is trivial. - An importer for COLLADA. COLLADA is a XML based asset exchange format, with a wide support in different 3d model editors, such as Blender. - For Linux, a new VM display module is required. The current that uses just X11 suffers of severe tearing and flickering. I would like to make a display module for the VM that uses SDL2, which is a cross platform library that supports hardware accelerated graphics, or cross platform creation of an OpenGL context. - I think that garbage collection would require some determinism/time constraint or write some guidelines to avoid triggering the gargbage collector. When I'm testing the particles, I can see some noticeable pause, that I attribute to the garbage collector. Greetings, Ronie Salgado 2013/12/25 Stéphane Ducasse stephane.duca...@inria.fr Ronie I was talking about 3D with Igor (because Igor came to Smalltalk because he wanted to use it as a game engine and built rendering engine in Pascal long long time ago :). So I was brainstorming to see what you could do. the last time alex show roassal 3D we were thinking that it would be good to build a kickstarter show case on something sexy (maybe bridging a physical model to 3D)…. Now what would like to build with NBOpenGL? What are your dreams and how could we slice them into tasks that could be reached in a limited amount of time. Stef
Re: [Pharo-dev] Transparent colors with NBOpenGL?
Thanks Ronie for these explanation Alexandre On Dec 26, 2013, at 7:52 AM, Ronie Salgado ronies...@gmail.com wrote: Alex, libSDL and libSDL2 are low-level multi-media libraries designed for games. Those libraries are best suited for basic pixel blitting, some lines and rect in a cross platform way. Both libraries allows you to use a custom software rendering or create a window in a cross-platform way. As for Cairo, that's a full featured vector graphics library, practically designed for SVG rendering. So, those two libraries cannot be compared, but I think that Cairo can be used to render into a texture and then use SDL to display it on screen. Actually, I don't have any experience with Cairo. As for the VM, I was looking at his Unix platform module, suspecting that the tearing and flickering was caused by using just XLib for blitting the main pharo window after Milton told that those issues aren't seen in Windows. If we add to the mix some always buggy AMD drivers, it seems that the solution goes by rewriting the display to uses OpenGL for blitting the main window, with VSync enabled, or using a separate native window for OpenGL graphics. By the way, what I found most strange about display VM code is that there's support for creating an OpenGL context already in place, with an accompanying -glxdebug flag, for verbose output. When I tried that option, I didn't get any output, so I could assume that these is not used for fast blitting under Linux. As for SDL2, it provides all the required facilities for a VM display module, without having to deal with X11 or platform specifics. Window creation, multiple OpenGL context creation, clipboard handling, input support, multi-threading, sound support, drag and drop. That version of SDL had a strong contribution by Valve, they needed something to start pushing heavily Linux, even the latest versions of Steam uses it. Anyway, I am planning to discuss this matter with Igor, during my stay at Lille. Greetings, Ronie Salgado 2013/12/26 Alexandre Bergel alexandre.ber...@me.com Ronie, You mention libSDL. Do you know how it compares with Cairo? They look similar, but I could not find a detailed comparison Alexandre Le 26-12-2013 à 0:12, Ronie Salgado ronies...@gmail.com a écrit : Stef That sounds very interesting. I dream of a virtual world environment such as Second Life, highly dynamic and completely open source. But currently I would like to do a simple video game, with toon like graphic, using bullet for physics. I think that making an actual game development pipeline would be very interesting. I would not create a full level editor, modeling software because it takes too much time, and there is Blender which is open source and very complete. Some tasks required are as follow: - An easy way to make bindings for C++ libraries. For this I am going to start extending SWIG(http://www.swig.org/) so it can generate bindings for Pharo NativeBoost. - Bindings for the Bullet physics engine(http://bulletphysics.org/wordpress/). With the extensions for swig, this is trivial. - An importer for COLLADA. COLLADA is a XML based asset exchange format, with a wide support in different 3d model editors, such as Blender. - For Linux, a new VM display module is required. The current that uses just X11 suffers of severe tearing and flickering. I would like to make a display module for the VM that uses SDL2, which is a cross platform library that supports hardware accelerated graphics, or cross platform creation of an OpenGL context. - I think that garbage collection would require some determinism/time constraint or write some guidelines to avoid triggering the gargbage collector. When I'm testing the particles, I can see some noticeable pause, that I attribute to the garbage collector. Greetings, Ronie Salgado 2013/12/25 Stéphane Ducasse stephane.duca...@inria.fr Ronie I was talking about 3D with Igor (because Igor came to Smalltalk because he wanted to use it as a game engine and built rendering engine in Pascal long long time ago :). So I was brainstorming to see what you could do. the last time alex show roassal 3D we were thinking that it would be good to build a kickstarter show case on something sexy (maybe bridging a physical model to 3D)…. Now what would like to build with NBOpenGL? What are your dreams and how could we slice them into tasks that could be reached in a limited amount of time. Stef -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Relation tower is coming for Roassal
Hi Hernán, Can you send me privately some data that I can try? If you want to do some modeling, I would suggest to use Moose and use Roassal for the visualization. We can do a pair programming session on this if you wish. My Skype id is alexandre.bergel Cheers, Alexandre On Dec 26, 2013, at 9:48 PM, Hernán Morales Durand hernan.mora...@gmail.com wrote: Hi Tudor, Thanks for the clarification. Can you comment or point a link for the mechanism to transform my data for Roassal? Because if you want to visualize big data like population or association studies input is sometimes millions of rows. Of course I am not asking you to write my parsers :) Cheers, Hernán 2013/12/26 Tudor Girba tu...@tudorgirba.com Hi Hernán, The input should be independent from the visualization engine. Roassal offers you a way of transforming your objects into a visualization and it should not be responsible for the input formats. Cheers, Doru On Thu, Dec 26, 2013 at 9:28 PM, Hernán Morales Durand hernan.mora...@gmail.com wrote: Hi Alexandre and Ricardo, I am glad to see your advances in Roassal visualization! I wonder which input formats do you plan to support? Your relation tower can be used to visualize the crossover percentages between haplotype blocks. For example, here are some Haplotypes drawings from Haploview (http://en.wikipedia.org/wiki/Haploview) which may interest you: http://www.jnsbm.org/viewimage.asp?img=JNatScBiolMed_2012_3_2_139_101887_f13.jpg from this paper http://www.jnsbm.org/temp/JNatScBiolMed32139-5367486_145434.pdf http://www.mailund.dk/wp-content/uploads/2010/04/haplotypes.png http://www.mailund.dk/wp-content/uploads/2010/04/journal.pone_.0010207.g005.png I can send you the exported haplotypes from a study if you are interested. It contains 131 blocks which is somewhat big to attach to this list. The only problem I see is that a parser is needed to parse the Haplotype text output file, although the format should not be difficult to parse. Cheers, Hernán 2013/12/17 Alexandre Bergel alexandre.ber...@me.com Hi! A new builder for Roassal is coming… The goal of Relation tower is to easily visualize relations between group of elements. We had the inspiration from the following website http://peoplemov.in/#! Here are some screenshots: https://www.facebook.com/media/set/?set=a.559114290841839.1073741837.340543479365589type=3 If you like these screenshots, then you know where the like button is :-) We will have this visualization on the web, thanks to our smooth and nice Pharo2Amber migration process. Any idea on how to extend/apply Relation tower? Any set of data you want us to play with? Your data? Feedback are very welcome! Cheers, Ricardo Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- www.tudorgirba.com Every thing has its own flow -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Thank you for Pharo
Hi Volkert, 2011 i gave me a push to learn Pharo and last year i decided to do a small research prototype with it. The goal is a tool to analyze and visualize application landscapes. I have implemented a small repository model for the different architecture levels, some data analytic rules on top the model, and some model visualizations. For visualization i use Roassal/Mondrian. For Data-In/-Export i use simply NeoCSV. Next year i plan to add more data analytic rules, to add model transformation operations to simulate landscape transformations (projects), and to use 3D visualizations with Roassal3D (City Metaphor). If all works fine, we see what 2015 brings … Do you have any screenshot you would like to share? Work in progress is fine. We will push Roassal 3d very very hard over the coming months. If you have some particular requests, feel free to tell us Pharo is really a productivity boost for me. If you are able to play around with the objects in an interactive environment life is getting so much easier. That is very true - Roassal3D (Roassal is so col, one of the killer frameworks for Pharo). Thanks for your nice words! Best wishes! Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] Call for features for Roassal 3d
Hi! Ronie will visit Igor and RMoD for more than one month, starting next week. Roassal 3d will be our daily plate. Broad question: What are the features you would like to see in Roassal 3d? Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] [fun] Editing graphic vectorial content
Just to share a 10 min coding session, just before lunch. Result here: https://www.facebook.com/photo.php?fbid=564129843673617set=a.341189379300999.82969.340543479365589type=1theater code: -=-=-=-=-=-=-=-= | view stack selected statusBar | stack := ROViewStack new. view := ROView new. selected := nil. statusBar := nil. view on: ROMouseClick do: [ :evt | selected == #line ifTrue: [ | ex1 ex2 line | ex1 := (ROBox new size: 10; color: (Color purple alpha: 0.2)) element. ex2 := (ROBox new size: 10; color: (Color purple alpha: 0.2)) element. ex1 translateTo: evt position. ex2 translateTo: evt position + (100 @ 60). ex1 @ ROLightlyHighlightable. ex2 @ ROLightlyHighlightable. ex1 @ RODraggable. ex2 @ RODraggable. line := (ROLine new width: 3; color: (Color blue alpha: 0.2)) elementFrom: ex1 to: ex2. view addAll: { ex1 . ex2 . line }. ]. selected == #circle ifTrue: [ | ellipse | ellipse := (ROEllipse new size: 40; color: (Color yellow alpha: 0.2)) element. ellipse translateTo: evt position. ellipse @ RODraggable. view add: ellipse. ]. selected == #rectangle ifTrue: [ | box | box := (ROBox new width: 40; height: 30; color: (Color blue alpha: 0.2)) element. box translateTo: evt position. box @ RODraggable. view add: box. ]. view signalUpdate. ]. view @ RODraggable. stack zoomInButton; zoomOutButton. stack addMenu: '+ line' callBack: [ :evt | selected := #line. statusBar model: 'line' ]. stack addMenu: '+ rectangle' callBack: [ :evt | selected := #rectangle. statusBar model: 'rectangle' ]. stack addMenu: '+ circle' callBack: [ :evt | selected := #circle. statusBar model: 'circle' ]. stack addMenu: 'Info' callBack: [ :evt | UIManager default inform: 'Vectorial editing is hyper cool' ]. stack addView: view. stack title: 'Vectorial edition'. Status bar at the bottom of the window statusBar := (ROElement new) + ROLabel + ROBox white. stack add: statusBar. ROConstraint stickAtTheBottomOfTheWindow: statusBar. stack open -=-=-=-=-=-=-=-= Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] debugger broken?
Hi! I have faced a serious situation with the debugger today with Pharo 3.0: 1 - Open a workspace, and doit on the expression: 1 + 4. self halt 2 - Open the debugger, select with the mouse the expression 1 + 4 and press Cmd-p 3 - the debugger apparently consider the word halt as a variable. https://pharo.fogbugz.com/f/cases/12545/Debugger-broken Since I am using GTDebugger (in the Moose image), I have not seen it before... Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] towards moose in the pharo ide (gtinspector / gtdebugger)
I am quasi exclusively using the Moose image, which includes GTDebugger and GTInspector. These are two great tools. I use the standard Pharo 3.0 for particular needs only. When I do this, it is like using Nautilus and coming back to OB (or even the old standard browser). GTDebugger and GTInspector are great. I like them. Alexandre On Dec 30, 2013, at 2:24 AM, Tudor Girba tu...@tudorgirba.com wrote: Hi, Some of you asked how the GTInspector and GTDebugger are different from the existing infrastructure. They are quite different from the norm in that: they are tiny, and they are highly extensible. Here are some posts that describe what makes them different: http://www.humane-assessment.com/blog/the-moldable-gtinspector-deconstructed/ http://www.humane-assessment.com/blog/dissecting-the-gtinspector/ http://www.humane-assessment.com/blog/extending-variables-shown-in-gtinspector/ http://www.humane-assessment.com/blog/moldable-gtdebugger These tools are already the default development tools in the Moose image. As you can see, Moose is reshaping the Pharo IDE. I think this is exciting. This should be just the beginning. To make it better, we need your energy: - Apply and extend these tools for your context (this is what makes them unique). - Tell us what works and what does not work. - Ideally, start working with us on this topic. In particular, I am looking for people that would like to spend some time working on Morphic widgets. It's your turn now. Cheers, Doru -- www.tudorgirba.com Every thing has its own flow -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] debugger broken?
Thanks Nicolai Alexandre Le 30-12-2013 à 19:37, Nicolai Hess nicolaih...@web.de a écrit : Actually it is the text selection that is broken, caused by 12144 and will be fixed with 12521 (waits for integration). BTW, I don't know if it is platform related, but on windows you can actually use CMD-P (ALT-P) for print it, just using print it from the menu does not work. Nicolai 2013/12/30 Alexandre Bergel alexandre.ber...@me.com Hi! I have faced a serious situation with the debugger today with Pharo 3.0: 1 - Open a workspace, and doit on the expression: 1 + 4. self halt 2 - Open the debugger, select with the mouse the expression 1 + 4 and press Cmd-p 3 - the debugger apparently consider the word halt as a variable. https://pharo.fogbugz.com/f/cases/12545/Debugger-broken Since I am using GTDebugger (in the Moose image), I have not seen it before... Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] towards moose in the pharo ide (gtinspector / gtdebugger)
Hey! What is the browser you are using? Looks really cool! Alexandre On Dec 31, 2013, at 10:55 AM, NISHIHARA Satoshi goo...@gmail.com wrote: now, i am trying to use it for personal experimental project. 2013/12/31 Tudor Girba tu...@tudorgirba.com: Thank you, Alex. Doru On Mon, Dec 30, 2013 at 11:40 PM, Alexandre Bergel alexandre.ber...@me.com wrote: I am quasi exclusively using the Moose image, which includes GTDebugger and GTInspector. These are two great tools. I use the standard Pharo 3.0 for particular needs only. When I do this, it is like using Nautilus and coming back to OB (or even the old standard browser). GTDebugger and GTInspector are great. I like them. Alexandre On Dec 30, 2013, at 2:24 AM, Tudor Girba tu...@tudorgirba.com wrote: Hi, Some of you asked how the GTInspector and GTDebugger are different from the existing infrastructure. They are quite different from the norm in that: they are tiny, and they are highly extensible. Here are some posts that describe what makes them different: http://www.humane-assessment.com/blog/the-moldable-gtinspector-deconstructed/ http://www.humane-assessment.com/blog/dissecting-the-gtinspector/ http://www.humane-assessment.com/blog/extending-variables-shown-in-gtinspector/ http://www.humane-assessment.com/blog/moldable-gtdebugger These tools are already the default development tools in the Moose image. As you can see, Moose is reshaping the Pharo IDE. I think this is exciting. This should be just the beginning. To make it better, we need your energy: - Apply and extend these tools for your context (this is what makes them unique). - Tell us what works and what does not work. - Ideally, start working with us on this topic. In particular, I am looking for people that would like to spend some time working on Morphic widgets. It's your turn now. Cheers, Doru -- www.tudorgirba.com Every thing has its own flow -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- www.tudorgirba.com Every thing has its own flow -- -- NISHIHARA Satoshi [:goonsh :nsh | ^ nishis perform: goonsh with: nsh] moose.jpg -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Best wishes for 2014
Happy new year!! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= | view txt x y el shape size offset | txt := ' x x xxx x x x x xx x x x x x x xx x xx x xx x x x x x x x x x '. view := ROView new. x := 0. y := 0. size := 20. offset := 100 @ 100. txt linesDo: [ :line | y := y + 1. line do: [ :c | x := x + 1. c = $x ifTrue: [ shape := (ROEllipse new size: size; color: (Color purple)). el := shape element. el translateTo: (800 atRandom @ 450 atRandom). el on: ROMouseEnter do: [ :evt | ROColorAlphaFading new for: evt element nbCycles: 100 ]. view add: el. ROLinearMove new nbCycles: 50; for: el to: ((x * size) @ (y * size) + offset) ] ]. x := 0. ]. view openInWindowSized: 800 @ 450 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= If you do not have Roassal loaded: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Gofer new smalltalkhubUser: 'ObjectProfile' project: 'Roassal'; package: 'ConfigurationOfRoassal'; load. (Smalltalk at: #ConfigurationOfRoassal) load -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Cheers, Alexandre On Dec 31, 2013, at 3:53 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: Hi pharoers Sometimes I think that we are crazy to build this system but this is really important to have dreams and make them becoming true. :) I really like what we are doing: we are building a strong community and a really great system. Of course it could be better but it is going in the right direction at full speed. Now remember that Pharo is not ours but YOURS and you can get an impact! Pharo is not read-only. This year we got some nice and important changes. I think that in 2014 we will have some important improvements. We will have to finish what we started and build a solid ground for the next iteration. I really like our community because it pushes me forward and because my dreams are becoming reality :) I wish you a lot of success and health. Stef -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Thank you for Pharo
Roassal is about visualizing and interacting with objects. Roassal is frequently used when analyzing data, in particular software related data. Roassal may be used as it is, or one can use one of the available layers at the top of it. For example, GraphET is about drawing charts, curves and so on. Alexandre Le 02-01-2014 à 7:48, Volkert Barr volk...@nivoba.de a écrit : On 01.01.2014, at 19:26, Stéphane Ducasse stephane.duca...@inria.fr wrote: I understand that community support is needed, and yes i am willing to help. As a first step i can offer my help to test pharo features, help to write test cases, write some example code snippets, open bug reports. But i am not sure what Pharo features or libraries i should put my focus on. Any suggestions where to dig in? Excellent! Thanks. I suggest that you focus on what you like or what you want to learn and do it step by step. Stef I would like to understand ui and graphics programming in Pharo. I have found different ui related libraries, but not really understand how they all relate to each other, what their purposes and what will be part of future Pharo Versions and what not. Spec Glamour UIManager Polymorph FreeType Keymapping Multilingual Morphic Graphics Balloon Athens NBOpenGL BW, Volkert
Re: [Pharo-dev] Glamour vs Spec (was: towards moose in the pharo ide (gtinspector / gtdebugger))
, but it can be very concise for expressing browsers. The way this works is via this component model. Essentially, a browser can be described as a set of components that can pass data to each other. Glamour lets you model that. It so happens that the inspector and the debugger are browsers and can be expressed at that level. It also so happens that most user interfaces that programmers use can be expressed as browsers, too. And Glamour was actually validated for hundreds of various browsers (literally), so it seems it can support a large set of use cases. If you want to learn more about Glamour you can read the chapters from: - http://deepintopharo.org, or - http://www.themoosebook.org/book/internals/glamour If you want to see where Glamour fits within Moose, you can read this post: http://www.humane-assessment.com/blog/moose-custom-analyses-made-easy Doru -- www.tudorgirba.com Every thing has its own flow -- www.tudorgirba.com Every thing has its own flow -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] Feature for request for GraphET?
Hi! Daniel is looking for usage scenarios with GraphET. It would be great to hear about your need. Currently, we will work on: - PDF Export using Artefact - support for legend - smarter way to put labels on axis Anything else? Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] debugger broken?
Cool! Alexandre On Jan 2, 2014, at 4:59 PM, Tudor Girba tu...@tudorgirba.com wrote: Indeed, I tried in the latest Pharo and it seems to work just fine there, too. Doru On Thu, Jan 2, 2014 at 8:57 PM, Marcus Denker marcus.den...@inria.fr wrote: On 02 Jan 2014, at 20:49, Tudor Girba tu...@tudorgirba.com wrote: Yes, it worked. I just tried in a #30664 image. Ok, then my guess is that this is a special case that nobody has yet run into… maybe related to contexts that had been serialised? Doru On Thu, Jan 2, 2014 at 8:36 PM, Marcus Denker marcus.den...@inria.fr wrote: On 02 Jan 2014, at 20:25, Sebastian Sastre sebast...@flowingconcept.com wrote: Evaluating works now but I'm seeing this on #30668 doing cmd-s to accept code changes did it ever work on Pharo3? Just to know if this is a regression... Screen Shot 2014-01-02 at 5.09.41 PM.png On Dec 31, 2013, at 5:56 AM, Stéphane Ducasse stephane.duca...@inria.fr wrote: Alex this is not the debugger this is the selection Have a look at issue 12144 load it and tell us. Now we have a problem of instability of the latest vm on our servers so the integration is stalled. I spent 3 hours yesterday trying to move on and we will rollback to an older VM. Stef On 30 Dec 2013, at 23:02, Alexandre Bergel alexandre.ber...@me.com wrote: Hi! I have faced a serious situation with the debugger today with Pharo 3.0: 1 - Open a workspace, and doit on the expression: 1 + 4. self halt 2 - Open the debugger, select with the mouse the expression 1 + 4 and press Cmd-p 3 - the debugger apparently consider the word halt as a variable. https://pharo.fogbugz.com/f/cases/12545/Debugger-broken Since I am using GTDebugger (in the Moose image), I have not seen it before... Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- www.tudorgirba.com Every thing has its own flow -- www.tudorgirba.com Every thing has its own flow -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] stroke width in Athens
Hi!Apparently, the width (in pixels) of a stroke in athens seems to vary with the size of the path. Am I right?For example, I have the following rendering:There is just one code to draw a box, which is: athensCanvas pathTransform restoreAfter: [ athensCanvas pathTransform translateBy: rectangle center; scaleBy: rectangle extent / 2. athensCanvas setPaint: color; drawShape: self path. strokePaint ifNotNil: [ (athensCanvassetStrokePaint: strokePaint) width: 0.1.athensCanvas drawShape: path ] ]Having a width of 1 makes a very large border.Do I miss something?Cheers,Alexandre--_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:Alexandre Bergel http://www.bergel.eu^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] stroke width in Athens
to make stroke width unaffected by scale, you obviously will need to scale it down by same factor as you scaled geometry i.e.: canvas pathTransform scaleBy: factor. strokePaint width: myWidth/factor. Thanks Igor! This works like a charm. I have been intensively working with Athens for a bit more than 3 weeks. I enjoy it very very much. Thanks Igor for all this excellent work! Alexandre On 3 January 2014 17:08, Igor Stasenko siguc...@gmail.com wrote: Right: scaling scales everything not just geometry. this is intentionally done so, that you have a uniform way to scale up/down whole scenery i.e. if you want to render same scene but 2 times bigger , just put 'scaleBy: 2' before and you done, and it will be exactly 2 times bigger (as if you zoomed-in the image in your graphics editor, except from losing picture quality and having aliasing effects ;) . On 3 January 2014 16:11, Alexandre Bergel alexandre.ber...@me.com wrote: Very true! looks like to be the thing. Thanks! Alexandre On Jan 3, 2014, at 11:12 AM, Henrik Johansen henrik.s.johan...@veloxit.no wrote: On 03 Jan 2014, at 1:58 , Alexandre Bergel alexandre.ber...@me.com wrote: Hi! Apparently, the width (in pixels) of a stroke in athens seems to vary with the size of the path. Am I right? For example, I have the following rendering: Screen Shot 2014-01-03 at 9.54.29 AM.png There is just one code to draw a box, which is: athensCanvas pathTransform restoreAfter: [ athensCanvas pathTransform translateBy: rectangle center; scaleBy: rectangle extent / 2. athensCanvas setPaint: color; drawShape: self path. strokePaint ifNotNil: [ (athensCanvas setStrokePaint: strokePaint) width: 0.1. athensCanvas drawShape: path ] ] Having a width of 1 makes a very large border. Do I miss something? Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. Well yes, you are using scaleBy:. That scaling applies to the stroke width of the path as well, I’d imagine... Cheers, Henry -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- Best regards, Igor Stasenko. -- Best regards, Igor Stasenko. -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] FogBugz (Case [Issue]12566) Kernel - Added Behavior#dependentClasses
Hi! I have proposed a method BehaviordependentClasses, but apparently the Monkey is not really happy about it. I doubt the error in the generated report stems from this change. https://ci.inria.fr/pharo/job/Pharo-3.0-Issue-Validator/6734//artifact/validationReport.html No idea how to proceed from there. Cheers, Alexandre On Jan 5, 2014, at 6:42 AM, Pharo Issue Tracker do-not-re...@pharo.fogbugz.com wrote: Ulysse The Galactic Monkey From Outer Spaceedited Case 12566: Added Behavior#dependentClasses: Bug in Kernel: 1. Pharo Image Issue Validation Failed: https://ci.inria.fr/pharo/job/Pharo-3.0-Issue-Validator/6734//artifact/validationReport.html Errors: 1 | Warnings: 1 | Status changed: Resolved (Monkey is checking)Work Needed (Failing Test) Priority: 5 – Fix If Time Status: Work Needed (Failing Test) Assigned to: Alexandre Bergel Milestone: Pharo3.0 Go to Case Don't want FogBugz notifications anymore? Update your preferences. -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [Moose-dev] Concerts of Iron Maiden Analyzed
alex did you see the idea I send to use a nearly similar “linear” block based aligned on the left visualziaion to display procedural code? Not sure what you mean. Any example? Alexandre On 05 Jan 2014, at 00:40, Alexandre Bergel alexandre.ber...@me.com wrote: Load Roassal to enjoy Dowser, a relational tower visualization. The following expression relates the year and locations of Iron Maiden’s concerts: RODowserExample new example10 Screen Shot 2014-01-04 at 8.40.07 PM.png More Screenshots available on: https://www.facebook.com/media/set/?set=a.567893596630575.1073741840.340543479365589type=1 Thanks Ricardo for this excellent piece of work! Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. ___ Moose-dev mailing list moose-...@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [Moose-dev] Concerts of Iron Maiden Analyzed
Having circles on the left or right hand side? Alexandre On Jan 5, 2014, at 1:23 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: On 05 Jan 2014, at 15:26, Alexandre Bergel alexandre.ber...@me.com wrote: alex did you see the idea I send to use a nearly similar “linear” block based aligned on the left visualziaion to display procedural code? Not sure what you mean. Any example? fgfg h And we could have links between them in a nice way. Imagine that is a procedure and that the arrows are the calls it does. Alexandre On 05 Jan 2014, at 00:40, Alexandre Bergel alexandre.ber...@me.com wrote: Load Roassal to enjoy Dowser, a relational tower visualization. The following expression relates the year and locations of Iron Maiden’s concerts: RODowserExample new example10 Screen Shot 2014-01-04 at 8.40.07 PM.png More Screenshots available on: https://www.facebook.com/media/set/?set=a.567893596630575.1073741840.340543479365589type=1 Thanks Ricardo for this excellent piece of work! Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. ___ Moose-dev mailing list moose-...@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Can we override == in Pharo ?
You may need to do this if you are using proxies. Alexandre On Jan 6, 2014, at 8:52 AM, Igor Stasenko siguc...@gmail.com wrote: On 6 January 2014 10:56, Clément Bera bera.clem...@gmail.com wrote: Hello, here I have a class A== ^ true Now: a := A new. b := A new. a == b Answers false a perform: #== with: b Answers true Do I have to remove the usage of the byte code for #== in the compiler to be able to override == ? may i ask why you need to override it? -- Best regards, Igor Stasenko. -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] Teaser of Roassal 2
Hi! We’ve just uploaded a very short video about layouts in Roassal2. https://www.facebook.com/photo.php?v=572267689526499set=vb.340543479365589type=2theater A video presenting Roassal2 is under preparation. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Teaser of Roassal 2
Very nice. So is Roassal2 somewhat just Roassal3D under another banner? Or is there more to it? I really liked the cluster layout. Is that in Roassal1? Roassal2 is a complete revamp of Roassal1: Athens based, faster, viva animation model, framework to build domain specific languages Roassal 3d is a complete different beast, although the idea is similar. Cluster layout is in Roassal 1 yes. This is the work of Mathieu. Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Displaying labels with Athens on Linux?
The following expression seems to reproduce the problem AthensCairoSurfaceExamples exampleDrawText On windows and OSX it works well. On Linux it crashes Alexandre On Jan 13, 2014, at 5:58 PM, Igor Stasenko siguc...@gmail.com wrote: On 13 January 2014 14:53, Alexandre Bergel alexandre.ber...@me.com wrote: Hi! Sergio is experiencing some serious problem when displaying labels in Athens? The VM just crashes. Any idea what we can do? i still didn't had time to look at it. i will try to look at it with Ronie tomorrow, luckily he runs on linux box. it would be nice if you can give a short piece of code which (re)produces the crash. Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- Best regards, Igor Stasenko. -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Displaying labels with Athens on Linux?
Ok, thanks Igor. This is really important for us to have Athens working well :-) I will soon start my lecture on software quality, and I will have about 10 or 20 students working with it. Alexandre On Jan 14, 2014, at 12:57 PM, Igor Stasenko siguc...@gmail.com wrote: On 14 January 2014 16:28, Alexandre Bergel alexandre.ber...@me.com wrote: The following expression seems to reproduce the problem AthensCairoSurfaceExamples exampleDrawText On windows and OSX it works well. On Linux it crashes yes.. more details: we just tried with Damien on his machine, which has more recent version of Ubuntu, and we got the crash.. on my version everything works well.. in this regard i suspecting Cairo library.. i going to install fresh version of ubuntu and try things there. Alexandre On Jan 13, 2014, at 5:58 PM, Igor Stasenko siguc...@gmail.com wrote: On 13 January 2014 14:53, Alexandre Bergel alexandre.ber...@me.com wrote: Hi! Sergio is experiencing some serious problem when displaying labels in Athens? The VM just crashes. Any idea what we can do? i still didn't had time to look at it. i will try to look at it with Ronie tomorrow, luckily he runs on linux box. it would be nice if you can give a short piece of code which (re)produces the crash. Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- Best regards, Igor Stasenko. -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- Best regards, Igor Stasenko. -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Roassal Visualization for control flow graph issues
Hi Clément, Thanks for your nice words. Layouts provided by Roassal are well known generic algorithm. Creating a new layout is not complicated at all. Just subclass ROLayout and override the hook methods. Creating a layout for your need is not easy. Have you tried to google for a layout? If you find one, it should be rather easy to implement it. Alexandre On Jan 14, 2014, at 12:50 PM, Clément Bera bera.clem...@gmail.com wrote: Hello Roassal developers, A few time ago Usman Bhatti showed me Roassal. Today I decided to use it for my daily work on a project that aims to optimize Pharo's methods. Firstly I am quite impressed by the quality of Roassal, I am currently using the Roassal + Mondrian builder and I have a visual representation which is very close to what I want after 1 hour of work with the help of Usman. Good job guys. Here are 2 examples of what I use: exampleIfTrueIfFalse2 | a b | a := true. a ifTrue: [ false ifTrue: [ ^ b := 1 ] ifFalse: [ b := 2 ] ] ifFalse: [ true ifTrue: [ b := 4 ] ifFalse: [ b := 5 ] ]. ^ b Screen Shot 2014-01-14 at 4.14.49 PM.png Here there's one rectangle for each basic block, entrance/exits are basic blocks with bigger borders, and borders in red represents the hot path, which the path the execution flow most frequently uses (based on native code counters added at some spots in the method by Cogit). Another example: exampleToDo 1 to: 10 do: [ :i | self kick: i ] Screen Shot 2014-01-14 at 4.36.47 PM.png Now I have a few issues with the layout. I am currently using the narrowTreeLayout which seems to be the best for my visualisation. issue 1: When branches merges, which is in a tree when a node has 2 or more parents, or when I have a #ifTrue:ifFalse:, the child is not well aligned horizontally. Here in the first visualisation I showed, BasicBlock 5 is below but not in the middle of Basic block 8,7 and 4 (horizontally). I put a minimal width for each basic block to make it better but it's still not perfect. issue 2: (most important issue) I cannot display back jumps because then all the graph is missdrawn, therefore I need to remember where they are instead of visualizing them all the time (I cannot display the back jump from basic block 3 to basic block 2 in the second representation. In addition, the back jump edge, when well displayed, overlaps the basic blocks visualizations. Here is an example of what I would like for the edges and basic block positions: Screen Shot 2014-01-14 at 4.27.32 PM.png As you can see, here exit is in the middle of B2 and B5 horizontally, which is not the case in my roassal visualization. In addition, there's a back jump from B6 to B4 that I cannot display (or all the visual representation goes nuts). The edge for the back jump does not overlap with the basic blocks. In this graph, arrows follow a grid. I don't care that arrows are diagonals instead of a mix of horizontal and vertical lines but I would like to be able to see nicely the back jumps as in this graph. Do you have an idea on what layout/view options I could use with Roassal +Mondrian to have a better result ? I tried to create my own layout but after 2 hours I understood this cost too much time for my planning (or perhaps I'm just too dumb to do it fast :-( ). Anyway, the representation I have now is good enough for me to use it. But a better one would be better, especially for back jumps :-). Thanks for any help. Clement -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [Moose-dev] Re: Feature for request for GraphET?
Screenshot 2014-01-04 22.36.40.png Cheers, Doru -- www.tudorgirba.com Every thing has its own flow -- www.tudorgirba.com Every thing has its own flow -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] problems with RPackage and cie...
Hi! We are constantly facing problems when moving classes between packages. This is highly discouraging. This involves tricky parts of the system that both difficult to understand and to debug. Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] problems with RPackage and cie...
Do you have an issue on that? Or does it happens just when moving classes from any package to another? I do not know. I do not see on https://pharo.fogbugz.com how I can list issues that contains the RPackage and that are still open. The problems we are facing usually involves having more than one browser opened, dragging classes from one browser to another browser. Hard to be more accurate because students are calling me to the rescue when they are already in the mess. We can put images online if this help. Alexandre Thierry Le 15/01/2014 16:34, Alexandre Bergel a écrit : Hi! We are constantly facing problems when moving classes between packages. This is highly discouraging. This involves tricky parts of the system that both difficult to understand and to debug. Alexandre -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] problems with RPackage and cie...
Ben had to define the method on the class RPackage: forceRefreshClassDefinedSelectors | dict | dict := Dictionary new. self definedClasses do: [ :e || set | set := Set new. e protocols select: [ :p | (p beginsWith: '*') not ] thenDo: [ :p | (e methodsInProtocol: p) do: [ :m | set add: m selector ] ]. dict at: e name put:set ]. classDefinedSelectors := dict Alexandre On Jan 15, 2014, at 12:59 PM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: We are also facing some RPackage cache not in sync anymore with system leading to the impossibility to commit the code :( Ben On 15 Jan 2014, at 12:56, Goubier Thierry thierry.goub...@cea.fr wrote: Le 15/01/2014 16:46, Alexandre Bergel a écrit : Do you have an issue on that? Or does it happens just when moving classes from any package to another? I do not know. I do not see on https://pharo.fogbugz.comhow I can list issues that contains the RPackage and that are still open. The problems we are facing usually involves having more than one browser opened, dragging classes from one browser to another browser. Hard to be more accurate because students are calling me to the rescue when they are already in the mess. We can put images online if this help. Ok, this could be in Nautilus. I was drag and dropping in AltBrowser and couldn't see anything wrong, but I'm not exercising the same code paths on RPackage than Nautilus does. As far as AltBrowser goes, recompiling the class with a new system category is picked up fine (apart from the disappearing tag). Thierry Alexandre Thierry Le 15/01/2014 16:34, Alexandre Bergel a écrit : Hi! We are constantly facing problems when moving classes between packages. This is highly discouraging. This involves tricky parts of the system that both difficult to understand and to debug. Alexandre -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] dependency of Roassal 2 visualized
Hi! Just to share the result of a small experiment we did: https://www.facebook.com/photo.php?fbid=573528489400419set=a.573528479400420.1073741841.340543479365589type=3theater Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] STHub: 1190 repositories, 1001 users registered and 110365 packages uploaded
Truly beautiful. You’re raising some challenges for Roassal2 and Roassal2@Amber Alexandre On Jan 16, 2014, at 10:00 PM, Yuriy Tymchuk yuriy.tymc...@me.com wrote: Yes, have you seen it, http://yuriy.tymchuk.me/Smalldromeda/ ? On 17 Jan 2014, at 00:32, Torsten Bergmann asta...@gmx.de wrote: see http://smalltalkhub.com -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Phratch: first tutorial on how to create your own blocks programmatically
no screenshot? Alexandre On Jan 17, 2014, at 2:09 PM, jannik laval jannik.la...@gmail.com wrote: Dear lists, as requested, I wrote a small tutorial. The tutorial is here: http://car.mines-douai.fr/2014/01/624/ You are welcome to comment and to fix my english :) Cheers -- ~~Jannik Laval~~ École des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu http://car.mines-douai.fr/ -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Displaying labels with Athens on Linux?
I suspected a big pain, but not that much. Thanks guys! Alexandre On Jan 17, 2014, at 5:16 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: For normal humans you do not convey the pain behind …. here is the answer I got from the two amigos igor and ronie that looked at the problem We debugged in both machines at the same time. Installed some debug symbols, looking at the libpixman source code. Disassembling and looking some instructions. When I saw the use of intrinsics in the source code, I started to suspect a bit of the alignment of some stuff and when Igor, found the segmentation fault causing instruction movdqa (Move double-quadword aligned), it was clear that it was a stack alignment issue. Checking the Intel manual confirmed this and I asked about whose responsible for aligning the stack, suspecting it was a problem with the library not conforming to the ABI. Then, Igor remembered how to change the stack alignment in native boost and it worked. This is why having people with such knowledge around is key to let us (the smart cosy smalltalkers) having fun with our cool language. Stef Fix integrated. in 3.0 704 -- Best regards, Igor Stasenko. -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] ConfigurationOfGetText broken?
What GetText is all about? http://smalltalkhub.com/#!/~PharoExtras/Gettext does not help much Alexandre On Jan 17, 2014, at 7:42 AM, Usman Bhatti usman.bha...@gmail.com wrote: Hello, It seems that some recent changes in the ConfigurationOfText have broken the loading in the Pharo 3.0. I'm loading GetText with the following script in my config. spec project: 'GetText' with: [ spec className: 'ConfigurationOfGettext'; file: 'ConfigurationOfGettext'; loads: #('Core' ); version: '1.3'; tried #development too repository: 'http://smalltalkhub.com/mc/PharoExtras/Gettext/main']. I get this error whatever version I put. 'The version ''1.3'' is not defined in ConfigurationOfGettext for the current platform, because an exception occurred while creating the version:. Error: The imported version:''1.1-baseline'' for version: 1.3 referenced from the method: #version13: in configuration ConfigurationOfGettext has not been defined.. Evaluate the following to see the error: ''[ConfigurationOfGettext project ] on: MetacelloErrorInProjectConstructionNotification do: [:ex | ex resume: true ].'' Possible versions include: #(#bleedingEdge #development #stable ''1.0-baseline'' ''1.0'' ''1.1'' ''1.2'')' I tried to debug and compared with the changes from the previous version but didn't find any workable solution. Usman -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [ANN] MessageTally in GTInspector
Currently we do not have a proper support of sparklines. But this is in our roadmap. Cheers, Alexandre On Jan 19, 2014, at 6:15 AM, Marcus Denker marcus.den...@inria.fr wrote: On 19 Jan 2014, at 00:30, Tudor Girba tu...@tudorgirba.com wrote: Hi, The GTInspector just became a performance analysis tool, too. You can simply inspect a MessageTally and you get several useful views that help you identify performance problems. You can read a more detailed description here: http://www.humane-assessment.com/blog/assessing-pharo-performance-with-gtinspector/ As an appetizer, I attached a screenshot with a Graph-ET chart (thank you Daniel Aviv for developing this engine). Very nice… using visualisation everywhere in the IDE could be extremely interesting… Does graphET already have support for Sparklines? http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0001ORtopic_id=1 This could be interesting to embed small visuals like that everywhere (not just for time related things…). Of course I have no idea for what for real… ;-) Marcus -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.