Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- October
- September
- August
- 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
- 1 participants
- 144621 messages
Re: [Pharo-dev] [ANN] RenoirSt 1.0.0 Release for Pharo 3.0
by Gabriel Cotelli
Thank you Torsten. Issues #21 and #22 added to reflect this feedback and
further research.
On Tue, Mar 11, 2014 at 12:07 PM, Torsten Bergmann <astares(a)gmx.de> wrote:
> Hi Gabriel,
>
> nice work - now designers should start learning Smalltalk to be able to
> refactor large
> style definitions :)
>
> Some feedback:
> =============
> the new "RenoirSt" project unfortunately conflicts with the "Unit" package
> when both get loaded from the
> config browser in Pharo 3.0:
>
> - RenoirSt loaded: "2 px" returns an instance of CssLength (px is an
> extension method on Integer)
> - Units loaded: "2 px" returns an instance of UnitValue (px is an
> extension method on Number)
> as you have defined own custom "units" in category "RenoirSt-Units".
>
> I would really like to see that RenoirSt is reusing the common Units
> package instead of reinventing/conflicting
> as the Unit package already provides pixels, millimeters, ... support
> including conversion. Reuse is key
> and would avoid duplicated effort.
>
> For instance Artefact, the PDF framework is using Units as a prerequisite
> already too - as it also
> has to deal with mm, pixels, points, ...
>
> Should be no problem to add missing CSS lengths like #em to Units project
> as well. Just ask Marcus Denker
> to add you as a contributor to
> http://smalltalkhub.com/#!/~MarcusDenker/Units/
> Then add Units as a prerequisite similar to ConfigurationOfArtefact and
> use it in your code.
>
> Regarding features:
> ===================
> For Seaside there is a project called "Seafox" generating Seaside
> #renderContentOn: methods from
> HTML.
> http://lists.squeakfoundation.org/pipermail/seaside/2010-August/023993.html
>
> Maybe you want to build something similar for #cssContentOn: to support a
> better roundtrip with designers.
>
> Bye
> T.
>
>
> Gesendet: Dienstag, 11. März 2014 um 14:13 Uhr
> Von: "Gabriel Cotelli" <g.cotelli(a)gmail.com>
> An: "Pharo Development List" <pharo-dev(a)lists.pharo.org>
> Betreff: [Pharo-dev] [ANN] RenoirSt 1.0.0 Release for Pharo 3.0
>
> Hi,
>
> I'm announcing the first official release of RenoirSt, a DSL enabling
> programmatic cascading style sheet generation for Pharo.
>
> For the impatient, you can load it in your 3.0 image evaluating:
>
> Gofer it
> url: 'http://smalltalkhub.com/mc/gcotelli/RenoirSt/main';
> configurationOf: 'RenoirSt';
> loadStable
>
> or download a ready to use image from the Contribution CI Server[
> https://ci.inria.fr/pharo-contribution/job/RenoirSt/] ( a
> ConfigurationBrowser option comming soon).
>
> Visit the project page[http://gcotelli.github.io/RenoirSt/] and GitHub
> repository[https://github.com/gcotelli/RenoirSt] for more information on
> the supported and planned features, and check-out the online tutorial.[
> https://github.com/gcotelli/RenoirSt/blob/stable/docs/tutorial/Tutorial%20-…
> ]
>
> I hope you find it useful. Feel free to ask any questions, suggest ideas
> and improvements, or report bugs (the issue tracker is in GitHub).
>
> Gabriel
>
March 11, 2014
Re: [Pharo-dev] Sort by property
by Eliot Miranda
On Tue, Mar 11, 2014 at 12:19 PM, Eliot Miranda <eliot.miranda(a)gmail.com>wrote:
> Hi Alexandre,
>
> IMO the isKindOf:, apart from being ugly, will hurt performance badly.
> Why not apply aSortBlockOrSymbol to the first element and then choose the
> block appropriately? e.g.
>
> aSortBlockOrSymbol isSymbol
> ifTrue:
> [(#(true false) includes: (self first perform:
> aSortBlockOrSymbol)
> ifTrue:
> [[:a :b | (a perform: aSortBlockOrSymbol)]]
> ifFalse:
> [[:a :b | (a perform: aSortBlockOrSymbol) < (b
> perform: aSortBlockOrSymbol)]]]
> ...
>
> Nicer to read and faster, no?
>
> On Tue, Mar 11, 2014 at 8:17 AM, Alexandre Bergel <alexandre.bergel(a)me.com
> > wrote:
>
>> hi Uko,
>>
>> For Roassal, we have a #sortedAs: defined on all collections
>>
>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>> SequenceableCollection>>sortedAs: aSortBlockOrSymbol
>> "Answer a SortedCollection whose elements are the elements of the
>> receiver. The sort order is defined by the argument, aSortBlock."
>> "Return a new collection. This method does not do a side effect"
>>
>> | aSortedCollection aSortBlock |
>> aSortedCollection := SortedCollection new: self size.
>> aSortBlock :=
>> aSortBlockOrSymbol isSymbol
>> ifTrue: [ [:a :b | |t1 t2|
>> t1 := (a perform:
>> aSortBlockOrSymbol).
>> t2 := (b perform:
>> aSortBlockOrSymbol).
>> ((t1 isKindOf:
>> Boolean) and: [t2 isKindOf: Boolean])
>> ifTrue: [
>> t1 ]
>> ifFalse:
>> [ t1 < t2 ] ] ]
>> ifFalse: [
>> (aSortBlockOrSymbol numArgs = 1)
>> ifTrue: [ [ :v1 :v2 |
>> (aSortBlockOrSymbol value: v1) < (aSortBlockOrSymbol value: v2) ] ]
>> ifFalse: [ aSortBlockOrSymbol ] ].
>> aSortedCollection sortBlock: aSortBlock.
>> aSortedCollection addAll: self.
>> ^ aSortedCollection
>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>>
>> You can use it for example:
>> (1 to: 4) sortedAs: #odd
>> => a SortedCollection(1 3 2 4)
>>
>> Collection withAllSubclasses sortedAs: #numberOfMethods
>> => a SortedCollection(HashBag IdentityHashBag ...)
>>
>> This is really handy. It should be part of Pharo I believe.
>>
>> Cheers,
>> Alexandre
>>
>>
>> On Mar 11, 2014, at 5:19 AM, Yuriy Tymchuk <yuriy.tymchuk(a)me.com> wrote:
>>
>> > Hi guys.
>> >
>> > This is a thing that I encounter quite often.
>> >
>> > Eg I have a collection of projects and I want to sort them by creation
>> date. It would be nice to be able to do something like:
>> >
>> > projects sortByProp: #creationDate
>> >
>> > or by birth date of the author
>> >
>> > projects sortByProp: [ :proj | proj author birthDate ]
>> >
>> > Maybe I'm wrong, but as I've told already I encounter it quite often
>> and writing something like
>> >
>> > projects sortBy: [ :prev :next | prev creationDate <= next creationDate
>> ]
>> >
>> > is boring for me.
>> >
>> > Cheers.
>> > Uko
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>
>
> --
> best,
> Eliot
>
--
best,
Eliot
March 11, 2014
Re: [Pharo-dev] About inspectors
by Tudor Girba
Hi Juan,
Just download the latest Moose image and you can explore the file system.
Cheers,
Doru
On Tue, Mar 11, 2014 at 6:17 PM, Juan <smalltalker.marcelo(a)gmail.com> wrote:
> Tudor
>
>
> what steps I need to follow to load the file-exploration example of
> video ?
> any ConfigurationOfxx . package, monticello repository etc...
>
> best
>
>
> jmdc
>
>
> On Tue, Mar 11, 2014 at 2:11 PM, Juan <smalltalker.marcelo(a)gmail.com>wrote:
>
>> Tudor
>>
>> Thanks for amazing work, just report a trouble , i follow the
>> http://www.humane-assessment.com/blog/dynamic-exploration-of-a-postgres-db-…
>> Instructions and trying with one postgres database, one table with date
>> fields fire problem's SqNumberParser class is missing in moose image, and
>> the postgres
>> use this to read dates or timestamps fields .
>>
>> best regards
>> jmdc
>>
>>
>>
>>
>> On Sun, Mar 9, 2014 at 7:06 PM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>>
>>> Thanks for the interest.
>>>
>>> I added now a new blog post in which I detail an investigation scenario
>>> of a Postgres DB with the GTInspector:
>>>
>>> http://www.humane-assessment.com/blog/dynamic-exploration-of-a-postgres-db-…
>>>
>>> The post includes a video that kind of gets you through the most
>>> important parts:
>>> - use the playground
>>> - query the DB and preview the results through dedicated presentations
>>> - navigate through objects and code to learn the API
>>> - build a visualization in place and continue exploration
>>> - extend the inspector with a dedicated presentation
>>>
>>> Please let me know what you think.
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>>
>>> On Sat, Mar 8, 2014 at 8:48 AM, phil(a)highoctane.be <phil(a)highoctane.be>wrote:
>>>
>>>> Doru,
>>>>
>>>> Where to look on your blog for a view on the essentials of this? I see
>>>> http://www.humane-assessment.com/blog/making-the-pharo-settings-browser-ope… example. A video?
>>>>
>>>> I look at the blog and vids but it is a bit hard to find a basic demo
>>>> to grasp things.
>>>>
>>>> TIA
>>>> Phil
>>>>
>>>>
>>>> On Sat, Mar 8, 2014 at 8:16 AM, Tudor Girba <tudor(a)tudorgirba.com>wrote:
>>>>
>>>>> I hope not. What are we trying to optimize?
>>>>>
>>>>> If you look closely at the GT work, you might notice that it is not
>>>>> just a tool, it's a whole new philosophy for coding. The EyeInspector
>>>>> picked only one aspect out of a whole.
>>>>>
>>>>> One high goal is to change programming such that the inspector +
>>>>> debugger to capture most of the coding experience. This is what live means.
>>>>> Right now, in the default Pharo we only code small things in the debugger
>>>>> and nothing in the inspector. We work on the idea of a moldable IDE that
>>>>> will change all that.
>>>>>
>>>>> Let's look at some facts. Right now, in my image I have 75 different
>>>>> extensions for GTInspector. And the total amount of lines of code has
>>>>> barely passed 1000 LOC (including all utility code). These are not just
>>>>> independent views, but they are combinable. The amount of use cases
>>>>> supported span a wide range: querying source code, visualizing performance,
>>>>> navigating file system, querying DB, and more (read the posts from
>>>>> humane-assessment.com for hints in this direction).
>>>>>
>>>>> We programmed most of these extensions from within the inspector both
>>>>> because it's fun and because it's significantly more productive. And I am
>>>>> not the only one. This power is not serendipity, it's by design. And we
>>>>> only started to untap this potential.
>>>>>
>>>>> There is still a long way for the concept of inspector and I believe
>>>>> there is a large payoff in it, too.
>>>>>
>>>>> Optimizing for a small thing now should not be the way to go :)
>>>>>
>>>>> Cheers,
>>>>> Doru
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Fri, Mar 7, 2014 at 11:23 PM, Sven Van Caekenberghe <sven(a)stfx.eu>wrote:
>>>>>
>>>>>> Well I would hope that some kind of convergence would be possible in
>>>>>> the future. Maybe some kind of abstract meta description like magritte,
>>>>>> that different tools can use.
>>>>>>
>>>>>> On 07 Mar 2014, at 16:43, Yuriy Tymchuk <yuriy.tymchuk(a)me.com> wrote:
>>>>>>
>>>>>> > Hi everyone.
>>>>>> >
>>>>>> > This day I've attended Moose dojo and I'm pretty impressed with the
>>>>>> possibilities of GTInspector. The one thing that I've noticed is that both
>>>>>> GTInspactor and EyeInspector support custom inspections for objects. I'm
>>>>>> wandering if we can come up with a common protocol to give an object
>>>>>> specific infector view, and not develop a separate thing for each inspector.
>>>>>> >
>>>>>> > Uko
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> www.tudorgirba.com
>>>>>
>>>>> "Every thing has its own flow"
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Every thing has its own flow"
>>>
>>
>>
>
--
www.tudorgirba.com
"Every thing has its own flow"
March 11, 2014
Re: [Pharo-dev] Sort by property
by Eliot Miranda
Hi Alexandre,
IMO the isKindOf:, apart from being ugly, will hurt performance badly.
Why not apply aSortBlockOrSymbol to the first element and then choose the
block appropriately? e.g.
aSortBlockOrSymbol isSymbol
ifTrue:
[(#(true false) includes: (self first perform:
aSortBlockOrSymbol)
ifTrue:
[[:a :b | (a perform: aSortBlockOrSymbol)]]
ifFalse:
[[:a :b | (a perform: aSortBlockOrSymbol) < (b
perform: aSortBlockOrSymbol)]]]
...
Nicer to read and faster, no?
On Tue, Mar 11, 2014 at 8:17 AM, Alexandre Bergel
<alexandre.bergel(a)me.com>wrote:
> hi Uko,
>
> For Roassal, we have a #sortedAs: defined on all collections
>
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> SequenceableCollection>>sortedAs: aSortBlockOrSymbol
> "Answer a SortedCollection whose elements are the elements of the
> receiver. The sort order is defined by the argument, aSortBlock."
> "Return a new collection. This method does not do a side effect"
>
> | aSortedCollection aSortBlock |
> aSortedCollection := SortedCollection new: self size.
> aSortBlock :=
> aSortBlockOrSymbol isSymbol
> ifTrue: [ [:a :b | |t1 t2|
> t1 := (a perform:
> aSortBlockOrSymbol).
> t2 := (b perform:
> aSortBlockOrSymbol).
> ((t1 isKindOf:
> Boolean) and: [t2 isKindOf: Boolean])
> ifTrue: [
> t1 ]
> ifFalse: [
> t1 < t2 ] ] ]
> ifFalse: [
> (aSortBlockOrSymbol numArgs = 1)
> ifTrue: [ [ :v1 :v2 |
> (aSortBlockOrSymbol value: v1) < (aSortBlockOrSymbol value: v2) ] ]
> ifFalse: [ aSortBlockOrSymbol ] ].
> aSortedCollection sortBlock: aSortBlock.
> aSortedCollection addAll: self.
> ^ aSortedCollection
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>
> You can use it for example:
> (1 to: 4) sortedAs: #odd
> => a SortedCollection(1 3 2 4)
>
> Collection withAllSubclasses sortedAs: #numberOfMethods
> => a SortedCollection(HashBag IdentityHashBag ...)
>
> This is really handy. It should be part of Pharo I believe.
>
> Cheers,
> Alexandre
>
>
> On Mar 11, 2014, at 5:19 AM, Yuriy Tymchuk <yuriy.tymchuk(a)me.com> wrote:
>
> > Hi guys.
> >
> > This is a thing that I encounter quite often.
> >
> > Eg I have a collection of projects and I want to sort them by creation
> date. It would be nice to be able to do something like:
> >
> > projects sortByProp: #creationDate
> >
> > or by birth date of the author
> >
> > projects sortByProp: [ :proj | proj author birthDate ]
> >
> > Maybe I'm wrong, but as I've told already I encounter it quite often and
> writing something like
> >
> > projects sortBy: [ :prev :next | prev creationDate <= next creationDate ]
> >
> > is boring for me.
> >
> > Cheers.
> > Uko
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
--
best,
Eliot
March 11, 2014
Re: [Pharo-dev] About inspectors
by Juan
Tudor
what steps I need to follow to load the file-exploration example of video
?
any ConfigurationOfxx . package, monticello repository etc...
best
jmdc
On Tue, Mar 11, 2014 at 2:11 PM, Juan <smalltalker.marcelo(a)gmail.com> wrote:
> Tudor
>
> Thanks for amazing work, just report a trouble , i follow the
> http://www.humane-assessment.com/blog/dynamic-exploration-of-a-postgres-db-…
> Instructions and trying with one postgres database, one table with date
> fields fire problem's SqNumberParser class is missing in moose image, and
> the postgres
> use this to read dates or timestamps fields .
>
> best regards
> jmdc
>
>
>
>
> On Sun, Mar 9, 2014 at 7:06 PM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>
>> Thanks for the interest.
>>
>> I added now a new blog post in which I detail an investigation scenario
>> of a Postgres DB with the GTInspector:
>>
>> http://www.humane-assessment.com/blog/dynamic-exploration-of-a-postgres-db-…
>>
>> The post includes a video that kind of gets you through the most
>> important parts:
>> - use the playground
>> - query the DB and preview the results through dedicated presentations
>> - navigate through objects and code to learn the API
>> - build a visualization in place and continue exploration
>> - extend the inspector with a dedicated presentation
>>
>> Please let me know what you think.
>>
>> Cheers,
>> Doru
>>
>>
>>
>> On Sat, Mar 8, 2014 at 8:48 AM, phil(a)highoctane.be <phil(a)highoctane.be>wrote:
>>
>>> Doru,
>>>
>>> Where to look on your blog for a view on the essentials of this? I see
>>> http://www.humane-assessment.com/blog/making-the-pharo-settings-browser-ope… example. A video?
>>>
>>> I look at the blog and vids but it is a bit hard to find a basic demo to
>>> grasp things.
>>>
>>> TIA
>>> Phil
>>>
>>>
>>> On Sat, Mar 8, 2014 at 8:16 AM, Tudor Girba <tudor(a)tudorgirba.com>wrote:
>>>
>>>> I hope not. What are we trying to optimize?
>>>>
>>>> If you look closely at the GT work, you might notice that it is not
>>>> just a tool, it's a whole new philosophy for coding. The EyeInspector
>>>> picked only one aspect out of a whole.
>>>>
>>>> One high goal is to change programming such that the inspector +
>>>> debugger to capture most of the coding experience. This is what live means.
>>>> Right now, in the default Pharo we only code small things in the debugger
>>>> and nothing in the inspector. We work on the idea of a moldable IDE that
>>>> will change all that.
>>>>
>>>> Let's look at some facts. Right now, in my image I have 75 different
>>>> extensions for GTInspector. And the total amount of lines of code has
>>>> barely passed 1000 LOC (including all utility code). These are not just
>>>> independent views, but they are combinable. The amount of use cases
>>>> supported span a wide range: querying source code, visualizing performance,
>>>> navigating file system, querying DB, and more (read the posts from
>>>> humane-assessment.com for hints in this direction).
>>>>
>>>> We programmed most of these extensions from within the inspector both
>>>> because it's fun and because it's significantly more productive. And I am
>>>> not the only one. This power is not serendipity, it's by design. And we
>>>> only started to untap this potential.
>>>>
>>>> There is still a long way for the concept of inspector and I believe
>>>> there is a large payoff in it, too.
>>>>
>>>> Optimizing for a small thing now should not be the way to go :)
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, Mar 7, 2014 at 11:23 PM, Sven Van Caekenberghe <sven(a)stfx.eu>wrote:
>>>>
>>>>> Well I would hope that some kind of convergence would be possible in
>>>>> the future. Maybe some kind of abstract meta description like magritte,
>>>>> that different tools can use.
>>>>>
>>>>> On 07 Mar 2014, at 16:43, Yuriy Tymchuk <yuriy.tymchuk(a)me.com> wrote:
>>>>>
>>>>> > Hi everyone.
>>>>> >
>>>>> > This day I've attended Moose dojo and I'm pretty impressed with the
>>>>> possibilities of GTInspector. The one thing that I've noticed is that both
>>>>> GTInspactor and EyeInspector support custom inspections for objects. I'm
>>>>> wandering if we can come up with a common protocol to give an object
>>>>> specific infector view, and not develop a separate thing for each inspector.
>>>>> >
>>>>> > Uko
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> www.tudorgirba.com
>>>>
>>>> "Every thing has its own flow"
>>>>
>>>
>>>
>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Every thing has its own flow"
>>
>
>
March 11, 2014
Re: [Pharo-dev] About inspectors
by Juan
Tudor
Thanks for amazing work, just report a trouble , i follow the
http://www.humane-assessment.com/blog/dynamic-exploration-of-a-postgres-db-…
Instructions and trying with one postgres database, one table with date
fields fire problem's SqNumberParser class is missing in moose image, and
the postgres
use this to read dates or timestamps fields .
best regards
jmdc
On Sun, Mar 9, 2014 at 7:06 PM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
> Thanks for the interest.
>
> I added now a new blog post in which I detail an investigation scenario of
> a Postgres DB with the GTInspector:
>
> http://www.humane-assessment.com/blog/dynamic-exploration-of-a-postgres-db-…
>
> The post includes a video that kind of gets you through the most important
> parts:
> - use the playground
> - query the DB and preview the results through dedicated presentations
> - navigate through objects and code to learn the API
> - build a visualization in place and continue exploration
> - extend the inspector with a dedicated presentation
>
> Please let me know what you think.
>
> Cheers,
> Doru
>
>
>
> On Sat, Mar 8, 2014 at 8:48 AM, phil(a)highoctane.be <phil(a)highoctane.be>wrote:
>
>> Doru,
>>
>> Where to look on your blog for a view on the essentials of this? I see
>> http://www.humane-assessment.com/blog/making-the-pharo-settings-browser-ope… example. A video?
>>
>> I look at the blog and vids but it is a bit hard to find a basic demo to
>> grasp things.
>>
>> TIA
>> Phil
>>
>>
>> On Sat, Mar 8, 2014 at 8:16 AM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>>
>>> I hope not. What are we trying to optimize?
>>>
>>> If you look closely at the GT work, you might notice that it is not just
>>> a tool, it's a whole new philosophy for coding. The EyeInspector picked
>>> only one aspect out of a whole.
>>>
>>> One high goal is to change programming such that the inspector +
>>> debugger to capture most of the coding experience. This is what live means.
>>> Right now, in the default Pharo we only code small things in the debugger
>>> and nothing in the inspector. We work on the idea of a moldable IDE that
>>> will change all that.
>>>
>>> Let's look at some facts. Right now, in my image I have 75 different
>>> extensions for GTInspector. And the total amount of lines of code has
>>> barely passed 1000 LOC (including all utility code). These are not just
>>> independent views, but they are combinable. The amount of use cases
>>> supported span a wide range: querying source code, visualizing performance,
>>> navigating file system, querying DB, and more (read the posts from
>>> humane-assessment.com for hints in this direction).
>>>
>>> We programmed most of these extensions from within the inspector both
>>> because it's fun and because it's significantly more productive. And I am
>>> not the only one. This power is not serendipity, it's by design. And we
>>> only started to untap this potential.
>>>
>>> There is still a long way for the concept of inspector and I believe
>>> there is a large payoff in it, too.
>>>
>>> Optimizing for a small thing now should not be the way to go :)
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>>
>>>
>>> On Fri, Mar 7, 2014 at 11:23 PM, Sven Van Caekenberghe <sven(a)stfx.eu>wrote:
>>>
>>>> Well I would hope that some kind of convergence would be possible in
>>>> the future. Maybe some kind of abstract meta description like magritte,
>>>> that different tools can use.
>>>>
>>>> On 07 Mar 2014, at 16:43, Yuriy Tymchuk <yuriy.tymchuk(a)me.com> wrote:
>>>>
>>>> > Hi everyone.
>>>> >
>>>> > This day I've attended Moose dojo and I'm pretty impressed with the
>>>> possibilities of GTInspector. The one thing that I've noticed is that both
>>>> GTInspactor and EyeInspector support custom inspections for objects. I'm
>>>> wandering if we can come up with a common protocol to give an object
>>>> specific infector view, and not develop a separate thing for each inspector.
>>>> >
>>>> > Uko
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Every thing has its own flow"
>>>
>>
>>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>
March 11, 2014
Re: [Pharo-dev] [Pharo-users] Phratch one-click
by Hilaire Fernandes
Hi Jannik,
Don't use the change/update event mecanism.
This mean a lot of changes in your model.
In DrGeo I use a simple loop to update the sketch, but i guess it is
more complicated with Pratch as you have parallel threads. In the other
hand, is the original Scratch implemented with change/update? If so why
it is not as slow?
Hilaire
Le 06/03/2014 20:42, jannik laval a écrit :
> Hi Hilaire,
>
> Hum, probably this comes from there...
> Could you explain a bit more how to change it ?
>
> Cheers,
> Jannik
>
>
> 2014-03-05 11:19 GMT+01:00 Hilaire Fernandes
> <hilaire.fernandes(a)gmail.com
> <mailto:hilaire.fernandes@gmail.com>>:
>
> For event, how is it developed?
>
> I remember, when I started developing DrGeo I used the change/update
> event mecanism. Then I dropped it for a simple linear top/down update of
> the geometric tree model, it becames much faster after that.
>
> Hilaire
>
> Le 05/03/2014 10:44, jannik laval a écrit :
> >
> > I think now that we need some profiling.
> > Any expert for that ?
> >
>
> --
> Dr. Geo http://drgeo.eu
>
>
>
>
>
> --
>
> ~~Jannik Laval~~
> Ãcole des Mines de Douai
> Enseignant-chercheur
> http://www.jannik-laval.eu
> http://car.mines-douai.fr/
>
--
Dr. Geo http://drgeo.eu
March 11, 2014
Re: [Pharo-dev] how can I test soundplugin?
by Esteban Lorenzano
so⦠I tested this (in mac, still does not tried in other platforms).
On 10 Mar 2014, at 19:33, J.F. Rick <self(a)je77.com> wrote:
> Yes, load PharoSound and do the following:
>
> SoundPlayer boinkScale.
> SoundService soundEnabled.
> SoundService registeredClasses.
> SoundService reset.
until here works.
> BaseSoundSystem soundEnabled: true.
> SoundService default.
> ss := SoundService default new.
> ss class soundEnabled.
> ss class soundEnabled: true.
> ss beep.
until here does not works, but looks like a package problem, not a plugin one.
> (FMSound lowMajorScaleOn: FMSound pluckedElecBass) play.
> (FMSound lowMajorScaleOn: FMSound randomWeird1) play.
> (FMSound majorScaleOn: FMSound oboe1) play.
> FMSound testFMInteractively.
> (SampledSound bachFugueVoice2On: SampledSound new) play.
> SoundPlayer shutDown
all of this works.
>
> SoundPlayer boinkScale.
> SoundService soundEnabled.
> BaseSoundSystem soundEnabled: true.
> FMSound testFMInteractively.
>
> sound := FMSound pitch: 'a4' dur: 1.0 loudness: 0.4.
> sound play.
all of this too.
>
> SoundService default new class soundEnabled: true.
> (FMSound pitch: 'a4' dur: 1.0 loudness: 0.4) play
and this too (which is the same as before).
So⦠I assume is working.
I will try in linux and windows now.
Esteban
>
>
> On Mon, Mar 10, 2014 at 5:33 PM, Esteban Lorenzano <estebanlm(a)gmail.com> wrote:
> Hi,
>
> Iâm working on the SoundPlugin (finally!) and I would like to know how can I test that is working.
> Is there a package or a script that I can execute to see if it is working?
>
> cheers,
> Esteban
>
>
>
> --
> Jochen "Jeff" Rick, Ph.D.
> http://www.je77.com/
> Skype ID: jochenrick
March 11, 2014
Re: [Pharo-dev] how can I test soundplugin?
by Esteban Lorenzano
On 11 Mar 2014, at 01:06, btc(a)openinworld.com wrote:
> J.F. Rick wrote:
>>
>> Yes, load PharoSound and do the following:
>>
>> SoundPlayer boinkScale.
>> SoundService soundEnabled.
>> SoundService registeredClasses.
>> SoundService reset.
>> BaseSoundSystem soundEnabled: true.
>> SoundService default.
>> ss := SoundService default new.
>> ss class soundEnabled.
>> ss class soundEnabled: true.
>> ss beep.
>> (FMSound lowMajorScaleOn: FMSound pluckedElecBass) play.
>> (FMSound lowMajorScaleOn: FMSound randomWeird1) play.
>> (FMSound majorScaleOn: FMSound oboe1) play.
>> FMSound testFMInteractively.
>> (SampledSound bachFugueVoice2On: SampledSound new) play.
>> SoundPlayer shutDown
>>
>> SoundPlayer boinkScale.
>> SoundService soundEnabled.
>> BaseSoundSystem soundEnabled: true.
>> FMSound testFMInteractively.
>>
>> sound := FMSound pitch: 'a4' dur: 1.0 loudness: 0.4.
>> sound play.
>>
>> SoundService default new class soundEnabled: true.
>> (FMSound pitch: 'a4' dur: 1.0 loudness: 0.4) play
>>
>> --
>> Jochen "Jeff" Rick, Ph.D.
>> http://www.je77.com/
>> Skype ID: jochenrick
>>
>>
>> On Mon, Mar 10, 2014 at 5:33 PM, Esteban Lorenzano <estebanlm(a)gmail.com> wrote:
>> Hi,
>>
>> Iâm working on the SoundPlugin (finally!) and I would like to know how can I test that is working.
>> Is there a package or a script that I can execute to see if it is working?
>>
>> cheers,
>> Esteban
>>
> That is really great news Esteban. Hope that includes Windows :)
working is working :)
>
> Does the SoundPlugin have sound input?
no idea :)
I just going to make sure the plugins works⦠but never worked on sound :P
Esteban
> It might be useful on the CI virtual machines to have an audio loopback so the image can test that it receives what it sends.
> * http://superuser.com/questions/55580/virtual-sound-card-driver-for-windows
> * http://forum.virtualaudiostreaming.net/topic24.html
> * http://www.pcworld.idg.com.au/article/73458/audio_-_looping_back_your_sound…
> * http://www.e2esoft.cn/vsc/
>
> I'd be interested in working on that aspect.
> cheers -ben
March 11, 2014
Re: [Pharo-dev] Sort by property
by Alexandre Bergel
hi Uko,
For Roassal, we have a #sortedAs: defined on all collections
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
SequenceableCollection>>sortedAs: aSortBlockOrSymbol
"Answer a SortedCollection whose elements are the elements of the
receiver. The sort order is defined by the argument, aSortBlock."
"Return a new collection. This method does not do a side effect"
| aSortedCollection aSortBlock |
aSortedCollection := SortedCollection new: self size.
aSortBlock :=
aSortBlockOrSymbol isSymbol
ifTrue: [ [:a :b | |t1 t2|
t1 := (a perform: aSortBlockOrSymbol).
t2 := (b perform: aSortBlockOrSymbol).
((t1 isKindOf: Boolean) and: [t2 isKindOf: Boolean])
ifTrue: [ t1 ]
ifFalse: [ t1 < t2 ] ] ]
ifFalse: [
(aSortBlockOrSymbol numArgs = 1)
ifTrue: [ [ :v1 :v2 | (aSortBlockOrSymbol value: v1) < (aSortBlockOrSymbol value: v2) ] ]
ifFalse: [ aSortBlockOrSymbol ] ].
aSortedCollection sortBlock: aSortBlock.
aSortedCollection addAll: self.
^ aSortedCollection
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
You can use it for example:
(1 to: 4) sortedAs: #odd
=> a SortedCollection(1 3 2 4)
Collection withAllSubclasses sortedAs: #numberOfMethods
=> a SortedCollection(HashBag IdentityHashBag â¦)
This is really handy. It should be part of Pharo I believe.
Cheers,
Alexandre
On Mar 11, 2014, at 5:19 AM, Yuriy Tymchuk <yuriy.tymchuk(a)me.com> wrote:
> Hi guys.
>
> This is a thing that I encounter quite often.
>
> Eg I have a collection of projects and I want to sort them by creation date. It would be nice to be able to do something like:
>
> projects sortByProp: #creationDate
>
> or by birth date of the author
>
> projects sortByProp: [ :proj | proj author birthDate ]
>
> Maybe Iâm wrong, but as Iâve told already I encounter it quite often and writing something like
>
> projects sortBy: [ :prev :next | prev creationDate <= next creationDate ]
>
> is boring for me.
>
> Cheers.
> Uko
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
March 11, 2014