Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
December 2013
- 87 participants
- 1533 messages
[pharo-project/pharo-core] b84651: 30664
by GitHub
Branch: refs/heads/3.0
Home: https://github.com/pharo-project/pharo-core
Commit: b84651feddc39d4336329e223d4b5d39190f2434
https://github.com/pharo-project/pharo-core/commit/b84651feddc39d4336329e22…
Author: Jenkins Build Server <board(a)pharo-project.org>
Date: 2013-12-27 (Fri, 27 Dec 2013)
Changed paths:
R Athens-Tutorial.package/AthensTutorial.class/README.md
R Athens-Tutorial.package/AthensTutorial.class/class/as yet unclassified/defaultSpec.st
R Athens-Tutorial.package/AthensTutorial.class/class/as yet unclassified/defaultSpec2.st
R Athens-Tutorial.package/AthensTutorial.class/class/as yet unclassified/open.st
R Athens-Tutorial.package/AthensTutorial.class/definition.st
R Athens-Tutorial.package/AthensTutorial.class/instance/as yet unclassified/initializePresenter.st
R Athens-Tutorial.package/AthensTutorial.class/instance/as yet unclassified/nextStep.st
R Athens-Tutorial.package/AthensTutorial.class/instance/as yet unclassified/performDoit.st
R Athens-Tutorial.package/AthensTutorial.class/instance/as yet unclassified/previousStep.st
R Athens-Tutorial.package/AthensTutorial.class/instance/as yet unclassified/stepNumber.st
R Athens-Tutorial.package/AthensTutorial.class/instance/as yet unclassified/stepText.st
R Athens-Tutorial.package/AthensTutorial.class/instance/as yet unclassified/title.st
R Athens-Tutorial.package/AthensTutorial.class/instance/as yet unclassified/updateContents.st
R Athens-Tutorial.package/AthensTutorial.class/instance/widgets/doitButton.st
R Athens-Tutorial.package/AthensTutorial.class/instance/widgets/initializeWidgets.st
R Athens-Tutorial.package/AthensTutorial.class/instance/widgets/nextButton.st
R Athens-Tutorial.package/AthensTutorial.class/instance/widgets/prevButton.st
R Athens-Tutorial.package/AthensTutorial.class/instance/widgets/textPane.st
R Athens-Tutorial.package/AthensTutorial.class/instance/widgets/viewMorph.st
R Athens-Tutorial.package/AthensViewMorph.class/README.md
R Athens-Tutorial.package/AthensViewMorph.class/definition.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/drawing results/drawOn_.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/initialize-release/initialize.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/sesison aware/checkSession.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step1.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step10.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step11.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step12.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step13.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step14.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step15.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step16.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step17.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step18.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step19.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step2.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step20.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step21.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step22.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step23.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step24.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step25.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step26.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step27.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step28.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step29.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step3.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step30.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step31.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step4.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step5.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step6.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step7.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step8.st
R Athens-Tutorial.package/AthensViewMorph.class/instance/steps/step9.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - scripts/script317.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - updates/update30664.st
M ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
M Tools.package/extension/SystemNavigation/instance/methodHierarchyBrowserForClass_selector_.st
Log Message:
-----------
30664
12517 SystemNavigation methodHierarchyBrowserForClass:selector: discards package information
https://pharo.fogbugz.com/f/cases/12517
12476 Undeclared
https://pharo.fogbugz.com/f/cases/12476
http://files.pharo.org/image/30/30664.zip
Dec. 27, 2013
Re: [Pharo-dev] Relation tower is coming for Roassal
by Alexandre Bergel
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.morales(a)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 <tudor(a)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.morales(a)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_f1…
> 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…
>
> 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.bergel(a)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.340543…
>
> 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
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Dec. 27, 2013
Re: [Pharo-dev] Merry Christmas!
by Alexandre Bergel
Strange, works well for me.
Does the other examples of Roassal3d work?
Alexandre
On Dec 26, 2013, at 7:42 PM, Serge Stinckwich <serge.stinckwich(a)gmail.com> wrote:
> Crash on my mac OS X !
>
> Cheers,
>
>
> On Thu, Dec 26, 2013 at 7:26 PM, milton mamani <akevalion(a)gmail.com> wrote:
> Merry Christmas and happy new year to everyone!.
>
> <image.png>
>
> This is another script:
>
> .=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=
> | view body head
> b1 b2 b3
> eye1 eye2 nose smile
> cravat lhand rhand
> sphere cone cylinder |
>
> cylinder := [ :m | | e |
> e := R3CylinderShape element.
> e on: m.
> e ].
>
> cone := [ :m | | e |
> e := R3ConeShape element.
> e on: m.
> e. ].
>
> sphere := [ :m | |e |
> e := R3IcoSphereShape element.
> e on: m.
> e shape color: Color white.
> e shape recursionLevel: 3.
> e ].
>
> view := R3View new.
> body := sphere value: 'body'.
> head := sphere value: 'Merry Christmas and Happy new year!!!
>
> From all of us at ObjectProfile'"'head'".
> head addInteraction: R3TooltipPopup.
>
> b1 := sphere value: '1'.
> b2 := sphere value: '2'.
> b3 := sphere value: '3'.
>
> eye1 := sphere value: 'o'.
> nose := cone value: 'j'.
> eye2 := sphere value: 'o'.
>
> cravat := sphere value: 'cravat'.
> lhand := cylinder value: 'left hand'.
> rhand := cylinder value: 'right hand'.
>
> body shape size: 1.5.
> head translateTo: (R3Vector3 x: 0 y: 1 z: 0).
>
> { b1. b2. b3 } do: [ :b | b shape color: Color yellow; size: 0.15 ].
> b1 translateTo: (R3Vector3 x: 0 y: 0.5 z: 0.5).
> b2 translateTo: (R3Vector3 x: 0 y: 0.25 z: 0.66).
> b3 translateTo: (R3Vector3 x: 0 y: 0.0 z: 0.71).
>
> { eye1. eye2 } do: [ :e | e shape color: Color black; size: 0.15 ].
> eye1 translateTo: (R3Vector3 x: -0.2 y: 1.1 z: 0.44).
> eye2 translateTo: (R3Vector3 x: 0.2 y: 1.1 z: 0.44).
>
> nose shape color: Color orange; size: 0.15; height: 0.5.
> nose translateTo: (R3Vector3 x: 0 y: 0.9 z: 0.7);
> orientation: (R3Matrix3 xrot: 90 degreesToRadians ).
>
>
> smile := R3BezierLineShape new
> elementFrom: (R3Vector3 x: -0.2 y: 0.85 z: 0.45)
> control: (R3Vector3 x: 0 y: 0.7 z:0.43 )
> to: (R3Vector3 x: 0.2 y: 0.85 z: 0.45).
> smile shape color: Color black.
>
> cravat shape color: Color blue; height: 0.2.
> cravat translateTo: (R3Vector3 x: 0 y: 0.6 z: 0).
>
> { lhand. rhand } do: [ :h | h shape color: Color brown; size: 0.1; height: 1 ].
> lhand translateTo: (R3Vector3 x: -0.9 y: 0.7 z: 0);
> orientation: (R3Matrix3 zrot:45 degreesToRadians).
> rhand translateTo: (R3Vector3 x: 0.9 y: 0.7 z: 0);
> orientation: (R3Matrix3 zrot: -45 degreesToRadians).
> view lightingModel: R3MultipassPerPixelLighting new.
> view addAll:
> { body. head.
> b1. b2. b3.
> eye1. eye2. nose. smile.
> cravat. lhand. rhand.
> }.
> view addInteraction: R3MKControl.
> view setRoassal2DView: (ROView new).
> view openWithOverlay.
> .=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=
>
> Milton
>
>
> 2013/12/25 Tudor Girba <tudor(a)tudorgirba.com>
> Fun!
>
> Merry Christmas!
>
> Doru
>
>
> On Wed, Dec 25, 2013 at 12:29 PM, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
> Oh!! Well spotted!
>
> Alexandre
>
> > Le 25-12-2013 à 11:25, Sven Van Caekenberghe <sven(a)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.
> > ===
>
>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>
>
>
>
> --
> Serge Stinckwich
> UCBN & UMI UMMISCO 209 (IRD/UPMC)
> Every DSL ends up being Smalltalk
> http://www.doesnotunderstand.org/
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Dec. 27, 2013
Re: [Pharo-dev] problem while parsing xml
by Hernán Morales Durand
I am not sure because XML changed a lot, but this method
entityURIFromRelative: aRelativeUri andBase: aBaseUri
^ ((self httpClient beginsWithSupportedURLProtocol: aRelativeUri)
ifTrue: [self httpClient]
ifFalse: [self fileClient])
combineRelative: aRelativeUri
withBase: aBaseUri
produces the invalid address: 'http:/www.musicxml.org/dtds/common.mod'
where perhaps should be:
entityURIFromRelative: aRelativeUri andBase: aBaseUri
^ ((self httpClient beginsWithSupportedURLProtocol: aBaseUri)
ifTrue: [self httpClient]
ifFalse: [self fileClient])
combineRelative: aRelativeUri
withBase: aBaseUri
but then you get XMLFileIOException....
maybe Monty can check?
Hernán
2013/12/25 Stéphane Ducasse <stephane.ducasse(a)inria.fr>
> Hi Hernan
>
> how did you reproduce the bug?
> Because it would be nice to fix it.
>
> Stef
>
> On 24 Dec 2013, at 18:48, Hernán Morales Durand <hernan.morales(a)gmail.com>
> wrote:
>
> I have tried in Pharo 2.0 configurations from Config Browser
> (ConfigurationOfXMLParser-StephaneDucasse.16) and latest from
> http://www.smalltalkhub.com/mc/PharoExtras/XMLParser/main(ConfigurationOfXM… and both have this bug.
>
> Hernán
>
>
> 2013/12/24 Stéphane Ducasse <stephane.ducasse(a)inria.fr>
>
>> Hi Satoshi
>>
>> Did you try with the latest configuration of XMLParser?
>> Because I do not know what it is in Moose.
>> Stef
>>
>> On 23 Dec 2013, at 18:26, NISHIHARA Satoshi <goonsh(a)gmail.com> wrote:
>>
>> > Hello
>> >
>> > using: Pharo3.0 Latest update: #30659 (it occurs same error to
>> > Pharo2.0 Latest update: #20628)
>> > (Moose 4.9 with XML-Parser (DamienCassou.143) has no_err)
>> >
>> > 1. load XMLParser (StephaneDucasse.16) from Configuration browser
>> > 2. select and inspect it below:
>> > ^ XMLDOMParser parse: '<?xml version="1.0" encoding="UTF-8"
>> standalone="no"?>
>> > <!DOCTYPE score-partwise PUBLIC
>> > "-//Recordare//DTD MusicXML 3.0 Partwise//EN"
>> > "http://www.musicxml.org/dtds/partwise.dtd">
>> > <score-partwise version="3.0">
>> > <part-list>
>> > <score-part id="P1">
>> > <part-name>Music</part-name>
>> > </score-part>
>> > </part-list>
>> > <part id="P1">
>> > <measure number="1">
>> > <attributes>
>> > <divisions>1</divisions>
>> > <key>
>> > <fifths>0</fifths>
>> > </key>
>> > <time>
>> > <beats>4</beats>
>> > <beat-type>4</beat-type>
>> > </time>
>> > <clef>
>> > <sign>G</sign>
>> > <line>2</line>
>> > </clef>
>> > </attributes>
>> > <note>
>> > <pitch>
>> > <step>C</step>
>> > <octave>4</octave>
>> > </pitch>
>> > <duration>4</duration>
>> > <type>whole</type>
>> > </note>
>> > </measure>
>> > </part>
>> > </score-partwise>
>> > ' readStream.
>> >
>> > 3. and get DNU: SmallInteger>>asciiValue
>> >
>> > 'case of XMLZincClient>>#get:
>> > 'http://www.musicxml.com/dtds/partwise.dtd' timeout: ... onError: ...
>> > returns binaryStream?
>> >
>> >
>> > --
>> > --
>> > "NISHIHARA Satoshi"
>> > [:goonsh :nsh | ^ nishis perform: goonsh with: nsh]
>> > <PharoDebug.log>
>>
>>
>>
>
>
Dec. 27, 2013
Re: [Pharo-dev] Nautilus: tab key change focus
by GOUBIER Thierry
Have you tried Ctrl+Tab in the filter? I remember that text fields would catch the tab for themselves, and probably shift+tab as well, but we could force that filter to switch by using an onKeyCombination: Character tab asKeyCombination do: [ "setFocusToPackageListMorph" ] on the filter.
With this asKeyCombination: do: , we could also change the order for the Package list and the class list (or just make sure the filter is added to the main window before the package list). If you change the order by hand, make sure you also correct the reverse order as well (Shift+tab and Ctrl+Shift+tab).
I can't have a look at the code right now :(
Thierry
________________________________________
De : Pharo-dev [pharo-dev-bounces(a)lists.pharo.org] de la part de Juraj Kubelka [juraj.kubelka(a)gmail.com]
Date d'envoi : jeudi 26 décembre 2013 20:42
à : Pharo Development List
Objet : Re: [Pharo-dev] Nautilus: tab key change focus
Hi Thierry,
thank you. Actually I have started with an issue with package filter input. When it has a focus, there is no way to change a focus with key press. Like tab, or down arrow key, or anything. And I also find out the tab order is strange. When package list has focus, tab change focus to the filter. I think it should change to class list.
For some reasons it is possible to escape the filter input by pressing shift+tab, but not by pressing tab. So I wanted to try to change the âtab" order.
Thanks,
Jura
El 26-12-2013, a las 16:34, GOUBIER Thierry <thierry.goubier(a)cea.fr> escribió:
> Hi Jura,
>
> it's implemented at the Morphic level; it follow the chain of owners / submorphs and should correctly tab to all morphs in the window, except when going through text fields which will catch the tab for themselves (but Ctrl+tab should work).
>
> To change the order, you may have a look at the order in which the morphs are added to the window.
>
> Another thing which may be of interest to you, Spec has the necessary code to override the default Morphic tab navigation and force an application defined order.
>
> What is the issue you are facing ?
>
> Thierry
> ________________________________________
> De : Pharo-dev [pharo-dev-bounces(a)lists.pharo.org] de la part de Juraj Kubelka [juraj.kubelka(a)gmail.com]
> Date d'envoi : jeudi 26 décembre 2013 17:09
> Ã : Pharo Development List
> Objet : [Pharo-dev] Nautilus: tab key change focus
>
> Hi,
>
> Can someone give me any glue how tab-key-order and handling works in Nautilus? I am trying to fix the tab order in Nautilus but I do not see how it is implemented.
>
> Thanks,
> Jura
>
Dec. 26, 2013
Re: [Pharo-dev] float printing glitch?
by Nicolas Cellier
2013/12/26 Sven Van Caekenberghe <sven(a)stfx.eu>
> Iâll have a look, but I donât like the extra
> Stream>>#print:maxDecimalPlaces: method, there are too many already and it
> does not bring any additional functionality.
>
Feel free to skip it, it's not absolutely necessary.
>
> On 26 Dec 2013, at 16:46, Stéphane Ducasse <stephane.ducasse(a)inria.fr>
> wrote:
>
> >
> > On 25 Dec 2013, at 23:56, Nicolas Cellier <
> nicolas.cellier.aka.nice(a)gmail.com> wrote:
> >
> >>
> >> 2013/12/25 Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
> >>
> >> 2013/12/25 Stéphane Ducasse <stephane.ducasse(a)inria.fr>
> >> thanks nicolas.
> >> I will give a try.
> >>
> >>
> >> I just made a quick pass in Squeak, analyzed senders of roundTo: and
> modified a few whose sole intention was printing.
> >> This need to be redone in Pharo.
> >>
> >> Ah, but Squeak has Number>>printOn:maxDecimalPlaces: and
> printShowingMaxDecimalPlaces: and Stream>>print:maxDecimalPlaces:
> >
> > I somehow understand why and I think that this is ok to add them to
> pharo.
> >>
> >> It would be required to add those messages first.
> >>
> >>
> >> On 24 Dec 2013, at 18:15, Nicolas Cellier <
> nicolas.cellier.aka.nice(a)gmail.com> wrote:
> >>
> >>> Yes, you should change the tickPrintBlock because it probably
> incorrectly use (aFloat roundTo: 0.1) printString.
> >>> There is no guaranty that this return the nearest Float to the aimed
> decimal fraction.
> >>> Since this is not the nearest Float, you have additional digits
> displayed.
> >>> The print block should use a selector like printShowingDecimalPlaces:
> (Squeak) or something equivalent in Pharo (can't remember if the selectors
> are 100% compatible).
> >>>
> >>> For completeness, do test these expressions:
> >>> (0 to: 10) collect: [:i | (i/10) asFloat].
> >>> versus
> >>> (0 to: 10) collect: [:i | i*0.1].
> >>> versus
> >>> (0 to: 10) collect: [:i | (i/10) roundTo: 0.1].
> >>>
> >>> Only the first one is correct. Trying to roundTo: 0.1 spoils thing
> because 0.1 is not exactly 1/10 and thus introduce small errors...
> >>>
> >>>
> >>> 2013/12/24 Stéphane Ducasse <stephane.ducasse(a)inria.fr>
> >>> Hi (nicolas :))
> >>>
> >>> I was fixing the sound package and the EnvelopeEditorMorph shows a
> strange glitch
> >>>
> >>> EnvelopeEditorMorph openOn: (FMSound brass1) copy title: 'brass1'
> >>>
> >>> See ^^^^^^^^^^^^^^^^ below
> >>>
> >>> I have the impression that this related to float printString. Any idea
> how to fix it?
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> buildLabels
> >>> | scale x1 y1 y2 captionMorph loopStart offset |
> >>> majorTickLength * minorTickLength < 0
> >>> ifTrue: [ minorTickLength := 0 - minorTickLength ].
> >>> self removeAllMorphs.
> >>> caption ifNotNil:
> >>> [ captionMorph := StringMorph contents: caption.
> >>> offset := captionAbove
> >>> ifTrue: [majorTickLength abs + captionMorph
> height + 7]
> >>> ifFalse: [2].
> >>> captionMorph
> >>> align: captionMorph bounds bottomCenter
> >>> with: self bounds bottomCenter - (0 @ offset).
> >>> self addMorph: captionMorph].
> >>> tickPrintBlock ifNotNil:
> >>> ["Calculate the offset for the labels,
> depending on whether or not
> >>> 1) there's a caption
> >>> below, 2) the labels are above or below the
> ticks, and 3) the
> >>> ticks go up or down"
> >>> offset := labelsAbove
> >>> ifTrue: [majorTickLength abs +
> minorTickLength abs + 2]
> >>> ifFalse: [2].
> >>> caption
> >>> ifNotNil: [captionAbove ifFalse:
> [offset := offset + captionMorph height + 2]].
> >>> scale := (self innerBounds width - 1) / (stop
> - start) asFloat.
> >>> x1 := self innerBounds left.
> >>> y1 := self innerBounds bottom.
> >>> y2 := y1 - offset.
> >>> "Start loop on multiple of majorTick"
> >>> loopStart := (start / majorTick) ceiling *
> majorTick.
> >>> loopStart to: stop
> >>> by: majorTick
> >>> do:
> >>> [ :v | | x tickMorph |
> >>> x := x1 + (scale * (v -
> start)).
> >>> tickMorph := StringMorph
> contents: (tickPrintBlock value: v).
> >>>
> ^^^^^^^^^^^^^^^^ printString?
> >>>
> >>> tickMorph align: tickMorph
> bounds bottomCenter with: x @ y2.
> >>> tickMorph left < self left
> >>> ifTrue: [ tickMorph
> position: self left @ tickMorph top ].
> >>> tickMorph right > self right
> >>> ifTrue: [ tickMorph
> position: (self right - tickMorph width) @ tickMorph top].
> >>> self addMorph: tickMorph ]]
>
>
>
Dec. 26, 2013
Re: [Pharo-dev] [OT]: Looking for Bill Schwab
by Sven Van Caekenberghe
That is indeed really sad to hear and a bit shocking that we only learn about this now.
On 26 Dec 2013, at 16:22, btc(a)openinworld.com wrote:
> Esteban A. Maringolo wrote:
>> 2013/12/26 Sean P. DeNigris <sean(a)clipperadams.com>
>> :
>>
>>
>>> I sent a message through Nabble to the address at anest.ufl.edu, which was
>>> returned "The e-mail address you entered couldn't be found. Please check the
>>> recipient's e-mail address and try to resend the message. If the problem
>>> continues, please contact your helpdesk."
>>>
>>>
>>
>> You're not the first one looking for him. In the Dolphin Smalltalk
>> newsgroup they were looking for him too a year ago or so. I don't know
>> if they ever found him.
>>
>> Good luck. He is a valuable Smalltalker.
>>
>> Regards,
>>
>> Esteban.
>>
>>
>>
>>
> I used to enjoy Bill's perspective on things coming to Pharo from Dolphin. It would seem there is unfortunate news.
> http://www.legacy.com/obituaries/gainesville/obituary.aspx?pid=159883187
>
> Wilhelm "Bill" K. Schwab Ph.D., 48, of Gainesville, Florida, died Friday September 7, 2012 at a friend's home, after a determined battle with cancer.
> [...] His software was far more reliable than the commercial operating systems on which it ran. He even wrote his own "object request broker," a specialized networking software tool, using Smalltalk, an exotic computer language. With his tool, he created, implemented and maintained a fully functional handwriting-capable anesthesia medical record system that was well ahead of its time, and was used for years in actual patient care in multiple operating rooms. His software never required "downtime."
>
> regards -ben
>
Dec. 26, 2013
Re: [Pharo-dev] float printing glitch?
by Sven Van Caekenberghe
Iâll have a look, but I donât like the extra Stream>>#print:maxDecimalPlaces: method, there are too many already and it does not bring any additional functionality.
On 26 Dec 2013, at 16:46, Stéphane Ducasse <stephane.ducasse(a)inria.fr> wrote:
>
> On 25 Dec 2013, at 23:56, Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com> wrote:
>
>>
>> 2013/12/25 Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
>>
>> 2013/12/25 Stéphane Ducasse <stephane.ducasse(a)inria.fr>
>> thanks nicolas.
>> I will give a try.
>>
>>
>> I just made a quick pass in Squeak, analyzed senders of roundTo: and modified a few whose sole intention was printing.
>> This need to be redone in Pharo.
>>
>> Ah, but Squeak has Number>>printOn:maxDecimalPlaces: and printShowingMaxDecimalPlaces: and Stream>>print:maxDecimalPlaces:
>
> I somehow understand why and I think that this is ok to add them to pharo.
>>
>> It would be required to add those messages first.
>>
>>
>> On 24 Dec 2013, at 18:15, Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com> wrote:
>>
>>> Yes, you should change the tickPrintBlock because it probably incorrectly use (aFloat roundTo: 0.1) printString.
>>> There is no guaranty that this return the nearest Float to the aimed decimal fraction.
>>> Since this is not the nearest Float, you have additional digits displayed.
>>> The print block should use a selector like printShowingDecimalPlaces: (Squeak) or something equivalent in Pharo (can't remember if the selectors are 100% compatible).
>>>
>>> For completeness, do test these expressions:
>>> (0 to: 10) collect: [:i | (i/10) asFloat].
>>> versus
>>> (0 to: 10) collect: [:i | i*0.1].
>>> versus
>>> (0 to: 10) collect: [:i | (i/10) roundTo: 0.1].
>>>
>>> Only the first one is correct. Trying to roundTo: 0.1 spoils thing because 0.1 is not exactly 1/10 and thus introduce small errors...
>>>
>>>
>>> 2013/12/24 Stéphane Ducasse <stephane.ducasse(a)inria.fr>
>>> Hi (nicolas :))
>>>
>>> I was fixing the sound package and the EnvelopeEditorMorph shows a strange glitch
>>>
>>> EnvelopeEditorMorph openOn: (FMSound brass1) copy title: 'brass1'
>>>
>>> See ^^^^^^^^^^^^^^^^ below
>>>
>>> I have the impression that this related to float printString. Any idea how to fix it?
>>>
>>>
>>>
>>>
>>>
>>> buildLabels
>>> | scale x1 y1 y2 captionMorph loopStart offset |
>>> majorTickLength * minorTickLength < 0
>>> ifTrue: [ minorTickLength := 0 - minorTickLength ].
>>> self removeAllMorphs.
>>> caption ifNotNil:
>>> [ captionMorph := StringMorph contents: caption.
>>> offset := captionAbove
>>> ifTrue: [majorTickLength abs + captionMorph height + 7]
>>> ifFalse: [2].
>>> captionMorph
>>> align: captionMorph bounds bottomCenter
>>> with: self bounds bottomCenter - (0 @ offset).
>>> self addMorph: captionMorph].
>>> tickPrintBlock ifNotNil:
>>> ["Calculate the offset for the labels, depending on whether or not
>>> 1) there's a caption
>>> below, 2) the labels are above or below the ticks, and 3) the
>>> ticks go up or down"
>>> offset := labelsAbove
>>> ifTrue: [majorTickLength abs + minorTickLength abs + 2]
>>> ifFalse: [2].
>>> caption
>>> ifNotNil: [captionAbove ifFalse: [offset := offset + captionMorph height + 2]].
>>> scale := (self innerBounds width - 1) / (stop - start) asFloat.
>>> x1 := self innerBounds left.
>>> y1 := self innerBounds bottom.
>>> y2 := y1 - offset.
>>> "Start loop on multiple of majorTick"
>>> loopStart := (start / majorTick) ceiling * majorTick.
>>> loopStart to: stop
>>> by: majorTick
>>> do:
>>> [ :v | | x tickMorph |
>>> x := x1 + (scale * (v - start)).
>>> tickMorph := StringMorph contents: (tickPrintBlock value: v).
>>> ^^^^^^^^^^^^^^^^ printString?
>>>
>>> tickMorph align: tickMorph bounds bottomCenter with: x @ y2.
>>> tickMorph left < self left
>>> ifTrue: [ tickMorph position: self left @ tickMorph top ].
>>> tickMorph right > self right
>>> ifTrue: [ tickMorph position: (self right - tickMorph width) @ tickMorph top].
>>> self addMorph: tickMorph ]]
Dec. 26, 2013
Re: [Pharo-dev] Relation tower is coming for Roassal
by Hernán Morales Durand
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 <tudor(a)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.morales(a)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_f1…
>> 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…
>>
>> 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.bergel(a)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.340543…
>>>
>>> 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"
>
Dec. 26, 2013
Re: [Pharo-dev] Transparent colors with NBOpenGL?
by Esteban Lorenzano
On 26 Dec 2013, at 16:44, Stéphane Ducasse <Stephane.Ducasse(a)inria.fr> wrote:
> This sounds really exciting :)
>
>> That sounds very interesting. I dream of a virtual world environment such as Second Life, highly dynamic and completely open source.
>
> Croquet was going in that direction and this is good to improve the infrastructure of Pharo in that direction. Better interaction with C and C++
> is definitively a big plus.
>
>> 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.
>
> Yes :)
> Now let us start small and focus on key elements. Clement was suggesting that we could even launch a kick starter :)
>
>> 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.
> Did you see that esteban and JB did a binding to another physic engine (forgot his name).
it is chipmunk, but is for 2d physics.
Esteban
>
>> - An importer for COLLADA. COLLADA is a XML based asset exchange format, with a wide support in different 3d model editors, such as Blender.
> We could turn that into a student project.
>
>> - 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âm sure that igor wants to have a look at that.
>
>
>> - 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.
>
> Eliot Miranda is working a new GC and it is much much much better. No global GC needed anymore. So for Pharo 40 we will get
> a lot of improvements from this part. We are really excited because it opens a lot of space
>
>>
>> Greetings,
>> Ronie Salgado
>>
>>
>> 2013/12/25 Stéphane Ducasse <stephane.ducasse(a)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
>>
>
Dec. 26, 2013