Re: [Pharo-dev] Commenting the Session Manager

2017-04-13 Thread Stephane Ducasse
I love it

is hold -> is held?

On Thu, Apr 13, 2017 at 11:41 AM, Guillermo Polito <
guillermopol...@gmail.com> wrote:

> Hi all,
>
> I took some minutes to write down a class comment for the SessionManager
> class. There was an issue asking for it:
>
> https://pharo.fogbugz.com/f/cases/19463/Improve-
> SessionManager-class-comment
>
> Since it is an important topic, and sometimes too low level for some
> people, I'd like to have some feedback. Is it well explained? Is there
> something that is key for you and is missing?
>
> I know that the comment is not exhaustive, it can be iterated and
> enhanced, but we can have a nice first version of it for the release.
>
> Thanks,
> Guille
>
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>
>
> I am the object responsible of managing how sessions work in Pharo.
> A session defines the boundaries of work in the image.
>
> A new session starts when the image starts or when the image is saved.
> A session ends when the image quits or it is saved.
> There is only one active session at a single point of time.
> Saving the image causes the active to stop, and starts a new session.
>
> The current active session is hold by myself, the singleton session
> manager. It can be accessed by doing:
>
>   SessionManager default currentSession.
>
> The most important responsibility of the session manager is to manage how
> resources and services in the image are started up and shut down at the
> beginning and end of a session respectively. For example, when the image
> starts, several initialization routines should be executed to make sure
> that the image has access to the graphic drivers, the standard input/output
> file descriptors and so on.
>
> Such initialization happens in the #snapshot:andQuit: method.
> #snapshot:andQuit: will:
>  - stop current session
>  - save current image if requested
>  - quit if requested
>  - start a new session
>
> When a session is started, all elements registered in the startup list are
> started up.
> When a session is stopped, all elements registered in the shutdown list
> are shut down.
>
> # Managing Startup and Shutdown lists
>
> The startup and shutdown lists can be accessed through the messages:
>
> SessionManager default startupList.
> SessionManager default shutdownList.
>
> In general terms, the shutdown list is the startup list reversed.
>
> Upon a startup [shutdown], all elements in the startup list are sent the
> message #startup: [#shutdown:] with a boolean as argument that indicates
> wether the image is being saved [closed].
>
> Internally, startup and shutdown lists are prioritised. Priorities are
> managed by startup categories. By default the session manager includes the
> following categories in decreasing priority order:
>
> - System
> - Network
> - Graphical User Interface
> - Tools
> - User
>
> Categories can be accessed as follows:
>
> SessionManager default categoryNamed: aName.
>
> New categories can be registered in the system using the messages:
>
> SessionManager default createCategory: aCategoryName.
> SessionManager default createCategory: aCategoryName after:
> anotherCategoryName.
>
> Finally, to subscribe some resource handler to the startup shutdown lists,
> we need to subscribe a handler, subclass of AbstractSessionHandler.
> The most common handler implementation so far is the ClassSessionHandler,
> that allows to subscribe a class for startup and shutdown, keeping
> backwards compatibility to the old startup mechanism.
>
> ClassSessionHandler forClassNamed: aClassName
>
> We can register a session handler as follows
>
> SessionManager default
> register: (ClassSessionHandler forClassNamed: self name)
> inCategory: SessionManager default systemCategory.
> Or alternatively, by talking to the corresponding category:
>
> SessionManager default systemCategory register: (ClassSessionHandler
> forClassNamed: self name)
>
> # System Category Priorities
>
> A system category internally prioritizes its elements to provide a fine
> grained control on the startup and shutdown order.
> All methods above have variants that allow developers to specify the
> priority inside the category:
>
> SessionManager default
> register: (ClassSessionHandler forClassNamed: self name)
> inCategory: SessionManager default systemCategory
> atPriority: 100.
>
> SessionManager default systemCategory
> register: (ClassSessionHandler forClassNamed: self name)
> atPriority: 100
> By default, if no priority is specified, a default priority is used. Every
> category answers to the message #defaultPriority.
>
> # How does an image restart from the point it was before
>
> An important point in the image startup is how does it manage to restart
> from the point where it was executing when it was saved.
>
> When the image is saved, using the snapshot primitive, the entire image is
> freezed at the point of the snapshot.
> More particularly, the process that invoked the snapshot primitive is
> freezed at the point of the primitive c

Re: [Pharo-dev] changing default theme to DarkTheme

2017-04-14 Thread Stephane Ducasse
tx pavel!
We need a look that we can identify pharo 60 as pharo 60 :)


On Fri, Apr 14, 2017 at 2:42 PM, Pavel Krivanek 
wrote:

>
>
> 2017-04-14 13:48 GMT+02:00 Denis Kudriashov :
>
>>
>> 2017-04-14 13:27 GMT+02:00 Esteban Lorenzano :
>>
>>> But to me it is too late for such change. I am sure there are UI
>>> widgets/projects which looks horrible in dark. And people probably test
>>> them in pharo 6 before this change. So they will be very surprised.
>>>
>>>
>>> no, dark theme is around since 3 years and is very depurated. In fact,
>>> many people already use it as they preferred theme.
>>>
>>
>> Just open any project with Versioner. Symbolic versions are in green oval
>> with white label. It is almost unreadable.
>>
>
> Let's be constructive :-)
> https://pharo.fogbugz.com/f/cases/19935/Versionner-tags-
> are-unreadable-in-the-dark-theme
>
>
>>
>> Do you remember how many times Steph complains about style of current
>> white theme? I am sure he not deeply look into dark.
>>
>
>


Re: [Pharo-dev] changing default theme to DarkTheme

2017-04-15 Thread Stephane Ducasse
Hi Hernan

Why are you always so negative? Do you think that this is easy?

Inria paid Denis to build a remote tool suite for ***research purpose***
and we discovered that a new remote invocation framework was needed and
that they were far too many discussions between the model and the view.
Denis proposed to build a new browser (and it was not in our plans) and we
decided that we cannot do it otherwise.
We could keep this tool for us but we share it with the community.

Do you want another example?
I asked christopher to build versionner and he discovered that he cannot
script well enough the model. And versionner was made
for everybody. Now with git we will have to revise it.

Do you want another example?
Iceberg we payed nicolas passerini to analyse the situation and to build a
system that other people
can use it.

Do you want another example?
Esteban got in his face the FFI problem: you see Spur arrives and FFI
nabive boost does not so what do we do?
He worked like a mad (and it was not planned because we thought that igor
would adpta NB to spur then to 64 bits).
And the FFI is for everbody.

Do you want another example?
We spent one year with pavel, guillermo and christophe to make sure that we
can make sure that the three yars
effort of the phd of guillermo on bootstrap are not lost.

Do you want more?
All my books are open-source? Do you know how much time I take to write a
book?

I spent 8 months designing a mooc and do you know how much I earned doing
it: 3000 Euros ( so I will make the computation to know how much per hour I
lost) and the mooc is free.

May be all these examples have no value for you. But for me they have.

So you see you can piss on us if it makes you feeling better, and you can
rant in your corner.
But this is not the vision I have about a community because we are sharing
all the things that we are doing.

Stef




On Sat, Apr 15, 2017 at 9:05 AM, Hernán Morales Durand <
hernan.mora...@gmail.com> wrote:

>
> 2017-04-14 8:44 GMT-03:00 Denis Kudriashov :
>
>>
>> 2017-04-14 13:27 GMT+02:00 Esteban Lorenzano :
>>
>>> Also I am really wondering that this decision was not publicly
>>> discussed. We should vote for such kind of changes.
>>>
>>>
>>> no, this is not how it works.
>>>
>>
>> yes, it is how it could work :)
>>
>> Current approach is not bad for technical choices because it is difficult
>> to make everybody evolved in particular technical topic.
>> But look&feel is different. You just open Pharo and have impression is it
>> looks good or not. Voting can work here.
>>
>
> I would forget about it. I stopped waiting for votes long time ago in this
> community. Also I decided to stop contributing to external projects
> (including reporting bugs) because who knows which tool (browser, morphic,
> etc) the board would like to add/remove tomorrow. I will not invest my time
> fixing tools who knows what's the plan on them.
>
> The best you can do is to work in the dark and adapt your stuff with each
> new Pharo version.
> Of course anyone with enough time/money could fork a new more democratic
> Pharo ;)
>
> Hernán
>
>


Re: [Pharo-dev] changing default theme to DarkTheme

2017-04-15 Thread Stephane Ducasse
A final point I cannot work with the dark theme. But the interest of Pharo
is more important that own little ego.
I will try and put a preference if I fail. Why because we need to have a
different look for the version and I proposed this change!!

Stef

On Sat, Apr 15, 2017 at 9:05 AM, Hernán Morales Durand <
hernan.mora...@gmail.com> wrote:

>
> 2017-04-14 8:44 GMT-03:00 Denis Kudriashov :
>
>>
>> 2017-04-14 13:27 GMT+02:00 Esteban Lorenzano :
>>
>>> Also I am really wondering that this decision was not publicly
>>> discussed. We should vote for such kind of changes.
>>>
>>>
>>> no, this is not how it works.
>>>
>>
>> yes, it is how it could work :)
>>
>> Current approach is not bad for technical choices because it is difficult
>> to make everybody evolved in particular technical topic.
>> But look&feel is different. You just open Pharo and have impression is it
>> looks good or not. Voting can work here.
>>
>
> I would forget about it. I stopped waiting for votes long time ago in this
> community. Also I decided to stop contributing to external projects
> (including reporting bugs) because who knows which tool (browser, morphic,
> etc) the board would like to add/remove tomorrow. I will not invest my time
> fixing tools who knows what's the plan on them.
>
> The best you can do is to work in the dark and adapt your stuff with each
> new Pharo version.
> Of course anyone with enough time/money could fork a new more democratic
> Pharo ;)
>
> Hernán
>
>


Re: [Pharo-dev] changing default theme to DarkTheme

2017-04-15 Thread Stephane Ducasse
Hilaire

We are porting Moose in max two days for each version and it is around 150
packages.
Now if you want to be able to use Athens then one guy as to fix FFI
if you want to use Spur, 64bits.
So such kind of rants are totally useless, counterproductive and our
community deserves more.

I worked 4 months to write a project proposal to bring money in the
community and new people
and I may lose all my efforts if the project is not accepted and when I see
such kind of
behavior. I'm just thinking that it is UNFAIR
Stef

On Sat, Apr 15, 2017 at 4:04 PM, Hilaire  wrote:

> May be Herman is expressing some level of frustrations resulting from
> important changes occurring in the system release after release.
> Your listing of changes may afraid him even more ;-)
>
> From my point of view, Pharo is changing too fast to follow what's up
> and to adapt code. I am still lagging with Pharo3 on Dr.Geo :) But I am
> only an amateur programmer, professional programmer may fell just fine
> with this pace of change.
>
> But anyway, because of its energy and community, Pharo is definitely the
> best free Smalltalk horse around.
>
> Hilaire
>
> Le 15/04/2017 à 14:30, Stephane Ducasse a écrit :
> > Why are you always so negative? Do you think that this is easy?
> >
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>


Re: [Pharo-dev] changing default theme to DarkTheme

2017-04-15 Thread Stephane Ducasse
There is no voting for such default. Why because this is marketing!
I do not like the black theme but I find the white one not good either.
And we need to have a different look. So you will add a preference script
to set it back to white and perfect.

I fully agree with Cyril.

If one day we set a model it will be the one of avogado and with weight
based on contribution.

Stef

On Sat, Apr 15, 2017 at 4:48 PM, Hernán Morales Durand <
hernan.mora...@gmail.com> wrote:

> I vote for a voting system for these kind of changes. I cannot say it more
> clearly, and I don't know why is asking for a voting system negative?
>
> We all have problems. In the meantime you will make all the changes you
> like to do, and I will continue working on my own way, until I find there
> is more voice for the "small minority".
>
> 2017-04-15 9:30 GMT-03:00 Stephane Ducasse :
>
>> Hi Hernan
>>
>> Why are you always so negative? Do you think that this is easy?
>>
>> Inria paid Denis to build a remote tool suite for ***research purpose***
>> and we discovered that a new remote invocation framework was needed and
>> that they were far too many discussions between the model and the view.
>> Denis proposed to build a new browser (and it was not in our plans) and
>> we decided that we cannot do it otherwise.
>> We could keep this tool for us but we share it with the community.
>>
>> Do you want another example?
>> I asked christopher to build versionner and he discovered that he cannot
>> script well enough the model. And versionner was made
>> for everybody. Now with git we will have to revise it.
>>
>> Do you want another example?
>> Iceberg we payed nicolas passerini to analyse the situation and to build
>> a system that other people
>> can use it.
>>
>> Do you want another example?
>> Esteban got in his face the FFI problem: you see Spur arrives and FFI
>> nabive boost does not so what do we do?
>> He worked like a mad (and it was not planned because we thought that igor
>> would adpta NB to spur then to 64 bits).
>> And the FFI is for everbody.
>>
>> Do you want another example?
>> We spent one year with pavel, guillermo and christophe to make sure that
>> we can make sure that the three yars
>> effort of the phd of guillermo on bootstrap are not lost.
>>
>> Do you want more?
>> All my books are open-source? Do you know how much time I take to write a
>> book?
>>
>> I spent 8 months designing a mooc and do you know how much I earned doing
>> it: 3000 Euros ( so I will make the computation to know how much per hour I
>> lost) and the mooc is free.
>>
>> May be all these examples have no value for you. But for me they have.
>>
>> So you see you can piss on us if it makes you feeling better, and you can
>> rant in your corner.
>> But this is not the vision I have about a community because we are
>> sharing all the things that we are doing.
>>
>> Stef
>>
>>
>>
>>
>> On Sat, Apr 15, 2017 at 9:05 AM, Hernán Morales Durand <
>> hernan.mora...@gmail.com> wrote:
>>
>>>
>>> 2017-04-14 8:44 GMT-03:00 Denis Kudriashov :
>>>
>>>>
>>>> 2017-04-14 13:27 GMT+02:00 Esteban Lorenzano :
>>>>
>>>>> Also I am really wondering that this decision was not publicly
>>>>> discussed. We should vote for such kind of changes.
>>>>>
>>>>>
>>>>> no, this is not how it works.
>>>>>
>>>>
>>>> yes, it is how it could work :)
>>>>
>>>> Current approach is not bad for technical choices because it is
>>>> difficult to make everybody evolved in particular technical topic.
>>>> But look&feel is different. You just open Pharo and have impression is
>>>> it looks good or not. Voting can work here.
>>>>
>>>
>>> I would forget about it. I stopped waiting for votes long time ago in
>>> this community. Also I decided to stop contributing to external projects
>>> (including reporting bugs) because who knows which tool (browser, morphic,
>>> etc) the board would like to add/remove tomorrow. I will not invest my time
>>> fixing tools who knows what's the plan on them.
>>>
>>> The best you can do is to work in the dark and adapt your stuff with
>>> each new Pharo version.
>>> Of course anyone with enough time/money could fork a new more democratic
>>> Pharo ;)
>>>
>>> Hernán
>>>
>>>
>>
>


Re: [Pharo-dev] changing default theme to DarkTheme

2017-04-16 Thread Stephane Ducasse
clement esteban is using the dark theme since several years
phil too.
No new code!

On Sun, Apr 16, 2017 at 12:35 AM, Clément Bera 
wrote:

> Isn't a couple days before release a bit late to change the default theme
> ? Aren't we in feature freeze mode ?
>
> If for marketing it makes sense to switch to the dark theme, then let's
> switch to dark theme. But why not switching for Pharo 7 instead ?
> Instability is bad for marketing anyway, isn't it ?
>
> I don't mind for myself, I will always switch back with user settings to
> the light theme it's more about the general perception of Pharo stability.
>
> On Sat, Apr 15, 2017 at 11:31 AM, p...@highoctane.be 
> wrote:
>
>> Bah, I made GTSpotter dark theme work with SublimishTheme and got the
>> "yeah, for Pharo7".
>>
>> It is pissing me off but what can I say, just follow what is released.
>>
>> Compare Pharo 1 and Pharo 6. Worlds apart. I hope this continues.
>>
>> Phil
>>
>> On Sat, Apr 15, 2017 at 4:48 PM, Hernán Morales Durand <
>> hernan.mora...@gmail.com> wrote:
>>
>>> I vote for a voting system for these kind of changes. I cannot say it
>>> more clearly, and I don't know why is asking for a voting system negative?
>>>
>>> We all have problems. In the meantime you will make all the changes you
>>> like to do, and I will continue working on my own way, until I find there
>>> is more voice for the "small minority".
>>>
>>> 2017-04-15 9:30 GMT-03:00 Stephane Ducasse :
>>>
>>>> Hi Hernan
>>>>
>>>> Why are you always so negative? Do you think that this is easy?
>>>>
>>>> Inria paid Denis to build a remote tool suite for ***research
>>>> purpose*** and we discovered that a new remote invocation framework was
>>>> needed and that they were far too many discussions between the model and
>>>> the view.
>>>> Denis proposed to build a new browser (and it was not in our plans) and
>>>> we decided that we cannot do it otherwise.
>>>> We could keep this tool for us but we share it with the community.
>>>>
>>>> Do you want another example?
>>>> I asked christopher to build versionner and he discovered that he
>>>> cannot script well enough the model. And versionner was made
>>>> for everybody. Now with git we will have to revise it.
>>>>
>>>> Do you want another example?
>>>> Iceberg we payed nicolas passerini to analyse the situation and to
>>>> build a system that other people
>>>> can use it.
>>>>
>>>> Do you want another example?
>>>> Esteban got in his face the FFI problem: you see Spur arrives and FFI
>>>> nabive boost does not so what do we do?
>>>> He worked like a mad (and it was not planned because we thought that
>>>> igor would adpta NB to spur then to 64 bits).
>>>> And the FFI is for everbody.
>>>>
>>>> Do you want another example?
>>>> We spent one year with pavel, guillermo and christophe to make sure
>>>> that we can make sure that the three yars
>>>> effort of the phd of guillermo on bootstrap are not lost.
>>>>
>>>> Do you want more?
>>>> All my books are open-source? Do you know how much time I take to write
>>>> a book?
>>>>
>>>> I spent 8 months designing a mooc and do you know how much I earned
>>>> doing it: 3000 Euros ( so I will make the computation to know how much per
>>>> hour I lost) and the mooc is free.
>>>>
>>>> May be all these examples have no value for you. But for me they have.
>>>>
>>>> So you see you can piss on us if it makes you feeling better, and you
>>>> can rant in your corner.
>>>> But this is not the vision I have about a community because we are
>>>> sharing all the things that we are doing.
>>>>
>>>> Stef
>>>>
>>>>
>>>>
>>>>
>>>> On Sat, Apr 15, 2017 at 9:05 AM, Hernán Morales Durand <
>>>> hernan.mora...@gmail.com> wrote:
>>>>
>>>>>
>>>>> 2017-04-14 8:44 GMT-03:00 Denis Kudriashov :
>>>>>
>>>>>>
>>>>>> 2017-04-14 13:27 GMT+02:00 Esteban Lorenzano :
>>>>>>
>>>>>>> Also I am really wondering that this decision was not publicly
>>>>>>> discussed. We should vote for such kind of changes.
>>>>>>>
>>>>>>>
>>>>>>> no, this is not how it works.
>>>>>>>
>>>>>>
>>>>>> yes, it is how it could work :)
>>>>>>
>>>>>> Current approach is not bad for technical choices because it is
>>>>>> difficult to make everybody evolved in particular technical topic.
>>>>>> But look&feel is different. You just open Pharo and have impression
>>>>>> is it looks good or not. Voting can work here.
>>>>>>
>>>>>
>>>>> I would forget about it. I stopped waiting for votes long time ago in
>>>>> this community. Also I decided to stop contributing to external projects
>>>>> (including reporting bugs) because who knows which tool (browser, morphic,
>>>>> etc) the board would like to add/remove tomorrow. I will not invest my 
>>>>> time
>>>>> fixing tools who knows what's the plan on them.
>>>>>
>>>>> The best you can do is to work in the dark and adapt your stuff with
>>>>> each new Pharo version.
>>>>> Of course anyone with enough time/money could fork a new more
>>>>> democratic Pharo ;)
>>>>>
>>>>> Hernán
>>>>>
>>>>>
>>>>
>>>
>>
>


[Pharo-dev] esteban is on vacation this week....

2017-04-16 Thread Stephane Ducasse
like that you understand why he is no replying


Re: [Pharo-dev] Help currency review

2017-04-16 Thread Stephane Ducasse
tx ben
indeed this is nice to update this text
s.

On Sat, Apr 8, 2017 at 4:25 AM, Ben Coman  wrote:

> At this late stage of Pharo 6 development, it might be good to do a pass
> at...
> World > Help > Help Browser content
>
> Epicea >Browsers - mentions two separate browser windows
>
> GT Debugger >> Actions - TODO
>
> GT Playground >> Overview - http://gt.moosetechnology.org redirects to
> http://gtoolkit.org/
> and same for several GT entries
>
> Welcome > Getting Help says...
> - The "Pharo Users" mailing list: http://lists.pharo.org/
> mailman/listinfo/pharo-users_lists.pharo.org
> - The "Pharo Slack Team": http://slack4pharo.trentosur.com/
> - The "Pharo IRC Channel": irc.freenode.net, #pharo channel
> - http://pharo.org/community
>
> So we should change from Slack to Discord.
> I can take care of this one but a couple questions...
>
> 1. I propose a Discord #Help channel to record here in the help browser.
>
> 2. I bumped into an interesting tip
> https://www.reddit.com/r/discordapp/comments/3yu1bh/
> server_vs_channel_invites/
>
> Thus I propose we have a #Welcome channel providing info like what the bot
> has been providing.
> Later it could be good to have a bot just in that channel, but not off
> someone's home server :)
> I would expect that channel to not need anyone lurking in it.  Newcomers
> will jump immediately
> from there #Help or #General
>
> 3. How active is the IRC channel?  Should we remove it from the help
> browser?
> The mention at http://pharo.org/community could be sufficient.
>
> 4. Should we backport this help info update to Pharo 5?
>
> cheers -ben
>
>


Re: [Pharo-dev] changing default theme to DarkTheme

2017-04-16 Thread Stephane Ducasse
did you publish the blue theme as an autonomous package?

On Sun, Apr 16, 2017 at 2:18 PM, Dimitris Chloupis 
wrote:

> Me too, even my blue theme is nothing more than a customization of dark
> theme. Plus dark theme is based on darcula dark theme which is by far the
> most popular dark theme out there.
> On Sun, 16 Apr 2017 at 14:27, Stephane Ducasse 
> wrote:
>
>> clement esteban is using the dark theme since several years
>> phil too.
>> No new code!
>>
>> On Sun, Apr 16, 2017 at 12:35 AM, Clément Bera 
>> wrote:
>>
>>> Isn't a couple days before release a bit late to change the default
>>> theme ? Aren't we in feature freeze mode ?
>>>
>>> If for marketing it makes sense to switch to the dark theme, then let's
>>> switch to dark theme. But why not switching for Pharo 7 instead ?
>>> Instability is bad for marketing anyway, isn't it ?
>>>
>>> I don't mind for myself, I will always switch back with user settings to
>>> the light theme it's more about the general perception of Pharo stability.
>>>
>>> On Sat, Apr 15, 2017 at 11:31 AM, p...@highoctane.be >> > wrote:
>>>
>>>> Bah, I made GTSpotter dark theme work with SublimishTheme and got the
>>>> "yeah, for Pharo7".
>>>>
>>>> It is pissing me off but what can I say, just follow what is released.
>>>>
>>>> Compare Pharo 1 and Pharo 6. Worlds apart. I hope this continues.
>>>>
>>>> Phil
>>>>
>>>> On Sat, Apr 15, 2017 at 4:48 PM, Hernán Morales Durand <
>>>> hernan.mora...@gmail.com> wrote:
>>>>
>>>>> I vote for a voting system for these kind of changes. I cannot say it
>>>>> more clearly, and I don't know why is asking for a voting system negative?
>>>>>
>>>>> We all have problems. In the meantime you will make all the changes
>>>>> you like to do, and I will continue working on my own way, until I find
>>>>> there is more voice for the "small minority".
>>>>>
>>>>> 2017-04-15 9:30 GMT-03:00 Stephane Ducasse :
>>>>>
>>>>>> Hi Hernan
>>>>>>
>>>>>> Why are you always so negative? Do you think that this is easy?
>>>>>>
>>>>>> Inria paid Denis to build a remote tool suite for ***research
>>>>>> purpose*** and we discovered that a new remote invocation framework was
>>>>>> needed and that they were far too many discussions between the model and
>>>>>> the view.
>>>>>> Denis proposed to build a new browser (and it was not in our plans)
>>>>>> and we decided that we cannot do it otherwise.
>>>>>> We could keep this tool for us but we share it with the community.
>>>>>>
>>>>>> Do you want another example?
>>>>>> I asked christopher to build versionner and he discovered that he
>>>>>> cannot script well enough the model. And versionner was made
>>>>>> for everybody. Now with git we will have to revise it.
>>>>>>
>>>>>> Do you want another example?
>>>>>> Iceberg we payed nicolas passerini to analyse the situation and to
>>>>>> build a system that other people
>>>>>> can use it.
>>>>>>
>>>>>> Do you want another example?
>>>>>> Esteban got in his face the FFI problem: you see Spur arrives and FFI
>>>>>> nabive boost does not so what do we do?
>>>>>> He worked like a mad (and it was not planned because we thought that
>>>>>> igor would adpta NB to spur then to 64 bits).
>>>>>> And the FFI is for everbody.
>>>>>>
>>>>>> Do you want another example?
>>>>>> We spent one year with pavel, guillermo and christophe to make sure
>>>>>> that we can make sure that the three yars
>>>>>> effort of the phd of guillermo on bootstrap are not lost.
>>>>>>
>>>>>> Do you want more?
>>>>>> All my books are open-source? Do you know how much time I take to
>>>>>> write a book?
>>>>>>
>>>>>> I spent 8 months designing a mooc and do you know how much I earned
>>>>>> doing it: 3000 Euros ( so I will make the computation to know how much 
>>>>>> per
>

[Pharo-dev] Pharo days: Register to help the organisation

2017-04-19 Thread Stephane Ducasse
Hi

I know that some of you planned to come to the conference but did not yet
register.
Please do it fast because we should plan the social event and the lunches.

Stef


[Pharo-dev] In the quest of a new iterator :)

2017-04-19 Thread Stephane Ducasse
Hi

I have

 #(#Object #subclass: #Point #instanceVariableNames: 'x y'
#classVariableNames: '' #package: 'Kernel-BasicObjects') and I would like
to select on the second elements.

I was thinking that

 #(#Object #subclass: #Point #instanceVariableNames: 'x y'
#classVariableNames: '' #package: 'Kernel-BasicObjects') selectEvery: [ :i
| i \\ 2 = 0 ]
could be a nice iterator.

What do you think?


Stef


Re: [Pharo-dev] In the quest of a new iterator :)

2017-04-19 Thread Stephane Ducasse
why?
Iterators are powerful and avoid that we all reinvent the wheel in our own
corners.

About keySelect: I do not see the point to convert a large collection into
a dictionary then do yet another pass.
To me it looks like a hack.

I implemented
selectEvery:
(selectFirst selectSecond) as helpers.

and also unzip all in one pass.
Now I have no problem to keep them for me but to me this is the wrong
attitude.

Stef


testSelectEveryFirst
self assert: (#(#Object #subclass: #Point #instanceVariableNames: 'x y'
#classVariableNames: '' #package: 'Kernel-BasicObjects') selectEveryFirst)
asArray equals: #(#Object #Point 'x y'  '' 'Kernel-BasicObjects')
testSelectEverySecond self assert: (#(#Object #subclass: #Point
#instanceVariableNames: 'x y' #classVariableNames: '' #package:
'Kernel-BasicObjects') selectEverySecond) asArray equals: #(#subclass:
#instanceVariableNames: #classVariableNames: #package:)
testUnzip
| uz |
uz := #(#Object #subclass: #Point #instanceVariableNames: 'x y'
#classVariableNames: '' #package: 'Kernel-BasicObjects') unzip.
self assert: uz first asArray equals: #(#Object #Point 'x y'  ''
'Kernel-BasicObjects').
self assert: uz second asArray equals: #(#subclass: #instanceVariableNames:
#classVariableNames: #package:)


On Wed, Apr 19, 2017 at 9:05 PM, Esteban A. Maringolo 
wrote:

> 2017-04-19 15:43 GMT-03:00 Stephane Ducasse :
> > Hi
> >
> > I have
> >
> >  #(#Object #subclass: #Point #instanceVariableNames: 'x y'
> > #classVariableNames: '' #package: 'Kernel-BasicObjects') and I would
> like to
> > select on the second elements.
> >
> > I was thinking that
> >
> >  #(#Object #subclass: #Point #instanceVariableNames: 'x y'
> > #classVariableNames: '' #package: 'Kernel-BasicObjects') selectEvery: [
> :i |
> > i \\ 2 = 0 ]
> > could be a nice iterator.
> >
> > What do you think?
>
> I think I wouldn't add a new enumerating selector to the core classes.
>
> If it needs to be there, I would replace it by #keysSelect:
>
> So it would work to select based on the keys of the receiver (indexes
> for sequenced collections) but also would work as it does for
> #keysAndValuesDo: implementors.
>
> Regards,
>
>
> --
> Esteban.
>
>


Re: [Pharo-dev] changing default theme to DarkTheme

2017-04-19 Thread Stephane Ducasse
For the mooc we have normally an image: it is called Pharo 50.

S.

On Mon, Apr 17, 2017 at 3:34 PM, Mark Bestley  wrote:

> Dimitris Chloupis 
> wrote:
>
> > --001a113a8620c74f7a054d5aba55
> > Content-Type: text/plain; charset=UTF-8
> >
> > Not before IMMEDIATELY realizing that all screenshots containing the
> white
> > theme are outdated and will IMMEDIATELY prefer the dark ones that will
> have
> > an updated view of the Pharo GUI compared to a screenshot that has the
> > white theme and it's outdated by two or more years.
> >
>
> No they will think it is for a different environment and waste time
> looking for a match.
>
> A beginner won't see that just that they cannot get the same answer as
> the mooc or documentation.
>
> They will look for a language where the documentation matches what they
> get as they don't know if the documentation or their code is wrong. (and
> probably cast aspersions on the quality of what they are using)
>
> > Updating the screenshots for PBE5 was a big pain and I am sure there are
> > ones that are left that are still outdated showing 1.4 , which is at
> least
> > 6 years old.
> >
>
> --
> Mark
>
>
>


Re: [Pharo-dev] In the quest of a new iterator :)

2017-04-20 Thread Stephane Ducasse
This is what I was looking for.



On Wed, Apr 19, 2017 at 10:54 PM, Sven Van Caekenberghe 
wrote:

> There are already #pairsDo: and #pairsCollect: that could be used:
>
> #(a b c d e f g h) pairsCollect: [ :x :y | y ]
>
> => #(#b #d #f #h)
>
> > On 19 Apr 2017, at 22:12, Tudor Girba  wrote:
> >
> > I like this one.
> >
> > Doru
> >
> >
> >> On Apr 19, 2017, at 8:43 PM, Stephane Ducasse 
> wrote:
> >>
> >> Hi
> >>
> >> I have
> >>
> >> #(#Object #subclass: #Point #instanceVariableNames: 'x y'
> #classVariableNames: '' #package: 'Kernel-BasicObjects') and I would like
> to select on the second elements.
> >>
> >> I was thinking that
> >>
> >> #(#Object #subclass: #Point #instanceVariableNames: 'x y'
> #classVariableNames: '' #package: 'Kernel-BasicObjects') selectEvery: [ :i
> | i \\ 2 = 0 ]
> >> could be a nice iterator.
> >>
> >> What do you think?
> >>
> >>
> >> Stef
> >>
> >
> > --
> > www.tudorgirba.com
> > www.feenk.com
> >
> > "Innovation comes in the least expected form.
> > That is, if it is expected, it already happened."
> >
> >
>
>
>


Re: [Pharo-dev] In the quest of a new iterator :)

2017-04-20 Thread Stephane Ducasse
Yes this is probably what I was also looking for.

On Wed, Apr 19, 2017 at 11:07 PM, Peter Uhnak  wrote:

> We already have
>
> * #withIndexCollect:
> * #withIndexDo:
>
>
> So why not #withIndexSelect: ?
>
> #(#Object #subclass: #Point #instanceVariableNames:) withIndexSelect: [
> :each :i | i \\ 2 = 0 ]
>
> Peter
>
> p.s. for every second you could also do
> aCollection pairsCollect: [ :first :second | second ]
>
>
> On Wed, Apr 19, 2017 at 04:35:07PM -0300, Esteban A. Maringolo wrote:
> > 2017-04-19 16:17 GMT-03:00 Stephane Ducasse :
> > > why?
> > > Iterators are powerful and avoid that we all reinvent the wheel in our
> own
> > > corners.
> > >
> > > About keySelect: I do not see the point to convert a large collection
> into a
> > > dictionary then do yet another pass.
> > > To me it looks like a hack.
> >
> > keySelect: would do a select based on the key (index in the case of
> > SequenceableCollection) of the element, no need to create a
> > Dictionary.
> >
> > keySelect: aBlock
> >   | result |
> >   result := self species new.
> >   self keysAndValuesDo: [:key :value |
> >  (aBlock value: key) ifTrue: [result add: value]
> >   ].
> >   ^result
> >
> >
> > You could implement #selectEverySecond or #selectEveryFirst in terms
> > of the above. The name sounds weird though, but I'm not a native
> > English speaker.
> >
> > Regarding #unzip it's a different story, I wouldn't use 'zip' in a
> > selector for non Zip (compression) related methods.
> >
> > But do as you please, Pharo is yours as well ;)
> >
> > Regards!
> >
> >
> > > I implemented
> > > selectEvery:
> > > (selectFirst selectSecond) as helpers.
> > >
> > > and also unzip all in one pass.
> > > Now I have no problem to keep them for me but to me this is the wrong
> > > attitude.
> > >
> > > Stef
> > >
> > >
> > > testSelectEveryFirst
> > > self assert: (#(#Object #subclass: #Point #instanceVariableNames: 'x y'
> > > #classVariableNames: '' #package: 'Kernel-BasicObjects')
> selectEveryFirst)
> > > asArray equals: #(#Object #Point 'x y'  '' 'Kernel-BasicObjects')
> > > testSelectEverySecond self assert: (#(#Object #subclass: #Point
> > > #instanceVariableNames: 'x y' #classVariableNames: '' #package:
> > > 'Kernel-BasicObjects') selectEverySecond) asArray equals: #(#subclass:
> > > #instanceVariableNames: #classVariableNames: #package:)
> > > testUnzip
> > > | uz |
> > > uz := #(#Object #subclass: #Point #instanceVariableNames: 'x y'
> > > #classVariableNames: '' #package: 'Kernel-BasicObjects') unzip.
> > > self assert: uz first asArray equals: #(#Object #Point 'x y'  ''
> > > 'Kernel-BasicObjects').
> > > self assert: uz second asArray equals: #(#subclass:
> #instanceVariableNames:
> > > #classVariableNames: #package:)
> >
> >
> > Esteban A. Maringolo
> >
>
>


Re: [Pharo-dev] In the quest of a new iterator :)

2017-04-20 Thread Stephane Ducasse
Peter

can you send an implementation and a bunch of tests :)

Stef

On Wed, Apr 19, 2017 at 11:07 PM, Peter Uhnak  wrote:

> We already have
>
> * #withIndexCollect:
> * #withIndexDo:
>
>
> So why not #withIndexSelect: ?
>
> #(#Object #subclass: #Point #instanceVariableNames:) withIndexSelect: [
> :each :i | i \\ 2 = 0 ]
>
> Peter
>
> p.s. for every second you could also do
> aCollection pairsCollect: [ :first :second | second ]
>
>
> On Wed, Apr 19, 2017 at 04:35:07PM -0300, Esteban A. Maringolo wrote:
> > 2017-04-19 16:17 GMT-03:00 Stephane Ducasse :
> > > why?
> > > Iterators are powerful and avoid that we all reinvent the wheel in our
> own
> > > corners.
> > >
> > > About keySelect: I do not see the point to convert a large collection
> into a
> > > dictionary then do yet another pass.
> > > To me it looks like a hack.
> >
> > keySelect: would do a select based on the key (index in the case of
> > SequenceableCollection) of the element, no need to create a
> > Dictionary.
> >
> > keySelect: aBlock
> >   | result |
> >   result := self species new.
> >   self keysAndValuesDo: [:key :value |
> >  (aBlock value: key) ifTrue: [result add: value]
> >   ].
> >   ^result
> >
> >
> > You could implement #selectEverySecond or #selectEveryFirst in terms
> > of the above. The name sounds weird though, but I'm not a native
> > English speaker.
> >
> > Regarding #unzip it's a different story, I wouldn't use 'zip' in a
> > selector for non Zip (compression) related methods.
> >
> > But do as you please, Pharo is yours as well ;)
> >
> > Regards!
> >
> >
> > > I implemented
> > > selectEvery:
> > > (selectFirst selectSecond) as helpers.
> > >
> > > and also unzip all in one pass.
> > > Now I have no problem to keep them for me but to me this is the wrong
> > > attitude.
> > >
> > > Stef
> > >
> > >
> > > testSelectEveryFirst
> > > self assert: (#(#Object #subclass: #Point #instanceVariableNames: 'x y'
> > > #classVariableNames: '' #package: 'Kernel-BasicObjects')
> selectEveryFirst)
> > > asArray equals: #(#Object #Point 'x y'  '' 'Kernel-BasicObjects')
> > > testSelectEverySecond self assert: (#(#Object #subclass: #Point
> > > #instanceVariableNames: 'x y' #classVariableNames: '' #package:
> > > 'Kernel-BasicObjects') selectEverySecond) asArray equals: #(#subclass:
> > > #instanceVariableNames: #classVariableNames: #package:)
> > > testUnzip
> > > | uz |
> > > uz := #(#Object #subclass: #Point #instanceVariableNames: 'x y'
> > > #classVariableNames: '' #package: 'Kernel-BasicObjects') unzip.
> > > self assert: uz first asArray equals: #(#Object #Point 'x y'  ''
> > > 'Kernel-BasicObjects').
> > > self assert: uz second asArray equals: #(#subclass:
> #instanceVariableNames:
> > > #classVariableNames: #package:)
> >
> >
> > Esteban A. Maringolo
> >
>
>


Re: [Pharo-dev] In the quest of a new iterator :)

2017-04-20 Thread Stephane Ducasse
Hi nicolas

Yes but it looks strange :)
but indeed having a

#keysAndValuesSelect: #keysAndValuesCollect:

And it would be good to have #withIndexDo: following the same orders for
argument.



On Thu, Apr 20, 2017 at 6:31 PM, Nicolas Cellier <
nicolas.cellier.aka.n...@gmail.com> wrote:

>
>
> 2017-04-20 17:06 GMT+02:00 Ben Coman :
>
>>
>>
>> On Thu, Apr 20, 2017 at 3:17 AM, Stephane Ducasse <
>> stepharo.s...@gmail.com> wrote:
>>
>>> why?
>>> Iterators are powerful and avoid that we all reinvent the wheel in our
>>> own corners.
>>>
>>> About keySelect: I do not see the point to convert a large collection
>>> into a dictionary then do yet another pass.
>>> To me it looks like a hack.
>>>
>>> I implemented
>>> selectEvery:
>>> (selectFirst selectSecond) as helpers.
>>>
>>> and also unzip all in one pass.
>>> Now I have no problem to keep them for me but to me this is the wrong
>>> attitude.
>>>
>>> Stef
>>>
>>>
>>> testSelectEveryFirst
>>> self assert: (#(#Object #subclass: #Point #instanceVariableNames: 'x y'
>>> #classVariableNames: '' #package: 'Kernel-BasicObjects') selectEveryFirst)
>>> asArray equals: #(#Object #Point 'x y'  '' 'Kernel-BasicObjects')
>>>
>>
>>
>> selectEveryFirst seems a strange name, not indicating the skip amount.
>> The first of every three? or four?  As it stand, technically I'd think
>> its result would
>> be equals: (#(#Object #subclass: #Point #instanceVariableNames: 'x y'
>> #classVariableNames: '' #package: 'Kernel-BasicObjects')
>>
>> +1 to Peter's suggested #withIndexSelect:
>>
>> cheers -ben
>>
>
> On the other hand, we have #keysAndValuesDo: which competes with
> #withIndexDo: and is a bit more portable across dialects
> (it's just that it turns the bloc parameters the other way around, [:index
> :element | ])
>
> So maybe this should have been #keysAndValuesSelect: #keysAndValuesCollect:
>
> Reminder, keys does not mean Dictionary, in an IndexedCollection (or maybe
> a SequenceableCollection) the keys are indices. Or the other way around, a
> Dictionary is indexed by arbitrary keys (not just positive integers).
>


Re: [Pharo-dev] Pharo 5 and retina displays in 2017?

2017-04-20 Thread Stephane Ducasse
retina should be supported.
Now we need to get rid of bug induced by freetype and what would be better
is to have the time to breath and think.
Because right now FFI and 64 bits sucked most of the attention of esteban.

For Bloc yes it got more traction but we will know more during PharoDays I
imagine.

Stef


On Thu, Apr 20, 2017 at 2:27 PM, Tim Mackinnon  wrote:

> I mentioned this last year - and I’m wondering if there is any news or
> developments on making Pharo look better on higher end hardware like
> Macbook’s and Dell’s?
>
> I keep dipping into Pharo but every time I see the blurry screen, it just
> takes away the shine for me (which is a bit sad)?
>
> Is Bloc getting much traction?
>
> Tim
>
>
> On 23 Dec 2016, at 09:29, Tim Mackinnon  wrote:
>
> Thanks for the update - that is exciting and gives me some hope.
>
> What do we need to do to help bloc advance at pace?
>
> Tim
>
> Sent from my iPhone
>
> On 23 Dec 2016, at 01:22, Yuriy Tymchuk  wrote:
>
> Hi Tim,
>
> it’s coming, but it needs some time: https://twitter.com/
> aliakseisyrel/status/812065956856025088
>
> On 1 Dec 2016, at 14:44, Tim Mackinnon  wrote:
>
> To give people a better view of this - here is the Pharo image next to the
> mail client (I’m not sure if the screen captures really do it justice as
> when you scale them down in a picture everything looks fine - however if I
> zoom into that bottom corner in a second image it might make it more
> obvious).
>
> I think this has been a problem brewing for a while, but if most
> contributors don’t have retina screens (although they are getting much more
> common now) then I guess it goes unnoticed. I suspect in the next few
> years, as people start replacing machines - it will gain more visibility.
>
> I find it quite distracting when switching from mail or other apps to
> Pharo and then you notice the fuzziness. Maybe if you spend a few hours in
> the code you might adjust.
>
> Tim
>
>
>
> The following is the bottom corner zoom in to show what I mean by fuzzy:
>
>
> 
>
> On 30 Nov 2016, at 23:53, Stephan Eggermont  wrote:
>
> On 30/11/16 20:32, Sven Van Caekenberghe wrote:
>
> Maybe, but the thing is, you are looking at it half size, in some
> sense, when it is on a Retina display. Anyway, to me, it is OK, but
> my eyes are no longer what they used to be. I can imagine young
> people being more sensitive to it.
>
>
> Nah, it just is blurry. I've played a bit with krono's vm, and it is
> a very noticable difference. Much better readable and less tiring.
> And you mostly only notice when trying to go back from HiDPI to low.
>
> Stephan
>
>
>
>
>
>


Re: [Pharo-dev] #renameTo: and #moveTo:

2017-04-20 Thread Stephane Ducasse
Thanks for looking at this. We should really improve this part.

On Wed, Apr 19, 2017 at 9:41 PM, Alistair Grant 
wrote:

> Hi All,
>
> While recently running the test suite I've been getting failures in
> FileLocatorTest>>testMoveTo if the working directory when the test
> is run is on a different unix file system to the user's home directory.
>
> The failing primitive is 'primitiveFileRename' in module 'FilePlugin',
> which calls rename(), which is presumably part of libc - I didn't chase
> it back through the C code.
>
> libc rename() requires the source and destination filenames to be on the
> same file system.
>
> This has been discussed multiple times before:
>
> https://pharo.fogbugz.com/f/cases/13957/Add-exception-for-
> cross-volume-folder-renames
> https://pharo.fogbugz.com/f/cases/12992/Cannot-move-files-
> to-another-volume-partition-under-linux
> https://pharo.fogbugz.com/f/cases/12965/Cannot-moveTo-FileLocator
>
> Issue 12965 is even supposed to include a fix, although when I searched
> through the slice I couldn't find anything that actually looked like a
> fix.
>
> As Nicolai suggested in 12965, the obvious solution is to implement move
> as copy+delete.  It looks like there isn't an easy way to check whether
> the two files are on the same unix file system, so presumably it would
> be implemented as try to rename, and if that fails, try to copy and
> delete.
>
> Is there a reason not to propose this as a patch?
>
> Thanks,
> Alistair
>
>


Re: [Pharo-dev] do we "how to use Announcements" somewhere

2017-04-21 Thread Stephane Ducasse
But someone has to enhance documentation because I start to have no energy
for documenting other works.

Stef

On Fri, Apr 21, 2017 at 4:14 AM, Ben Coman  wrote:

> On Fri, Apr 21, 2017 at 10:12 AM, Ben Coman  wrote:
> > On Fri, Apr 21, 2017 at 5:47 AM, Peter Uhnak  wrote:
> >> I was just explaining how Announcer/Announcements work to somebody
> because I couldn't find any online resource, but I thought I saw it
> somewhere.
> >>
> >> Do we have it explained in some book?
> >>
> >> Peter
> >>
> >
> > I remember finding this tutorial very instructive.  Its quite old so
> > I'm not sure how current it is, but I don't think much has changed
> > with the Announcements API.
> > http://pharo.dougedmunds.com/pmwiki.php?n=Pharo.AnnouncementsTutorial
> >
> > Also...
> > http://pharo.gemtalksystems.com/book/LanguageAndLibraries/announcements/
> > and...
> > https://pharoweekly.wordpress.com/2016/09/03/building-an-
> announcement-spy-in/
> >
> > cheers -ben
>
> Oh, and...
> https://github.com/SquareBracketAssociates/PharoLimbo/blob/master/
> Announcements/Announcements.pdf
>
> cheers -ben
>
>


Re: [Pharo-dev] Traits methods flattened

2017-04-22 Thread Stephane Ducasse
Thanks Pavel!!!
I'm so tired and exhausted I nearly slept all the afternoon :(
Not good. But I will recover.

On Sat, Apr 22, 2017 at 4:42 PM, Pavel Krivanek 
wrote:

> backported:
> https://pharo.fogbugz.com/f/cases/19974/backport-Traits-
> methods-flattened-case-19938
>
> Test please...
> -- Pavel
>
> 2017-04-22 16:31 GMT+02:00 Hilaire :
>
>> Hello again,
>>
>> The slice did not load the necessary dependency.
>>
>> Now, the test code provided in the bug ticket pass.
>>
>> However my package with non trivial Traits use is still not saved
>> correctly: traits methods are flattened in the user classes.
>>
>> I can share a fileout of the package for testing and bug tracking.
>>
>> Hilaire
>>
>>
>> Le 21/04/2017 à 19:24, Ben Coman a écrit :
>> > On Sat, Apr 22, 2017 at 12:54 AM, Hilaire  wrote:
>> >> Hi,
>> >>
>> >> I installed the slice in a Pharo5 image. It does not work on my
>> package,
>> >> nor the the test package.
>> >>
>> >> https://pharo.fogbugz.com/f/cases/19938
>> >>
>> >> Does the slice only work on Pharo6?
>> > I don't know, but I see sixty Trait related issues integrated into
>> Pharo 6.
>> > https://tinyurl.com/Pharo60IssuesTraits
>>
>> --
>> Dr. Geo
>> http://drgeo.eu
>>
>>
>>
>>
>


Re: [Pharo-dev] [Vm-dev] Order of evaluation bug with in lined to:do: in both Opal and Squeak compilers.

2017-04-22 Thread Stephane Ducasse
I'm happy that we can remove bugs. We should redo a pass on Opal and
enhance it because we need a better architecture for our future.

Stef

On Fri, Apr 21, 2017 at 9:20 AM, Nicolai Hess  wrote:

> John Brant discovered this bug recenlty:
>
> (see bottom of his post)
> http://forum.world.st/collection-flatCollect-something-VS-collection-
> collect-something-flattened-tp4929422p4929479.html
>
>
>
> 2017-04-21 1:56 GMT+02:00 Eliot Miranda :
>
>>
>>
>>
>> On Thu, Apr 20, 2017 at 4:41 PM, Eliot Miranda 
>> wrote:
>>
>>> Hi All,
>>>
>>> just stumbled across a bytecode compiler bug that's in both the
>>> Squeak compiler and the Opal compiler.  I'm told by Clément that Opal
>>> mimics the bug to avoid crashing legacy code.  So there may be places that
>>> depend on this bug.  It would be good to eliminate the dependencies and the
>>> bug.
>>>
>>> For illustration look at the to:do: loop in the ifNil: arm in
>>> Context>>privRefresh:
>>>
>>> Context>>privRefresh
>>> "Reinitialize the receiver so that it is in the state it was at its
>>> creation."
>>> closureOrNil
>>> ifNotNil:
>>> [pc := closureOrNil startpc.
>>> self stackp: closureOrNil numArgs + closureOrNil numCopiedValues.
>>> 1 to: closureOrNil numCopiedValues do:
>>> [:i | self tempAt: closureOrNil numArgs + i put: (closureOrNil at: i)]]
>>> ifNil:
>>> [pc := method initialPC.
>>> self stackp: method numTemps.
>>> method numArgs+1 to: method numTemps do:
>>> [:i | self tempAt: i put: nil]]
>>>
>>>
>>> This should evaluate method numArgs + 1 then method numTemps.  If it
>>> were written as a non-in-lined (method numArgs+1 to: method numTemps) do:
>>> [:i| self tempAt: i put: nil] then the [self tempAt: i put: nil] block
>>> would be created next.  But the bytecode for the inlined version is
>>>
>>> self stackp: method numTemps.
>>> 63 <70> self
>>> 64 <84 40 03> pushRcvr: 3
>>> 67  send: numTemps
>>> 68  send: stackp:
>>> 69 <87> pop
>>>
>>> iLimit := method numTemps
>>> 70 <84 40 03> pushRcvr: 3
>>> 73  send: numTemps
>>> 74 <69> popIntoTemp: 1
>>>
>>> i := method numArgs + 1
>>> 75 <84 40 03> pushRcvr: 3
>>> 78  send: numArgs
>>> 79 <76> pushConstant: 1
>>> 80  send: +
>>> 81 <81 40> storeIntoTemp: 0 (squeak) <69> popIntoTemp: 1 (pharo)
>>> 83 <10> pushTemp: 0
>>> 84 <11> pushTemp: 1
>>> 85  send: <=
>>> 86  jumpFalse: 99
>>>
>>> There is a second bug in the Squeak bytecode; storeIntoTemp: is used to
>>> load i whereas it should be popIntoTemp:.  It was this second bug that
>>> alerted me to the order-of-evaluation bug.
>>>
>>
>> The second bug (Squeak's use of storeIntoTemp:) is actually only a poor
>> implementation of the value/effect distinction through the inlined
>> ifNil:ifNotNil:.  Because ifNil:ifNotNil: has a value (albeit one that is
>> discarded) the Squeak compiler generates a storeIntoTemp: to p[reserve the
>> value of the to:do: lop, which is the initial index.  So the bug is not
>> within the generation of the to:do: (the only bug there being the
>> order-of-evaluation one).  The bug is actually outside; the loop should be
>> being generated for effect but is being evaluated for value.
>>
>> On the order of evaluation bug, does anyone have any memory of which
>> methods depended on this bug?
>>
>> _,,,^..^,,,_
>>> best, Eliot
>>>
>>
>>
>>
>> --
>> _,,,^..^,,,_
>> best, Eliot
>>
>>
>


Re: [Pharo-dev] DarkTheme - tool bar icon color inconsistent

2017-04-22 Thread Stephane Ducasse
oversight :)

On Sat, Apr 22, 2017 at 6:16 AM, Ben Coman  wrote:

> n the previous white theme, toolbar icons matched the colour of their text.
> This makes a lot sense and is pleasant.
>
> In the dark theme, there is no correlation.
> Is this oversight or deliberate intent?  It jars my senses.
>
> https://pharo.fogbugz.com/f/cases/19973/DarkTheme-tool-bar-icons
>
> cheers -ben
>


Re: [Pharo-dev] #renameTo: and #moveTo:

2017-04-23 Thread Stephane Ducasse
Yes we should improve the primitive information return back to the image.

On Fri, Apr 21, 2017 at 10:08 AM, Alistair Grant 
wrote:

> On Thu, Apr 20, 2017 at 09:21:01PM +0200, Nicolas Cellier wrote:
> > 2017-04-20 9:53 GMT+02:00 Alistair Grant :
> >
> > > What? Google this: man stat The first field of stat structure is
> > > a device ID, so deciding if two files are on same file system or
> > > not is doable by checking this field for the source file and
> > > destination file (if it exists) or directory - modulo the fact
> > > that you'd have to care of symbolic links with lstat.
> >
> > I meant from within the image.  Also, while this is fine for
> > Linux, and probably for MacOS, what about Windows?
> >
> > Ah, so it's more a Squeak/Pharo VM problem than a unix problem ;) You
> > are right, there is a call to stat() in unix file plugin
> >
> > https://github.com/OpenSmalltalk/opensmalltalk-
> vm/blob/Cog/platforms/unix/plugins/FilePlugin/sqUnixFile.c
> >
> > but the device info is not passed back to the image...  Too bad!
>
> But it should be a straightforward extension.  I think I'll ask on
> vm-dev if anyone objects to me adding this extension.
>
> Thanks for pointing this out!
>
> Cheers,
> Alistair
>
>
> > As for windows, it's not a problem, there is a rename function that
> > would move files across devices (but not directories!) See rename() on
> > msdn https://msdn.microsoft.com/en-us/library/zw5t957f.aspx
>
>


Re: [Pharo-dev] Pharo Site showing Error 502 - Bad gateway

2017-04-24 Thread Stephane Ducasse
Esteban is on it.


On Mon, Apr 24, 2017 at 1:48 PM, p...@highoctane.be 
wrote:

> Free certs do not always work with older browsers...
>
> Just sayin'
> Phil
>
> On Mon, Apr 24, 2017 at 1:04 PM, Tim Mackinnon  wrote:
>
>> Hi guys - just noticed the Pharo site is showing:Error 502 Ray ID:
>> 35488f38618f69ef • 2017-04-24 11:00:32 UTCBad gateway
>>
>> Looks like some cloudflare configuration issue? But it also means the
>> Pharo days page is not available.
>>
>> I also noticed the Pharo site isn’t serving with https as well? Given how
>> easy it is to get a free cert - should this be changed as well?
>>
>> Tim
>>
>>
>


Re: [Pharo-dev] Pharo 6 screenshot

2017-04-24 Thread Stephane Ducasse
super cool idea!


On Mon, Apr 24, 2017 at 8:58 AM, Pavel Krivanek 
wrote:

> Hi,
>
> I tried to prepare some "geeky" screenshot for Pharo 6 announcements and
> advertisements.
>
> https://goo.gl/photos/NF5EC6dCinXRWosA9
>
> -- Pavel
>


[Pharo-dev] Call for practical tutorials

2017-04-24 Thread Stephane Ducasse
Hi

I love the tutorial of sven on getting a reddit app in 10 classes.
https://medium.com/concerning-pharo/reddit-st-in-10-cool-pharo-classes-1b5327ca0740
Sven I will turn it into a mini booklet. :)

And I think that it is really important to have some more.
(I'm finishing a new book and the TinyBlog web app and after
I want to focus on Magritte. So my plate is really full ;( and not time to
learn
extra stuff).

I was looking at the following

https://www.codementor.io/classes/build-whatsapp-messenger-clone-react?utm_medium=welcome-mat&utm_campaign=cm_internal_ad

and I would love to get something in this vein for Pharo.
Does anybody want to do something in that direction?

Stef


[Pharo-dev] Pharodays early rate deadline

2017-04-24 Thread Stephane Ducasse
Hi

the deadline to register to pharodays is approaching.
After 29 of April you will pay more and we will not secure room for the
diner.
Please register

Stef


Re: [Pharo-dev] spec ui as morph

2017-04-26 Thread Stephane Ducasse
I really hope that we will be able to remove the adapter with brick


On Wed, Apr 26, 2017 at 12:38 PM, Peter Uhnak  wrote:

> #buildWithSpec returns the SpecModel's Morph, which is what you want.
>
> `model spec instance`, which is the same as calling `model widget` returns
> the model's Adapter; but don't use the former, I will remove it in Pharo 7.
>
> If you want retrieve the morph from Spec after it was built, then
>
> yourModel widget "-> Adapter"
> yourModel widget widget "-> Morph"
>
> Peter
>
> On Wed, Apr 26, 2017 at 12:23:03PM +0200, Nicolai Hess wrote:
> > 2017-04-26 12:00 GMT+02:00 Christophe Demarey <
> christophe.dema...@inria.fr>:
> >
> > > thanks but the result is not a morph.
> > >
> >
> > Are you sure ?
> >
> > (TextModel new text: Morph comment; buildWithSpec) openInHand -> a Morph
> >
> >
> > > Should I use yourModel buildWithSpec  spec instance?
> > >
> > > > Le 26 avr. 2017 à 11:55, Esteban Lorenzano  a
> > > écrit :
> > > >
> > > > yourModel buildWithSpec.
> > > >
> > > > Esteban
> > > >
> > > >> On 26 Apr 2017, at 11:51, Christophe Demarey <
> > > christophe.dema...@inria.fr> wrote:
> > > >>
> > > >> Hi,
> > > >>
> > > >> Does anyone know how to embed a UI component made with Spec into a
> UI
> > > expecting a morph?
> > > >> It looks like the only way to build a spec UI is to open it with
> > > #openWithSpec that will always embed the component in a window.
> > > >>
> > > >> Thanks,
> > > >> Christophe
> > > >
> > >
> > >
> > >
>
>


Re: [Pharo-dev] IMPORTANT: iceberg home changed

2017-04-28 Thread Stephane Ducasse
esteban do we have a naming convention on github?
pharo-xxx?

Stef

On Thu, Apr 27, 2017 at 5:51 PM, Esteban Lorenzano 
wrote:

> As part of our work for release, I changed the home of Iceberg into his
> own place:  https://github.com/pharo-vcs/iceberg
>
> So, now to install you will need:
>
> Metacello new
>   baseline: 'Iceberg';
>   repository: 'github://pharo-vcs/iceberg:dev-0.4';
>   load.
>
> I also uploaded a Configuration to the *catalog>http://catalog.pharo.org*,
> so you can load while
> doing the transition.
>


Re: [Pharo-dev] Meanwhile in FogBugz: issue 20000

2017-04-28 Thread Stephane Ducasse
Tx torsten for these kind words.

You got quoted :)
https://pharoweekly.wordpress.com/2017/04/28/2-issues-mark-in-fogbugz/

On Thu, Apr 27, 2017 at 5:49 PM, Torsten Bergmann  wrote:

> Hi,
>
> our community today hit the 2 issues mark in FogBugz.
>
>https://pharo.fogbugz.com/f/cases/2
>
> And a good change to once again say THANK YOU, especially to the ones who
> care most on
>
>  - updating the bug tracker
>  - fixing issues
>  - reviewing issues
>  - integrating issues
>  - doing also the boring tasks in caring about the bugtracker
>  - pushing Pharo in the right direction
>
> Just wow and impressive! Pharo 6 will be another nice milestone in a
> lively open source
> Smalltalk system that we all wanted to see becoming a reality!
>
> Thx
> T.
>
> BTW:
> The issue 2 is about clickable URLs in Help Browser. Currently we copy
> them to clipboard - as we do
> not have web browser support in the default image. I guess it is too late
> to push this package into the
> image due to the freeze.
>
> So this slices nonetheless tries to improve the situation by checking if
> the unified WebBrowser support package
> (which is available since a year [1]) is loaded or not. If it is loaded it
> opens a real web browser.
>
> So when Pharo 6 is released and someone may lament about not being able
> for the URLs to really work
> we can point him to load the "WebBrowser" package and he should be fine.
>
> [1] http://lists.pharo.org/pipermail/pharo-dev_lists.
> pharo.org/2016-April/120723.html
>
>


[Pharo-dev] GarageGlorp

2017-04-29 Thread Stephane Ducasse
Hi

for a tutorial I wanted to load Glorp in Pharo 60 as described in the
Glorp doc.

Metacello new
smalltalkhubUser: 'DBXTalk' project: 'Garage';
configuration: 'GarageGlorp';
version: #stable;
load.

I get an error stating that
The symbolic version stable is not defined in the configuration for the ...
for the platform.

I changed the loading instruction to

Metacello new
smalltalkhubUser: 'DBXTalk' project: 'Garage';
configuration: 'GarageGlorp';
version: '0.2';
load.

And it seems to work. May be we should publish a symbolic version for pharo
60.
I do not think that I have commit right.

Stef


Re: [Pharo-dev] Smalltalk Internet Browser

2017-04-29 Thread Stephane Ducasse
What you can try is to resurrect the old web browser plugin.
Now if you want to help why don;t you join the community and help?

Stef

On Sat, Apr 29, 2017 at 7:00 PM, askoh  wrote:

> Let me clarify that this browser is to enhance software development and not
> for mainstream use - at least not yet.
>
> Imagine have the full power of Smalltalk IDE while browsing the internet. I
> click on a photo and run image processing on it to see if it is natural or
> artificial, recognize objects or people, etc. I can have my own algorithm
> to
> suppress ads or popups. I can invent and test security models. I can
> download and upload from within the environment. I can search the
> environment and web at the same time.
>
> Indeed, Smalltalk lacks many technologies. But internet technologies are so
> so important we must have them ASAP. Having a GOAL to create a Smalltalk
> native Internet Browser (SIB) inside the environment will ensure we are not
> left behind. The synergy (IDE+SIB) will bring software development to the
> next level. Again it's something Smalltalk can pioneer. Every Smalltalk
> application will be web enabled automatically.
>
> Javascript is popular because it is embedded into all internet browsers.
> Google intentionally embed Dart into Chrome. We can have Smalltalk in SIB.
> SIB will improve Smalltalk programming productivity.
>
> We start out by embedding Chrome inside the IDE. Make them communicate
> well.
> We then port bit by bit to Smalltalk based on needs and priorities.
>
> All the best,
> Aik-Siong Koh
>
>
>
> --
> View this message in context: http://forum.world.st/
> Smalltalk-Internet-Browser-tp4944879p4944902.html
> Sent from the Pharo Smalltalk Developers mailing list archive at
> Nabble.com.
>
>


Re: [Pharo-dev] RES: Problem with FileSystem in WIndows

2017-04-30 Thread Stephane Ducasse
Can you open a bug entry with clear examples?
We should improve this part.
After having the interpretation of strings sucks. I do not like it I prefer

FileLocator C / 'temp' / 'e8720bb4-b90a-0d00-9b1f-008709e5552b.txt'

On Sun, Apr 30, 2017 at 6:54 PM, Casimiro de Almeida Barreto <
casimiro.barr...@gmail.com> wrote:

> Hello,
>
> -Mensagem original-
> De: Pharo-dev [mailto:pharo-dev-boun...@lists.pharo.org] Em nome de Sven
> Van Caekenberghe
> Enviada em: domingo, 30 de abril de 2017 05:30
> Para: Pharo Development List 
> Assunto: Re: [Pharo-dev] Problem with FileSystem in WIndows
>
>
> > On 30 Apr 2017, at 09:48, Max Leske  wrote:
> >
> > Hi Casimiro,
> >
> > have you tried using normal slashes in the path name? FileSystem should
> convert those to system path delimiters automatically. So:
>
> It seems that FileSystem does not convert / into \ .
> ((FileSystem root) / 'c:\temp\tempfile.txt')  writeStream won´t work but...
> FileStream fileNamed: 'C:\temp\tempfile.txt' works ok.
>
> So... I could make it work for getting a stream both for Unix and Windows:
>
> OSPlatform currentPlatformName = 'unix'
> ifTrue: [
> [ str := (fs / fn) writeStream ] on: Exception do: [ ^ nil
> ] ]
> ifFalse: [
> [ str := FileStream fileNamed: fn ] on: Exception do: [ ^
> nil ] ].
>
> And to delete:
>
> OSPlatform currentPlatformName = 'unix'
> ifTrue: [
> (FileSystem root / aFileName) delete ]
> ifFalse: [
> rgx := RxMatcher forString: '^[A-Z]\:'.
> drive := rgx matchesIn: aFileName.
> drive := (drive at: 1) copyWithRegex: '\:'
> matchesReplacedWith: ''.
> ((FileLocator driveNamed: drive)  / (aFileName
> copyWithRegex: '^[A-Z]\:' matchesReplacedWith: '')) delete ]
>
> Not good, nor elegant nor anything close to good transparent code but...
> works :'(
>
> >
> > C:/temp/e8720bb4-b90a-0d00-9b1f-008709e5552b.txt
> >
> > And possibly you'll need a leading slash, as "C:" is a reference to the
> root of the file system:
> >
> > /C:/temp/e8720bb4-b90a-0d00-9b1f-008709e5552b.txt
>
> There is also the following option:
>
> FileLocator C / 'temp' / 'e8720bb4-b90a-0d00-9b1f-
> 008709e5552b.txt'
>
> > Cheers,
> > Max
> >
> >> On 30 Apr 2017, at 03:15, Casimiro de Almeida Barreto <
> casimiro.barr...@gmail.com> wrote:
> >>
> >> Good night all.
> >>
> >> I´ve had trouble in windows concerning FileSystem.
> >>
> >> ((FileSystem disk root) / 
> >> ‘C:\temp\e8720bb4-b90a-0d00-9b1f-008709e5552b.txt’)
> delete
> >>
> >> Fails as if the file didn´t exist. Message:
> >>
> >> FileDoesNotExist: Path / ‘C:\temp\e8720bb4-b90a-0d00-
> 9b1f-008709e5552b.txt’
> >>
> >> And I wonder what´s wrong. Because it works in linux and MacOS.
> >>
> >> Trasncript show: ((FileSYstem disk root) / ‘C:\temp\e8720bb4-b90a-0d00-
> 9b1f-008709e5552b.txt’)
> >>
> >> Returns:
> >>
> >> File @ C:\temp\e8720bb4-b90a-0d00-9b1f-008709e5552b.txt\
> >>
> >> And I wonder where the last \ came from and if is it that is messing
> all and how to fix things.
> >>
> >> Best regards,
> >>
> >> Casimiro Barreto
> >>
> >>  Livre de vírus. www.avast.com.
> >
>
>
>
>
> ---
> Este email foi escaneado pelo Avast antivírus.
> https://www.avast.com/antivirus
>
>
>


Re: [Pharo-dev] GarageGlorp

2017-04-30 Thread Stephane Ducasse
tx

On Sun, Apr 30, 2017 at 5:36 PM, Esteban A. Maringolo 
wrote:

> I will do so as soon as I sit in front of my computer.
>
> Regards!
>
> El abr. 29, 2017 3:35 PM, "Stephane Ducasse" 
> escribió:
>
>> Hi
>>
>> for a tutorial I wanted to load Glorp in Pharo 60 as described in the
>> Glorp doc.
>>
>> Metacello new
>> smalltalkhubUser: 'DBXTalk' project: 'Garage';
>> configuration: 'GarageGlorp';
>> version: #stable;
>> load.
>>
>> I get an error stating that
>> The symbolic version stable is not defined in the configuration for the
>> ... for the platform.
>>
>> I changed the loading instruction to
>>
>> Metacello new
>> smalltalkhubUser: 'DBXTalk' project: 'Garage';
>> configuration: 'GarageGlorp';
>> version: '0.2';
>> load.
>>
>> And it seems to work. May be we should publish a symbolic version for
>> pharo 60.
>> I do not think that I have commit right.
>>
>> Stef
>>
>


Re: [Pharo-dev] Smalltalk Internet Browser

2017-04-30 Thread Stephane Ducasse
I tried to convince alex to focus on the missing pieces around roassal:


On Sun, Apr 30, 2017 at 6:03 PM, volkert  wrote:

> +1
>
> i think the development of pharo should more focus on an "easy to use and
> adaptive live data analysis environment" which supports data science tasks
> with easy to use data retrieving,  data preparation,  data exploration,
> data modelling, scripting capabilities. We already have so many pieces and
> knowledge for this kind of platform around. I think only the cool story is
> missing .. And yes i know Moose, but i have the feeling this environment is
> not Moose. For me Moose is to much associated with software analysis ...
>
> Volkert
>
>
>
> Am 30.04.2017 um 17:06 schrieb Stephan Eggermont:
>
>> On 29/04/17 04:11, askoh wrote:
>>
>>> Being connected to the internet is going to be a necessity for any piece
>>> of
>>> software in the immediate future. So every Smalltalk development
>>> environment
>>> or application should have that capability as default. To push that
>>> envelop,
>>> every image should have a Smalltalk native Internet Browser.
>>>
>>
>> Web is a very bad platform from an engineering point of view. The amount
>> of accidental complexity is astounding, as is the number of useless layers
>> obfuscating this all. I don't think we are ready to waste the amount of
>> engineering needed to do something useful at the browser implementation
>> side of the web (except for things like amber, pharojs and squeakjs).
>>
>> Stephan
>>
>>
>>
>>
>
>


Re: [Pharo-dev] Smalltalk Internet Browser

2017-04-30 Thread Stephane Ducasse
- data manipulation
- some math libraries
- handling large file (yes you will not load 128 Gb file even in Java :)

But so far I failed :)


On Sun, Apr 30, 2017 at 7:33 PM, Stephane Ducasse 
wrote:

> I tried to convince alex to focus on the missing pieces around roassal:
>
>
> On Sun, Apr 30, 2017 at 6:03 PM, volkert  wrote:
>
>> +1
>>
>> i think the development of pharo should more focus on an "easy to use and
>> adaptive live data analysis environment" which supports data science tasks
>> with easy to use data retrieving,  data preparation,  data exploration,
>> data modelling, scripting capabilities. We already have so many pieces and
>> knowledge for this kind of platform around. I think only the cool story is
>> missing .. And yes i know Moose, but i have the feeling this environment is
>> not Moose. For me Moose is to much associated with software analysis ...
>>
>> Volkert
>>
>>
>>
>> Am 30.04.2017 um 17:06 schrieb Stephan Eggermont:
>>
>>> On 29/04/17 04:11, askoh wrote:
>>>
>>>> Being connected to the internet is going to be a necessity for any
>>>> piece of
>>>> software in the immediate future. So every Smalltalk development
>>>> environment
>>>> or application should have that capability as default. To push that
>>>> envelop,
>>>> every image should have a Smalltalk native Internet Browser.
>>>>
>>>
>>> Web is a very bad platform from an engineering point of view. The amount
>>> of accidental complexity is astounding, as is the number of useless layers
>>> obfuscating this all. I don't think we are ready to waste the amount of
>>> engineering needed to do something useful at the browser implementation
>>> side of the web (except for things like amber, pharojs and squeakjs).
>>>
>>> Stephan
>>>
>>>
>>>
>>>
>>
>>
>


Re: [Pharo-dev] First commit

2017-05-01 Thread Stephane Ducasse
if you open Pharo60Inbox you should be able to see it.

On Sun, Apr 30, 2017 at 8:25 PM, Evan Donahue  wrote:

> Hello,
>
> I have just tried to submit my first patch to the main Pharo inbox. I
> submitted a patch  for issue
>
> https://pharo.fogbugz.com/f/cases/17848
>
> because it basically amounted to changing an error message and seemed like
> a good place to start figuring out how the submission process works.
>
> I saved my slice to the Pharo60Inbox, but when I typed my commit message
> and hit save, I did not see any confirmation. How can I tell if my slice
> was submitted or not?
>
> Thank you,
> Evan
>


[Pharo-dev] About glorp

2017-05-01 Thread Stephane Ducasse
Hi

I loaded glorp following this

Metacello new
smalltalkhubUser: 'DBXTalk' project: 'Garage';
configuration: 'GarageGlorp';
version: '0.2';
load.

And the tests are telling me

NativePostgresDriver not found :(

Do we have to have a database set to run the Glorp tests ?

Stef


[Pharo-dev] Pharo booklet collection

2017-05-02 Thread Stephane Ducasse
Hi Pharoers

You are lucky. The "Pharo booklet collection" edited by S. Ducasse is
arriving...

Are you ready to read nice and focused booklets?

You can find at http://files.pharo.org/books/ in beta version:

   - Smacc: the Smalltalk Compiler Compiler by J. Brant, T. Goubier, J.
   Lecerf and S. Ducasse.
   - Glorp: the Object Relational Mapper framework by E. Maringolo, N.
   Pratt and R. Withney

All the book material is hosted on
https://github.com/SquareBracketAssociates so you can contribute! Fix typos
and propose new material.

We are planning a booklet on Magritte, Reddit in 10 cool classes, Voyage,
and Mocking with BabyMock and Mocketry, XML (but we need a writer) and
potentially PetitParser.

If you have material for a tutorial and you would like to be part of the
Pharo Booklet Collection contact S. Ducasse.

S. Ducasse


Re: [Pharo-dev] GarageGlorp

2017-05-02 Thread Stephane Ducasse
Tx
Do you get the test pass?
When I loaded and press the button I get a resources error.
I hope that we should not get a real db to get the tests pass.

Stef

On Tue, May 2, 2017 at 8:40 PM, Esteban A. Maringolo 
wrote:

> It is done.
>
> Regards!
> Esteban A. Maringolo
>
>
> 2017-04-30 14:32 GMT-03:00 Stephane Ducasse :
> > tx
> >
> > On Sun, Apr 30, 2017 at 5:36 PM, Esteban A. Maringolo <
> emaring...@gmail.com>
> > wrote:
> >>
> >> I will do so as soon as I sit in front of my computer.
> >>
> >> Regards!
> >>
> >> El abr. 29, 2017 3:35 PM, "Stephane Ducasse" 
> >> escribió:
> >>>
> >>> Hi
> >>>
> >>> for a tutorial I wanted to load Glorp in Pharo 60 as described in the
> >>> Glorp doc.
> >>>
> >>> Metacello new
> >>> smalltalkhubUser: 'DBXTalk' project: 'Garage';
> >>> configuration: 'GarageGlorp';
> >>> version: #stable;
> >>> load.
> >>>
> >>> I get an error stating that
> >>> The symbolic version stable is not defined in the configuration for the
> >>> ... for the platform.
> >>>
> >>> I changed the loading instruction to
> >>>
> >>> Metacello new
> >>> smalltalkhubUser: 'DBXTalk' project: 'Garage';
> >>> configuration: 'GarageGlorp';
> >>> version: '0.2';
> >>> load.
> >>>
> >>> And it seems to work. May be we should publish a symbolic version for
> >>> pharo 60.
> >>> I do not think that I have commit right.
> >>>
> >>> Stef
> >
> >
>
>


Re: [Pharo-dev] Pharo 6 crash when requesting memory from the JVM library

2017-05-05 Thread Stephane Ducasse
Hi raffael

Ben is a contributor of Pharo and he takes care about steady improvement
even at the level of comments.
Every user of Pharo should have the same take because Pharo is our common
wealth.

Stef

On Wed, May 3, 2017 at 4:02 PM, Raffaello Giulietti <
raffaello.giulie...@lifeware.ch> wrote:

> Hi Ben,
>
>
> On 2017-05-03 14:56, Ben Coman wrote:
>
>> Thanks for the follow up.  Glad to hear its nothing intrinsic to Pharo.
>>
>> btw, Is there somewhere in the documentation or class/method comments
>> that you believe this N-base situation should be spelled out better?
>>
>>
>
> Well, I wouldn't call the parameter of ExternalAddress>>byteAt:... methods
> a "byteOffset", as offset invariably indicates a *difference* between
> indices or addresses. Thus, I would for example expect an offset of 0 to
> refer to the first byte, whether its index is 0 or 1.
>
> This is in contrast with the Smalltalk convention that At:
> selectors with numerical arguments usually mean a 1-based *index*.
>
>
>
> BTW, just for information, what is your role in the development of Pharo?
>
>
> Greetings
> Raffaello
>
>


Re: [Pharo-dev] Pharo 6 crash when requesting memory from the JVM library

2017-05-05 Thread Stephane Ducasse
Thanks Denis.


On Wed, May 3, 2017 at 6:10 PM, Denis Kudriashov 
wrote:

>
> 2017-05-03 16:09 GMT+02:00 p...@highoctane.be :
>
>> How could I load that JVM bridge?
>>
>> I am having a use case or two for that and was thinking that this was
>> not working with new Pharos.
>>
>
> I tried load JNIPort today. It is not loaded/working on Pharo6 because it
> is based on NativeBoost which is not supported by SpurVM.
> But I created suitable package which resolves missing classes. (in my
> test repo ). It
> should be loaded before JNI config. This is only thing I did. I not tested
> anything then
>


Re: [Pharo-dev] Pharo 6 crash when requesting memory from the JVM library

2017-05-05 Thread Stephane Ducasse
Hi ben

I appreciate your general attitude and I hope that you find the job you
love to have.

Stef

On Thu, May 4, 2017 at 5:59 PM, Ben Coman  wrote:

>
>
> On Wed, May 3, 2017 at 10:02 PM, Raffaello Giulietti <
> raffaello.giulie...@lifeware.ch> wrote:
>
>> Hi Ben,
>>
>>
>> On 2017-05-03 14:56, Ben Coman wrote:
>>
>>> Thanks for the follow up.  Glad to hear its nothing intrinsic to Pharo.
>>>
>>> btw, Is there somewhere in the documentation or class/method comments
>>> that you believe this N-base situation should be spelled out better?
>>>
>>>
>>
>> Well, I wouldn't call the parameter of ExternalAddress>>byteAt:...
>> methods a "byteOffset", as offset invariably indicates a *difference*
>> between indices or addresses. Thus, I would for example expect an offset of
>> 0 to refer to the first byte, whether its index is 0 or 1.
>>
>> This is in contrast with the Smalltalk convention that At:
>> selectors with numerical arguments usually mean a 1-based *index*.
>>
>>
>>
>> BTW, just for information, what is your role in the development of Pharo?
>>
>
> For me Pharo is a dedicated hobby, doing a few hours most week nights and
> longer stints on weekends.  Some people love doing crosswords.  I love
> programming and enjoy Pharo the most. Not having any commercial time
> pressures has allowed me the luxury to dive deep into areas of interest,
> which is usually the lower level stuff like DelayScheduler,
> semaphores/mutexes and Processes in Image & VM - but so far I've not done
> anything with the JIT.
>
> My day job is this... https://www.linkedin.com/in/bencoman/?ppe=1
> I dream of one day using Pharo as a soft-realtime industrial automation
> control system on a Beagleboard, but so far I've taken limited concrete
> action towards that.
>
> I'm located south of the equator in Western Australia, so quite remote
> from most others in the community (although I did have the pleasure of
> meeting Thierry & Onil once when they were visiting family here).
>
> cheers -ben
>
>
> P.S.  I'll take this opportunity to mention I'm between jobs at the
> moment. So I'd be happy to hear from anyone needing some odd jobs done,
> while I consider my options.
>


Re: [Pharo-dev] Smalltalk Internet Browser

2017-05-06 Thread Stephane Ducasse
frank is it a browser plugin?

On Thu, May 4, 2017 at 10:31 PM, Frank Shearar 
wrote:

>
> On 4 May 2017 at 08:55, askoh  wrote:
>
>> Thanks everyone for digging out the various possibilities. It is
>> heartening
>> to know the community is healthy and engaging.
>>
>> Let me summarize the possibilities:
>> 1) Recompile Smalltalk VM from C to WebAssembly to run inside a browser at
>> near native speed. This means a complete Smalltalk IDE inside a browser
>> with
>> full access to the browser innards.
>>
>
> It's not WebAssembly but Squeak running in a browser is already old news,
> thanks to Bert Freudenberg - see http://try.squeak.org/#url=
> http://files.squeak.org/5.0/&zip=[Squeak5.0-15113.zip,
> SqueakV50.sources.zip] and https://squeak.js.org/. I don't know about
> interop between that image running in the browser, and the browser itself.
>
> frank
>
>
>> 2) Embed Chromium or ChromeHeadless or WebKit inside the Smalltalk IDE.
>> Browser access is through the exposed APIs.
>> 3) Enhance Scamper, a basic browser written in Smalltalk, to include more
>> and more of the capabilities of Chrome say.
>>
>> All the best,
>> Aik-Siong Koh
>>
>>
>>
>> --
>> View this message in context: http://forum.world.st/Smalltal
>> k-Internet-Browser-tp4944879p4945606.html
>> Sent from the Pharo Smalltalk Developers mailing list archive at
>> Nabble.com.
>>
>>
>


Re: [Pharo-dev] Pharo booklet collection

2017-05-06 Thread Stephane Ducasse
I fixed it.
The code for the web site in on github.

Stef

On Tue, May 2, 2017 at 10:32 PM, Esteban A. Maringolo 
wrote:

> Correct link seems to be
>
> http://files.pharo.org/books-pdfs/booklet-Glorp/2017-05-02-
> Glorp.spiral.pdf
> Esteban A. Maringolo
>
>
> 2017-05-02 17:28 GMT-03:00 p...@highoctane.be :
> > link for glorp gives smacc book error
> >
> > On Tue, May 2, 2017 at 10:25 PM, Stephane Ducasse <
> stepharo.s...@gmail.com>
> > wrote:
> >>
> >> Hi Pharoers
> >>
> >> You are lucky. The "Pharo booklet collection" edited by S. Ducasse is
> >> arriving...
> >>
> >> Are you ready to read nice and focused booklets?
> >>
> >> You can find at http://files.pharo.org/books/ in beta version:
> >>
> >> Smacc: the Smalltalk Compiler Compiler by J. Brant, T. Goubier, J.
> Lecerf
> >> and S. Ducasse.
> >> Glorp: the Object Relational Mapper framework by E. Maringolo, N. Pratt
> >> and R. Withney
> >>
> >> All the book material is hosted on
> >> https://github.com/SquareBracketAssociates so you can contribute! Fix
> typos
> >> and propose new material.
> >>
> >> We are planning a booklet on Magritte, Reddit in 10 cool classes,
> Voyage,
> >> and Mocking with BabyMock and Mocketry, XML (but we need a writer) and
> >> potentially PetitParser.
> >>
> >> If you have material for a tutorial and you would like to be part of the
> >> Pharo Booklet Collection contact S. Ducasse.
> >>
> >> S. Ducasse
> >
> >
>
>


[Pharo-dev] Respect Pharo and respect us

2017-05-06 Thread Stephane Ducasse
Hi guys

Could we have discussion about ***PHARO*** in the Pharo-dev mailing-list?
Can we get a bit of respect?
Should we create a private dev mailing-list so that we can get our focus?
I start to get bored to have to mute threads. I let you imagine the threads
I'm muting.

In addition, I would really like that you ask yourself when is the last
time that you
did something for Pharo if ever. You see doing something for Pharo is as
easy as
- removing typo from a book
- adding a comment in a method
- helping a newbie
but often you prefer to talk I know why because this is easy.

So you do not need to have the perfect X&*^*&^ system to take 10 min of your
great life to HELP (see above)

Our goal is to build Pharo and we would love other people to help
or at least do not use our bandwidth about other goals.

So respect Pharo and us.

Stef


Re: [Pharo-dev] Pharo booklet collection

2017-05-06 Thread Stephane Ducasse
Hi phil

yes I loved this idea. We got burned by that too.

About pillar. The departure of Damien was not expected and it slows us
quite a bit.

We (mainly me helped with maxime) are working on
- making the pillar core nicer
- less dependencies
- and with a small in image renderer :) We had fun with guille


- In the pharo 60 version I started to clean the command-line.
- merged many unmerged changes.

But even with all the tests it is not easy
I'm testing in addition with reall
- book production
- slides
- html

But it takes time and energy. I'm trying to remove the dependencies to
magritte for example.

Stef


[image: Inline image 1]


On Sat, May 6, 2017 at 9:30 AM, p...@highoctane.be 
wrote:

> For books, there is the docker-texlive thing from Damien that we
> looked into yesterday because TexLive was giving some headaches.
>
> https://github.com/philippeback/docker-texlive
>
> has my current thing for one to build a container with all
> prerequisites for TexLive and Pharo installed.
>
> Idea is to clone the book repo on the host and get into an container
> to build the book.
>
> There is a /work volume that can be mapped onto the host with the
> docker run's -v command.
>
> Then just use ./download.sh in there to install Pharo and pillar in
> the container. Do not do that in the host or you'll end up with wrong
> versions (like my host is CentOS and the container is Ubuntu, even
> worse with host is macOS or Windows).
>
> Then "make book" should give a book in build/
> There is a "make wipeout" command that obliterates the build folder
> for good so you can start clean. No harm done on your files.
>
> Will document more of this but woul dbe nice if someone could check
> this out too.
>
> There is a script in base/ to build the docker image.
>
> Phil
>
> On Sat, May 6, 2017 at 9:20 AM, Stephane Ducasse
>  wrote:
> > I fixed it.
> > The code for the web site in on github.
> >
> > Stef
> >
> > On Tue, May 2, 2017 at 10:32 PM, Esteban A. Maringolo <
> emaring...@gmail.com>
> > wrote:
> >>
> >> Correct link seems to be
> >>
> >>
> >> http://files.pharo.org/books-pdfs/booklet-Glorp/2017-05-02-
> Glorp.spiral.pdf
> >> Esteban A. Maringolo
> >>
> >>
> >> 2017-05-02 17:28 GMT-03:00 p...@highoctane.be :
> >> > link for glorp gives smacc book error
> >> >
> >> > On Tue, May 2, 2017 at 10:25 PM, Stephane Ducasse
> >> > 
> >> > wrote:
> >> >>
> >> >> Hi Pharoers
> >> >>
> >> >> You are lucky. The "Pharo booklet collection" edited by S. Ducasse is
> >> >> arriving...
> >> >>
> >> >> Are you ready to read nice and focused booklets?
> >> >>
> >> >> You can find at http://files.pharo.org/books/ in beta version:
> >> >>
> >> >> Smacc: the Smalltalk Compiler Compiler by J. Brant, T. Goubier, J.
> >> >> Lecerf
> >> >> and S. Ducasse.
> >> >> Glorp: the Object Relational Mapper framework by E. Maringolo, N.
> Pratt
> >> >> and R. Withney
> >> >>
> >> >> All the book material is hosted on
> >> >> https://github.com/SquareBracketAssociates so you can contribute!
> Fix
> >> >> typos
> >> >> and propose new material.
> >> >>
> >> >> We are planning a booklet on Magritte, Reddit in 10 cool classes,
> >> >> Voyage,
> >> >> and Mocking with BabyMock and Mocketry, XML (but we need a writer)
> and
> >> >> potentially PetitParser.
> >> >>
> >> >> If you have material for a tutorial and you would like to be part of
> >> >> the
> >> >> Pharo Booklet Collection contact S. Ducasse.
> >> >>
> >> >> S. Ducasse
> >> >
> >> >
> >>
> >
>
>


Re: [Pharo-dev] Anyone meeting up night before Pharo Days (17th?)

2017-05-06 Thread Stephane Ducasse
Tim thursday evening we go to a nice restaurant downtown.
In any case this is better to have a n hotel downtown ;)

On Sat, May 6, 2017 at 12:58 PM, Tim Mackinnon  wrote:

> Hi guys - I managed to get a “weeknight pass” so that I can come to Pharo
> days and try and catch up with all the progress you have made.
>
> I’m taking a Eurostar on Wed night (17th) and wondering if anyone is
> meeting up the night before on the 17th? I don’t arrive until 8:30 - but
> maybe some of you are having some post supper drinks somewhere?
>
> I have booked a hotel near the venue, but I’m thinking that I may change
> it, to somewhere in town as I think it might make more sense as I’m sure
> folks may end up eating in town anyway.
>
>
> Tim
>


Re: [Pharo-dev] First commit

2017-05-07 Thread Stephane Ducasse
Tx evan!
We will have a look and this is great to have a new contributor!!!

Stef

On Tue, May 2, 2017 at 3:23 AM, Evan Donahue  wrote:

> Thanks. I have resubmitted and it seems to have worked. If anyone wants to
> let me know if it looks like I did everything right, I can hopefully move
> on
> to tackling other things.
>
> Thanks,
> Evan
>
>
>
> --
> View this message in context: http://forum.world.st/First-
> commit-tp4944984p4945091.html
> Sent from the Pharo Smalltalk Developers mailing list archive at
> Nabble.com.
>
>


Re: [Pharo-dev] Introduction (GSoC)

2017-05-09 Thread Stephane Ducasse
Welcome Rajula :)
And yes I'm eager to see clap replace the old commandline handler

Stef

On Tue, May 9, 2017 at 1:04 PM, Tudor Girba  wrote:

> Welcome, Rajula.
>
> Please keep us posted with the progress.
>
> Cheers,
> Doru
>
>
>
> > On May 9, 2017, at 12:45 PM, Rajula Vineet 
> wrote:
> >
> > Hi all,
> >
> > I am Rajula. Firstly I would like to thank the community especially
> Guille
> > and Stéphane Ducasse for their support and guidance. I am glad that I
> have
> > been given the opportunity to work on the GSoC project 'Enhancing Pharo
> > Command Line Interface' this summer.
> >
> > The main goals of the project are
> >
> > 1) implementing clap for pharo
> > 2) fixing logging and general file management
> > 3) fixing current working directory
> >
> > The mentors for my project are Guille Polito, Philippe Back, and emBee.
> I am
> > looking forward to an amazing summer ahead. If you have any suggestions
> for
> > the project, I would be happy to consider them.
> >
> > Thanks again for the opportunity.
> >
> > Rajula.
> >
> >
> >
> > --
> > View this message in context: http://forum.world.st/
> Introduction-GSoC-tp4946020.html
> > Sent from the Pharo Smalltalk Developers mailing list archive at
> Nabble.com.
> >
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "We cannot reach the flow of things unless we let go."
>
>
>
>
>
>


Re: [Pharo-dev] Adding class side inst.var to a class using Trait results in nil message sent

2017-05-09 Thread Stephane Ducasse
Aliaksei
thanks for the report. Now if you do not say in the title that this looks
like an Epicea problem
then Martin may not see it.
Can you open a bug entry?
Stef

On Mon, May 8, 2017 at 10:57 PM, Aliaksei Syrel 
wrote:

> Hi,
>
> Screenshot tells everything :)
> I was trying to add "asdasd" inst var
>
> [image: Inline images 1]
>
> Cheers,
> Alex
>


Re: [Pharo-dev] Adding class side inst.var to a class using Trait results in nil message sent

2017-05-10 Thread Stephane Ducasse
Tx martin.

On Wed, May 10, 2017 at 5:24 AM, Martin Dias  wrote:

> Ok... I reproduced it. It happens when the class uses a trait (via
> Metaclass>>uses:instanceVariableNames:) but no problem when no trait is
> used. I'll see what to do.
>
> Martin
>
> On Tue, May 9, 2017 at 4:22 PM, Stephane Ducasse 
> wrote:
>
>> Aliaksei
>> thanks for the report. Now if you do not say in the title that this looks
>> like an Epicea problem
>> then Martin may not see it.
>> Can you open a bug entry?
>> Stef
>>
>> On Mon, May 8, 2017 at 10:57 PM, Aliaksei Syrel 
>> wrote:
>>
>>> Hi,
>>>
>>> Screenshot tells everything :)
>>> I was trying to add "asdasd" inst var
>>>
>>> [image: Inline images 1]
>>>
>>> Cheers,
>>> Alex
>>>
>>
>>
>


Re: [Pharo-dev] GSoC 2017 Introduction

2017-05-10 Thread Stephane Ducasse
Hello myroslava

I'm happy for you and this is great for the community.

Stef

@Ben: I gave lectures to oleks and myroslava when I was at UCU during the
fall.


On Wed, May 10, 2017 at 5:34 PM, Ben Coman  wrote:

> Welcome Myro,
> Good to see you getting involved early in the process.
> I understand you bumped into Pharo at your university, but there seems
> no great Pharo presence there.
> I'd be interested to hear a bit more about how you discovered Pharo.
>
> cheers -ben
>
> On Wed, May 10, 2017 at 4:58 AM, Myroslava Romaniuk 
> wrote:
> > Hello everyone
> >
> > I have been accepted as a GSoC student and my project is Advancing in
> Pharo
> > Quality Support. Here's the link to my proposal, if you have any
> suggestions
> > feel free to comment or send me an email, I would really appreciate some
> > feedback. Here are also links to my github and linkedin.
> >
> > In short, my project consists of several subprojects:
> >
> > updating rules (improving hints, moving the rules to corresponding
> packages)
> > advanced rule toggle (a functionality to enable/disable rules from Pharo
> > settings, a shortcut to ban a rule globally)
> > smart error handling (display errors that occured during critique
> > computation along the actual critiques)
> > match-rewrite tool (combines features of matchtool and rewritetool,
> improves
> > the process of inspecting, creating, editing and removing rules)
> > pre-commit quality feedback (an extension to either monticello or iceberg
> > that will show modified parts of a project and critiques related to them
> ---
> > if I have time)
> > making rules more maintainable while reporting encountered bugs
> >
> > Thanks very much for this amazing opportunity to be working with all of
> you,
> > and for the help you're providing us, GSoC students, with - on Discord
> and
> > in the mailing list.
> >
> > Looking forward to the amazing summer with the Pharo community!
> >
> > -- Myroslava
>
>


Re: [Pharo-dev] GSoC 2017 Introduction

2017-05-10 Thread Stephane Ducasse
Hello everyone

I have been accepted as a GSoC student and my project is Advancing in Pharo
Quality Support. Here
's
the link to my proposal, if you have any suggestions feel free to comment
or send me an email, I would really appreciate some feedback. Here are also
links to my github  and linkedin
.

In short, my project consists of several subprojects:

   - updating rules (improving hints, moving the rules to corresponding
   packages)


I would love to see more rules with automatic correction.
Indeed repackageing some of them is a good idea.


   - advanced rule toggle (a functionality to enable/disable rules from
   Pharo settings, a shortcut to ban a rule globally)

I think that we should remove the thiumb up/down because nobody uses them.


   - smart error handling (display errors that occured during critique
   computation along the actual critiques)

With guille we are working to get a real class definition object (AST) so
that smart suggestions and other suggestions get easier to express (and
many other good properties).



   - match-rewrite tool (combines features of matchtool and rewritetool,
   improves the process of inspecting, creating, editing and removing rules)

YES YES YES.
It would be great if you can also agregate the tool of mark Rizun.

BTW you should read the presentation of Jason Lecerf at pharodays because
he will document the unification algorithm used by the rewrite rule engine
and it may help you (at least it should help me).



   - pre-commit quality feedback (an extension to either monticello or
   iceberg that will show modified parts of a project and critiques related to
   them --- if I have time)

I did not get this one.


   - making rules more maintainable while reporting encountered bugs

Thanks very much for this amazing opportunity to be working with all of
you, and for the help you're providing us, GSoC students, with - on Discord
and in the mailing list.

Looking forward to the amazing summer with the Pharo community!

On Tue, May 9, 2017 at 10:58 PM, Myroslava Romaniuk 
wrote:

> Hello everyone
>
> I have been accepted as a GSoC student and my project is Advancing in
> Pharo Quality Support. Here
> 's
> the link to my proposal, if you have any suggestions feel free to comment
> or send me an email, I would really appreciate some feedback. Here are also
> links to my github  and linkedin
> .
>
> In short, my project consists of several subprojects:
>
>- updating rules (improving hints, moving the rules to corresponding
>packages)
>- advanced rule toggle (a functionality to enable/disable rules from
>Pharo settings, a shortcut to ban a rule globally)
>- smart error handling (display errors that occured during critique
>computation along the actual critiques)
>- match-rewrite tool (combines features of matchtool and rewritetool,
>improves the process of inspecting, creating, editing and removing rules)
>- pre-commit quality feedback (an extension to either monticello or
>iceberg that will show modified parts of a project and critiques related to
>them --- if I have time)
>- making rules more maintainable while reporting encountered bugs
>
> Thanks very much for this amazing opportunity to be working with all of
> you, and for the help you're providing us, GSoC students, with - on Discord
> and in the mailing list.
>
> Looking forward to the amazing summer with the Pharo community!
>
> -- Myroslava
>


Re: [Pharo-dev] [Pharo-users] [ann] bloc & cairo+morphic

2017-05-11 Thread Stephane Ducasse
Hi alain

This is great to know that you can now work officially on Bloc and I really
hope that your project with Thales will succeed. We need a strong Pharo.
After more than 5 years of discussions with Thales I'm happy to see coming
truth.
People do not imagine the amount of energy we can spend sometimes :)
And indeed you are right!
I was sad to see that you are not even part of the github team after all
the effort you spent on Bloc (and Miro and Miro2). I think that I was just
the guy asking stupid questions but indeed this is true that it was in
collaboration with Rmod, thank to mention it.
I also agree with you that this is important that your work is respected
and acknowledged
and indeed I do not see how it relates to humane assessment.

Stef






On Thu, May 11, 2017 at 5:36 PM, Alain Plantec via Pharo-dev <
pharo-dev@lists.pharo.org> wrote:

>
>
> -- Forwarded message --
> From: Alain Plantec 
> To: Pharo Development List 
> Cc: Alain Plantec , Moose-related development <
> moose-...@list.inf.unibe.ch>, Any question about pharo is welcome <
> pharo-us...@lists.pharo.org>
> Bcc:
> Date: Thu, 11 May 2017 17:36:36 +0200
> Subject: Re: [Pharo-users] [ann] bloc & cairo+morphic
> Hello Doru, all,
>
> I’m really happy to see Bloc progresses.
> Even I’m not active since more than one year, Bloc is still an important
> project for me.
>
> but let me complete this short historical presentation a little bit.
>
> Bloc is a project that I initiated in 2013 in collaboration with RMOD
> following experiments made around the ROME project.
> The idea was to completely revisit the 2D framework of Pharo to address
> Morphic limits.
> Following an invitation of the Software Composition Group (thanks to Oscar
> Nierstrasz and to Doru here),
> I presented the first version of Bloc at Bern (March, 2015), then Doru and
> Aliaksel joined the project.
> One year ago, during his PhD at Brest, Glenn Cavarle produced a new
> version of the Bloc infrastructure that is now the
> one used together with the layouting system that was implemented by
> Aliaksel.
>
> Please, do not use the humane assessment web site but the github project
> one instead.
>
> I will restart working on Bloc/Brick soon in the context of a project that
> we recently signed with the Thales company.
>
> Thanks,
> Cheers
>
> Alain
>
>
> > On 8 mai 2017, at 23:00, Tudor Girba  wrote:
> >
> > Hi,
> >
> > We are happy to announce that based on the work of Glenn, Alex extended
> Bloc (Sparta) to work directly in the Morphic world using Cairo as a
> backend.
> >
> > Cairo is less powerful than Moz2D (see the screenshot below for an
> example), but the implementation addresses a concern that the community
> raised regarding a perceived increased liability due to the dependency to
> Moz2D. Essentially this means that Bloc can be treated as another graphical
> library that can coexist with Morphic without requiring any external VM
> plugin.
> >
> > 
> >
> > I would also like to point out that adding a new backend and host was
> possible because of the many iterations (including throwing away whole
> implementations) that Alex and Glenn went through. I think they did an
> amazing job.
> >
> > You can find a bit more details about Bloc here:
> > http://www.humane-assessment.com/blog/bloc-flexible-backends-hosts/
> >
> > Another issue raised regarding Bloc was that of the engineering effort
> required to make it a reality. That is why I would also like to announce
> that Alex joined feenk.com where he is primarily working on the graphical
> stack for Pharo.
> >
> > Cheers,
> > Doru
> >
> >
> > --
> > www.tudorgirba.com
> > www.feenk.com
> >
> > "To lead is not to demand things, it is to make them happen."
> >
> >
> >
> >
>
>
>
>


[Pharo-dev] immediateByteSubclass: ?

2017-05-12 Thread Stephane Ducasse
Hi

with guille we are working on a class parser and our game is to make sure
that we can parse all the crazy class definitions among which

variableWordSubclass:
ephemeronSubclass:
weakSubclass:
variableByteSubclass:
variableSubclass:
immediateSubclass:
subclass: aSubclassSymbol  layout:

And we found this method definition and it has no senders and we wonder if
it is just plain deadcode?

immediateByteSubclass: className instanceVariableNames: instvarNames
classVariableNames: classVarNames package: package
"Added to allow for a simplified subclass creation experience. "

^ self
immediateSubclass: className
instanceVariableNames: instvarNames
classVariableNames: classVarNames
package: package

S & G


[Pharo-dev] Official cover for the Pharo booklet collection

2017-05-12 Thread Stephane Ducasse
Tx damien

Stef

[image: Inline image 1]


Re: [Pharo-dev] immediateByteSubclass: ?

2017-05-12 Thread Stephane Ducasse
Tx we will remove it.

In pharo 70 we will have
- a classParser with a class definition to handle all the terrible logic of
importing
- a fluid class definition
- and it will help removing duplicated and old logic with a huge number of
optional parameters
...
Stef

On Fri, May 12, 2017 at 8:25 PM, Benoit St-Jean via Pharo-dev <
pharo-dev@lists.pharo.org> wrote:

>
>
> -- Forwarded message --
> From: Benoit St-Jean 
> To: Pharo Development List 
> Cc:
> Bcc:
> Date: Fri, 12 May 2017 18:25:53 + (UTC)
> Subject: Re: [Pharo-dev] immediateByteSubclass: ?
> If that's of any help, I was able to track it back to Squeak 5.0 and it
> had no sender in that version too!  The author's initials are eem.
>
> -
> Benoît St-Jean
> Yahoo! Messenger: bstjean
> Twitter: @BenLeChialeux
> Pinterest: benoitstjean
> Instagram: Chef_Benito
> IRC: lamneth
> Blogue: endormitoire.wordpress.com
> "A standpoint is an intellectual horizon of radius zero".  (A. Einstein)
>
>
> --
> *From:* Clément Bera 
> *To:* Pharo Development List 
> *Sent:* Friday, May 12, 2017 1:40 PM
> *Subject:* Re: [Pharo-dev] immediateByteSubclass: ?
>
> This one looks strange and seems indeed to be dead code.
>
> Maybe it was an attempt to make a specific class definition keyword for
> CompiledMethod / CompiledCode / CompiledBlock. Right now there is a
> specific case in the code somewhere to use the specific compiledCode layout
> for those 3 classes instead of the byte layout which is normally used for
> the keyword variableByteSubclass: that those 3 classes use.
>
> I am not sure immediateByteSubclass: makes sense though. I would rather
> have compiledCodeSubclass, variablePointerAndByteSubclass or something like
> that.
>
> On Fri, May 12, 2017 at 5:39 PM, Stephane Ducasse  > wrote:
>
> Hi
>
> with guille we are working on a class parser and our game is to make sure
> that we can parse all the crazy class definitions among which
>
> variableWordSubclass:
> ephemeronSubclass:
> weakSubclass:
> variableByteSubclass:
> variableSubclass:
> immediateSubclass:
> subclass: aSubclassSymbol  layout:
>
> And we found this method definition and it has no senders and we wonder if
> it is just plain deadcode?
>
> immediateByteSubclass: className instanceVariableNames: instvarNames
> classVariableNames: classVarNames package: package
> "Added to allow for a simplified subclass creation experience. "
>
> ^ self
> immediateSubclass: className
> instanceVariableNames: instvarNames
> classVariableNames: classVarNames
> package: package
>
> S & G
>
>
>
>
>
>


Re: [Pharo-dev] [ANN] Pompeii Volcanic Graphics, a mesh based 2D graphics API

2017-05-12 Thread Stephane Ducasse
Hi ronie

This is super cool. I would prefer Volcano to Pompeii because lot of people
died at pompeii but it the dead in Pharo are the old Morphs this is ok for
me :)
About the back end, this is really good to have multiple back-ends for Bloc.

Stef


On Sat, May 13, 2017 at 1:55 AM, Ronie Salgado  wrote:

> Hi Alex,
>
> This is great!
>> Do you know whether Pompeii can be used by Bloc?
>>
> I do not know. If the Bloc people pointed me to the places that have to be
> modified, and if there are willing to have yet another backend, then I am
> willing to try adding the backend for Bloc.
>
> Best regards,
> Ronie
>
> 2017-05-12 20:01 GMT-03:00 Alexandre Bergel :
>
>> Hi Ronie,
>>
>> This is great!
>> Do you know whether Pompeii can be used by Bloc?
>>
>> Alexandre
>>
>>
>> > On May 12, 2017, at 6:26 PM, Ronie Salgado  wrote:
>> >
>> > Hello,
>> >
>> > I am releasing a first version of a new 2D graphics API that I am
>> making for Pharo, using OpenGL.
>> >
>> > 
>> > 
>> >
>> > http://smalltalkhub.com/#!/~ronsaldo/PompeiiGraphics
>> > https://youtu.be/emE6_1RpAo8
>> >
>> > This 2D graphics API is not vectorial based becase it does not use SVG
>> style paths. This API is triangle mesh based, so it is more friendlier with
>> the GPU than Athens or Sparta.
>> >
>> > With this API I did a basic gui toolkit, with only two widgets: buttons
>> and label. I did this Widget toolkit to not mess with Bloc, and because I
>> need something relatively stable for the Woden 2 level editor. For now, I
>> am leaving this widget toolkit mostly as a demo. Hopefully it is possible
>> to make Bloc backend using this API.
>> >
>> > During the process of making this API, I had to fix several bugs with
>> OSWindow, and bugs in the interaction between OSWindow and OpenGL. The
>> biggest problem was a race condition between the creation of an OSWindow
>> using SDL2, and the events (such as Expose) that are sent to the just
>> created Window.
>> >
>> > As for Mac OS X, OSWindow is out of service until a pull request (
>> https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/138 ) gets
>> integrated into the VM.
>> >
>> > Best regards,
>> > Ronie
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>


Re: [Pharo-dev] [ANN] Pompeii Volcanic Graphics, a mesh based 2D graphics API

2017-05-12 Thread Stephane Ducasse
Esteban is preparing the release of Pharo 60 but I'm quite sure that he
will integrate your PR for SDL20 and OSWindow.
OSWindow is too important for us :)
Now we need to move everything to use it but our plates were rather full.

Stef

On Sat, May 13, 2017 at 8:50 AM, Stephane Ducasse 
wrote:

> Hi ronie
>
> This is super cool. I would prefer Volcano to Pompeii because lot of
> people died at pompeii but it the dead in Pharo are the old Morphs this is
> ok for me :)
> About the back end, this is really good to have multiple back-ends for
> Bloc.
>
> Stef
>
>
> On Sat, May 13, 2017 at 1:55 AM, Ronie Salgado 
> wrote:
>
>> Hi Alex,
>>
>> This is great!
>>> Do you know whether Pompeii can be used by Bloc?
>>>
>> I do not know. If the Bloc people pointed me to the places that have to
>> be modified, and if there are willing to have yet another backend, then I
>> am willing to try adding the backend for Bloc.
>>
>> Best regards,
>> Ronie
>>
>> 2017-05-12 20:01 GMT-03:00 Alexandre Bergel :
>>
>>> Hi Ronie,
>>>
>>> This is great!
>>> Do you know whether Pompeii can be used by Bloc?
>>>
>>> Alexandre
>>>
>>>
>>> > On May 12, 2017, at 6:26 PM, Ronie Salgado 
>>> wrote:
>>> >
>>> > Hello,
>>> >
>>> > I am releasing a first version of a new 2D graphics API that I am
>>> making for Pharo, using OpenGL.
>>> >
>>> > 
>>> > 
>>> >
>>> > http://smalltalkhub.com/#!/~ronsaldo/PompeiiGraphics
>>> > https://youtu.be/emE6_1RpAo8
>>> >
>>> > This 2D graphics API is not vectorial based becase it does not use SVG
>>> style paths. This API is triangle mesh based, so it is more friendlier with
>>> the GPU than Athens or Sparta.
>>> >
>>> > With this API I did a basic gui toolkit, with only two widgets:
>>> buttons and label. I did this Widget toolkit to not mess with Bloc, and
>>> because I need something relatively stable for the Woden 2 level editor.
>>> For now, I am leaving this widget toolkit mostly as a demo. Hopefully it is
>>> possible to make Bloc backend using this API.
>>> >
>>> > During the process of making this API, I had to fix several bugs with
>>> OSWindow, and bugs in the interaction between OSWindow and OpenGL. The
>>> biggest problem was a race condition between the creation of an OSWindow
>>> using SDL2, and the events (such as Expose) that are sent to the just
>>> created Window.
>>> >
>>> > As for Mac OS X, OSWindow is out of service until a pull request (
>>> https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/138 ) gets
>>> integrated into the VM.
>>> >
>>> > Best regards,
>>> > Ronie
>>>
>>> --
>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>> Alexandre Bergel  http://www.bergel.eu
>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>
>>>
>>>
>>>
>>>
>>
>


Re: [Pharo-dev] Git breaks Monticello's version numbers

2017-05-12 Thread Stephane Ducasse
My gut feeling is that it will be better not to mix git and MC.



On Fri, May 12, 2017 at 11:09 PM, Oleksandr Zaytsev 
wrote:

> Hello
>
> Two days ago I was trying to send the slice with my fix to PolyMath using
> Monticello. But the version number got set to 1494471195. Today I realized
> that all the packages to which I commit are numbered like that.
>
> Cyril Ferlicot explained to me that this happens when I mix git and
> Monticello commits. He suggested that I use a separate image for committing
> to GitHub, or file out/file in if there is a lot of changes to commit.
>
> Can this be considered a bug? Should I report it?
>
> I think it would be causing problems for many people.
>
> Oleks
>


[Pharo-dev] Idea of searcheability of Pharo project on git

2017-05-13 Thread Stephane Ducasse
Hi guys

right now many people publish their software on SmalltalkHUB, SS3 and
Squeaksource
and this is handy to find something.


I hope that we will release soon the package repository that christophe was
developing but
now I'm wondering if we as a community should follow a pattern to help?

git freaks do you have suggestions


Stef


Re: [Pharo-dev] Idea of searcheability of Pharo project on git

2017-05-13 Thread Stephane Ducasse
I was more talking about the other projects :)
the projects of everybody because for Pharo itself it is more or less easy.

On Sat, May 13, 2017 at 9:32 AM, Thierry Goubier 
wrote:

> Le 13/05/2017 à 09:01, Stephane Ducasse a écrit :
>
>> Hi guys
>>
>> right now many people publish their software on SmalltalkHUB, SS3 and
>> Squeaksource
>> and this is handy to find something.
>>
>>
>> I hope that we will release soon the package repository that christophe
>> was developing but
>> now I'm wondering if we as a community should follow a pattern to help?
>>
>> git freaks do you have suggestions
>>
>
> A github organization for Pharo and for contributors. Like
> SquareBraquetsAssociates.
>
> Thierry
>
>
>>
>> Stef
>>
>
>
>


Re: [Pharo-dev] Official cover for the Pharo booklet collection

2017-05-13 Thread Stephane Ducasse
Now just have to write more :)

Stef

On Sat, May 13, 2017 at 1:55 AM, Damien Pollet 
wrote:

> Thanks :)
>
> On 12 May 2017 at 23:18, Oleks  wrote:
>
>> It looks wonderful!
>>
>>
>>
>> --
>> View this message in context: http://forum.world.st/Official
>> -cover-for-the-Pharo-booklet-collection-tp4946926p4946945.html
>> Sent from the Pharo Smalltalk Developers mailing list archive at
>> Nabble.com.
>>
>>
>
>
> --
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet
>


Re: [Pharo-dev] Idea of searcheability of Pharo project on git

2017-05-13 Thread Stephane Ducasse
Hi dale

christophe developed something like that and this is based on cargo
metadata.

Stef


On Sat, May 13, 2017 at 3:04 PM, Dale Henrichs <
dale.henri...@gemtalksystems.com> wrote:

> Steph,
>
> As Thierry mentions you should create an umbrella project for Pharo where
> you can maintain a list of projects contributed by users --- something like
> I've done for GsDevKit_home[1].
>
> I strongly suggest that you use a "project load spec object"[2][3] as the
> unit of registration for your projects. In addition to the Metacello load
> instructions the "project load spec" can maintain a bunch of meta data
> about the project.
>
> The pharo image can scan the projects listed (similar to what you do with
> the Category Browser - I think) or better yet, the developer can make a
> local clone of the project site in a well-known location and then all
> images can look up projects in this the local clone and avoid having to hit
> the network to build the project list ...
>
> Take a look at the video or slides for my "Dangerous Liaisons: Smalltalk,
> files, and git"[4] for more details ... and of course I'm willing to
> discuss additional details/ideas over skype or email.
>
> Dale
>
> [1] http://gsdevkit.github.io/GsDevKit_home/
>
> [2] https://github.com/GsDevKit/GsDevKit_home/blob/gh-pages/Seaside3.ston
>
> [3] https://github.com/dalehenrich/tode/blob/master/.smalltalk.ston
>
> [4] http://fast.org.ar/talks/dangerous-liaisons-smalltalk-files-and-git
>
>
>
> On 5/13/17 12:01 AM, Stephane Ducasse wrote:
>
>> Hi guys
>>
>> right now many people publish their software on SmalltalkHUB, SS3 and
>> Squeaksource
>> and this is handy to find something.
>>
>>
>> I hope that we will release soon the package repository that christophe
>> was developing but
>> now I'm wondering if we as a community should follow a pattern to help?
>>
>> git freaks do you have suggestions
>>
>>
>> Stef
>>
>
>
>


[Pharo-dev] How to be able to get a debugger inside DNU

2017-05-13 Thread Stephane Ducasse
Hi

In the past it was possible to step throw such code and now we cannot
anymore
because of a smart trick. I should say that I hate when we break the
reachibility and understandibility of the system.
So why I cannot get a debugger opens after the halt: ?
How do I get that ?

Now I will put traces: super cool!

Stef

doesNotUnderstand: aMessage
"support sending message to access properties"

| selector |
selector := aMessage selector.
self halt: aMessage selector.
^ selector isUnary
ifTrue: [ (self hasPropertyAt: selector)
ifTrue: [ self propertyAt: aMessage selector asSymbol ]
ifFalse: [ super doesNotUnderstand: aMessage ] ]
ifFalse: [ selector numArgs = 1
ifTrue: [ self propertyAt: aMessage selector allButLast asSymbol put:
aMessage argument ]
ifFalse: [ super doesNotUnderstand: aMessage ] ]


Re: [Pharo-dev] Idea of searcheability of Pharo project on git

2017-05-13 Thread Stephane Ducasse
tx cyril


On Sat, May 13, 2017 at 3:27 PM, Cyril Ferlicot D.  wrote:

> On 13/05/2017 09:01, Stephane Ducasse wrote:
> > Hi guys
> >
> > right now many people publish their software on SmalltalkHUB, SS3 and
> > Squeaksource
> > and this is handy to find something.
> >
> >
> > I hope that we will release soon the package repository that christophe
> > was developing but
> > now I'm wondering if we as a community should follow a pattern to help?
> >
> > git freaks do you have suggestions
> >
> >
> > Stef
>
> Hi,
>
> In github you have the possibility to search by tags (the little chips
> under the description of a project). For this you need to add
> "topic:pharo" in the search.
>
> https://github.com/search?utf8=%E2%9C%93&q=topic%3Apharo&type=
>
> Also github detect the language of the repo and you can search with the
> "language:Smalltalk" tag in the search.
>
> https://github.com/search?utf8=%E2%9C%93&q=language%
> 3ASmalltalk&type=Repositories&ref=advsearch&l=Smalltalk&l=
>
> This is only for github bug I think that most of the open source
> projects will be on github. And some on bitbucket and gitlab. But I
> think they should have some search like github.
>
> And we can do nothing for self hosted git repositories I think :)
>
> --
> Cyril Ferlicot
> https://ferlicot.fr
>
> http://www.synectique.eu
> 2 rue Jacques Prévert 01,
> 59650 Villeneuve d'ascq France
>
>


Re: [Pharo-dev] How to be able to get a debugger inside DNU

2017-05-13 Thread Stephane Ducasse
In fact my test was broken an in addition the debugger does not show the
top frame and it took me a while to see that I
should always scroll to be the stack.
And I was always only seeing this mustBeABoolean.

On Sat, May 13, 2017 at 9:17 PM, Tudor Girba  wrote:

> Hi,
>
> I am not quite sure where the issue is because I cannot seem to reproduce
> the problem.
>
> I try this Playground script:
>
> Object subclass: #ABC
> instanceVariableNames: ''
> classVariableNames: ''
> package: 'ABC'.
>
> ABC compile: 'doesNotUnderstand: aMessage
> "support sending message to access properties"
>
> | selector |
> selector := aMessage selector.
> self halt: aMessage selector.
> ^ selector isUnary
> ifTrue: [ (self hasPropertyAt: selector)
> ifTrue: [ self propertyAt: aMessage
> selector asSymbol ]
> ifFalse: [ super doesNotUnderstand:
> aMessage ] ]
> ifFalse: [ selector numArgs = 1
> ifTrue: [ self propertyAt: aMessage
> selector allButLast asSymbol put: aMessage argument ]
> ifFalse: [ super doesNotUnderstand:
> aMessage ] ]'.
>
> ABC new bla.
>
>
>
> And I get a debugger. What am I missing?
>
> Cheers,
> Doru
>
>
>
> > On May 13, 2017, at 6:05 PM, Stephane Ducasse 
> wrote:
> >
> > Hi
> >
> > In the past it was possible to step throw such code and now we cannot
> anymore
> > because of a smart trick. I should say that I hate when we break the
> reachibility and understandibility of the system.
> > So why I cannot get a debugger opens after the halt: ?
> > How do I get that ?
> >
> > Now I will put traces: super cool!
> >
> > Stef
> >
> > doesNotUnderstand: aMessage
> >   "support sending message to access properties"
> >
> >   | selector |
> >   selector := aMessage selector.
> >   self halt: aMessage selector.
> >   ^ selector isUnary
> >   ifTrue: [ (self hasPropertyAt: selector)
> >   ifTrue: [ self propertyAt: aMessage
> selector asSymbol ]
> >   ifFalse: [ super doesNotUnderstand:
> aMessage ] ]
> >   ifFalse: [ selector numArgs = 1
> >   ifTrue: [ self propertyAt: aMessage
> selector allButLast asSymbol put: aMessage argument ]
> >   ifFalse: [ super doesNotUnderstand:
> aMessage ] ]
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> “Live like you mean it."
>
>
>


Re: [Pharo-dev] How to be able to get a debugger inside DNU

2017-05-14 Thread Stephane Ducasse
Yes this is super annoying because I get really confused

On Sat, May 13, 2017 at 11:10 PM, p...@highoctane.be 
wrote:

> I also have to scroll up to see the last frame (Pharo 5.0).
>
> Phil
>
> On Sat, May 13, 2017 at 9:27 PM, Stephane Ducasse  > wrote:
>
>> In fact my test was broken an in addition the debugger does not show the
>> top frame and it took me a while to see that I
>> should always scroll to be the stack.
>> And I was always only seeing this mustBeABoolean.
>>
>> On Sat, May 13, 2017 at 9:17 PM, Tudor Girba 
>> wrote:
>>
>>> Hi,
>>>
>>> I am not quite sure where the issue is because I cannot seem to
>>> reproduce the problem.
>>>
>>> I try this Playground script:
>>>
>>> Object subclass: #ABC
>>> instanceVariableNames: ''
>>> classVariableNames: ''
>>> package: 'ABC'.
>>>
>>> ABC compile: 'doesNotUnderstand: aMessage
>>> "support sending message to access properties"
>>>
>>> | selector |
>>> selector := aMessage selector.
>>> self halt: aMessage selector.
>>> ^ selector isUnary
>>> ifTrue: [ (self hasPropertyAt: selector)
>>> ifTrue: [ self propertyAt: aMessage
>>> selector asSymbol ]
>>> ifFalse: [ super doesNotUnderstand:
>>> aMessage ] ]
>>> ifFalse: [ selector numArgs = 1
>>> ifTrue: [ self propertyAt: aMessage
>>> selector allButLast asSymbol put: aMessage argument ]
>>> ifFalse: [ super doesNotUnderstand:
>>> aMessage ] ]'.
>>>
>>> ABC new bla.
>>>
>>>
>>>
>>> And I get a debugger. What am I missing?
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>>
>>> > On May 13, 2017, at 6:05 PM, Stephane Ducasse 
>>> wrote:
>>> >
>>> > Hi
>>> >
>>> > In the past it was possible to step throw such code and now we cannot
>>> anymore
>>> > because of a smart trick. I should say that I hate when we break the
>>> reachibility and understandibility of the system.
>>> > So why I cannot get a debugger opens after the halt: ?
>>> > How do I get that ?
>>> >
>>> > Now I will put traces: super cool!
>>> >
>>> > Stef
>>> >
>>> > doesNotUnderstand: aMessage
>>> >   "support sending message to access properties"
>>> >
>>> >   | selector |
>>> >   selector := aMessage selector.
>>> >   self halt: aMessage selector.
>>> >   ^ selector isUnary
>>> >   ifTrue: [ (self hasPropertyAt: selector)
>>> >   ifTrue: [ self propertyAt: aMessage
>>> selector asSymbol ]
>>> >   ifFalse: [ super doesNotUnderstand:
>>> aMessage ] ]
>>> >   ifFalse: [ selector numArgs = 1
>>> >   ifTrue: [ self propertyAt: aMessage
>>> selector allButLast asSymbol put: aMessage argument ]
>>> >   ifFalse: [ super doesNotUnderstand:
>>> aMessage ] ]
>>>
>>> --
>>> www.tudorgirba.com
>>> www.feenk.com
>>>
>>> “Live like you mean it."
>>>
>>>
>>>
>>
>


[Pharo-dev] New booklet available

2017-05-14 Thread Stephane Ducasse
A new booklet is joining the collection and it is on Voyage the object to
document mapper developed by E. Lorenzano.

Available in beta http://files.pharo.org/books/ and open to contributors at
https://github.com/SquareBracketAssociates/Booklet-Voyage

Enjoy

Stef


Re: [Pharo-dev] PharoLauncher prepared for Pharo 7

2017-05-15 Thread Stephane Ducasse
Thanks!
We should produce a new version of the launcher and push it more but too
busy.

stef

On Mon, May 15, 2017 at 9:15 AM, Torsten Bergmann  wrote:

> Pharo Launcher was updated for Pharo 7 already:
>
> ---
> Name: PharoLauncher-Core-TorstenBergmann.105
> Author: TorstenBergmann
> Time: 15 May 2017, 9:12:21.430226 am
> UUID: 9b8faeb3-da25-49e9-bdf4-0c2b130ed357
> Ancestors: PharoLauncher-Core-CyrilFerlicot.104
>
> Adopt to Pharo 70 already
>
>
> after loading ensure to run
>
>  PhLTemplateGroupRepository resetGroups.
>
>
>
> the new directory http://files.pharo.org/image/70/ is still empty
> until the middle of the week.
>
> Have fun
> T.
>
>


Re: [Pharo-dev] Calypso technology preview.

2017-05-20 Thread Stephane Ducasse
Hi ben

It is better to load it because for example I could not load a new version
the last time I tried to update.
We should lower the stress of the releasers.

Stef


On Sat, May 20, 2017 at 4:47 AM, Ben Coman  wrote:

> It is probably much too late to suggest this, but if Calypso is a
> candidate for our next browser, perhaps it could be included in Pharo 6 as
> a technology preview?
> Or maybe in a half-year point release Pharo 6.x ?
>
> cheers -ben
>


[Pharo-dev] [ bloc]'Pulse loop must be running in order to request a pulse'

2017-05-20 Thread Stephane Ducasse
I wanted to work on the bloc booklet and
when I reopen my image I get

'Pulse loop must be running in order to request a pulse'


Re: [Pharo-dev] QualityImprovements assured by tests

2017-05-20 Thread Stephane Ducasse
I agree with you.
This is why I worked on the auto categoriser. then I improve the
categorizer inside the image.
Now I have a tool to analyse the categories but no time and I did not want
to break everything
but we could push some rules.

if people would have published slices on such issues I'm quite sure that we
would have integrated them, now the question
is that it takes time and we were focused on other urgent tasks.

Stef


On Sat, May 20, 2017 at 12:25 AM, Torsten Bergmann  wrote:

> Hi,
>
> One year later we are close to a final release for Pharo 6 and either with
> Pharo 6 or upcoming Pharo 7
> I would really like to see some checks that ensure a quality image and
> tests who keep us all more
> disciplined in the future.
>
> Because:
>
>   1. We should not have undocumented classes:
>
> (Object allSubclasses select: [:cls| cls hasComment not ])
>
>  but we have a lot in Pharo 6 now since we introduced new packages in
> this release iteration
>
>   2. We should not have class instance variables in uppercase but:
>
>  (Object allSubclasses select: [:cls| cls isMeta]) select: [:cls| cls
>instVarNames anySatisfy: [:n | n first isUppercase]]
>
>  is not empty - although this was already discussed back in 2008 (!),
> see
>  http://lists.pharo.org/pipermail/pharo-dev_lists.
> pharo.org/2008-November/003366.html
>
>   3. We should not have uncategorized methods but:
>
>  (Object allSubclasses select: [:cls| (cls selectorsInProtocol:
> Protocol unclassified) notEmpty ])
>
>  we still have them.
>
>   4. I've seen methods with unused temporary variables. Dont know about
> unused ivars or other.
>
>   5. add you own here ...
>
> I know this is often boring to comment or categorize - but we should do
> our homework as we wanted to
> better compared to the past. Also if the base image is not following rules
> how should we expect others
> to provide quality packages on top of it?
>
> IMHO we should raise the bar. Either in Pharo 6 or in early Pharo 7. We
> can fix these once and for
> all AND assure with unit tests that we keep the standard image on this
> quality level.
>
> Thx
> T.
>
>
>
>
>


Re: [Pharo-dev] [ bloc]'Pulse loop must be running in order to request a pulse'

2017-05-20 Thread Stephane Ducasse
Thanks!


On Sat, May 20, 2017 at 3:01 PM, Aliaksei Syrel 
wrote:

> https://github.com/pharo-graphics/Bloc/issues/20
>
> Cheers,
> Alex
>
> On 20 May 2017 at 14:58, Aliaksei Syrel  wrote:
>
>> Hi Stef,
>>
>> Yes, sometimes that might happen.
>> However, there is silver bullet:
>>
>> BlUniverse reset
>>
>> Cheers,
>> Alex
>>
>> On May 20, 2017 2:09 PM, "Stephane Ducasse" 
>> wrote:
>>
>> I wanted to work on the bloc booklet and
>> when I reopen my image I get
>>
>> 'Pulse loop must be running in order to request a pulse'
>>
>>
>>
>


[Pharo-dev] [ Bloc ] Some questions

2017-05-21 Thread Stephane Ducasse
Hi

Several questions on bloc

- Would it make sense to rename BlElement into BlGraphicalElement?

- Could we rename drawPathOnSpartCanvas: -> drawOn:? or drawPathOn:


- What is the difference between a shapeFactory and a Geometry?

- Does a Geometry can build path too?

I saw that the Factory is in Sparta while the Geometry in Bloc
I thought because of buildPathOnSpartaCanvas: aCanvas within: aBounds

- Why the ShapeFactory does not delegate its logic to the Geometry object?


- Why BlGeometryElement is not called BlGeometricalElement?

- How a BlLine relates to a BlLineElement?

BlLineElement >> defaultGeometry
^ BlLine new

Would it not be better to have an instance variable like that we do not
force extender to only use inheritance? With an instance variable and
setter

We could do

BlLineElement new geometry: MyBlLine new.


[Pharo-dev] Iceberg help

2017-05-21 Thread Stephane Ducasse
So I tried to use iceberg to contribute to bloc

I entered g...@github.com:ducasse/pharo-graphics/Bloc.git

and

g...@github.com:ducasse/pharo-graphics/Bloc

and iceberg tells me that there is a parse error??

Then I tried


[Pharo-dev] Iceberg ?

2017-05-21 Thread Stephane Ducasse
On mac with latest pharo vm and latest pharo 60
Metacello new
baseline: 'Bloc';
repository: 'github://pharo-graphics/Bloc/src';
load:#core

Then I got LGit_GIT_ERROR no ssh-agent suitable credentials found


Re: [Pharo-dev] Iceberg ?

2017-05-21 Thread Stephane Ducasse
yes and I should publish it on my git account?
I use git daily so I do not get why I should do something different with
iceberg/

On Sun, May 21, 2017 at 11:33 AM, Myroslava Romaniuk 
wrote:

> Have you got a ssh key?
>
> On 21 May 2017 at 12:31, Stephane Ducasse  wrote:
>
>> On mac with latest pharo vm and latest pharo 60
>> Metacello new
>> baseline: 'Bloc';
>> repository: 'github://pharo-graphics/Bloc/src';
>> load:#core
>>
>> Then I got LGit_GIT_ERROR no ssh-agent suitable credentials found
>>
>>
>>
>
>
> --
> З повагою,
> Мирослава Романюк.
>


Re: [Pharo-dev] Class syntax brainstorming

2017-05-22 Thread Stephane Ducasse
Yes this is the idea. We should the combinatorial explosion :)

On Mon, May 22, 2017 at 1:27 PM, Gabriel Cotelli 
wrote:

> If we can get rid off the myriad of class creation methods count me in. :)
>
> I would do something like:
>
>  ClassBuilder new
>   name: #A;
>   superclass: Object;
>   addInstanceVariableNamed: 'a';
>   addInstanceVariableNamed: 'c';
>   addBooleanSlotNamed: 'z';
>   addClassVariableNamed: 'D';
>   use: SomeTrait;
>   use: SomeOtherTrait;
>   beWeak "if you want a weak subclass";
>   build
>
> With all of this optional. If we can avoid to pass nil as superclass for
> the cases you don't have a superclass that would be good, maybe an specific
> method in the builder ?
>
> On Mon, May 22, 2017 at 4:25 AM, Luc Fabresse 
> wrote:
>
>> Hi,
>>
>> Following Pharo Days, I brainstormed about some possible class definition
>> syntaxes.
>> What I have in mind:
>>
>> "basic mechanics, only THIS one in the image!"
>> ClassDefinition new
>> superclass: Object; "optional. If not specified, Object by default ;-)"
>> name: #A; "optional and create an anonymous class if not specified"
>> instVars: 'a b c';
>> traits: {TEquality};
>> package: 'Plop';
>> createClass. " this message sent might be hidden by the browser when
>> accepting"
>>
>> "---"
>> "Some IDEAS (but I did not find one that I really like) of
>> scripting/shorter syntaxes that must ALWAYS end up calling the above basic
>> mechanics at the end:"
>>
>> Class fromDefinition: [ :def |
>> def name: #sub;
>> instVars: 'w r g';
>> superclass: Object ].
>>
>> Object subclass  "<-- returns a subclass of Object but the problem is
>> that the new class is muted each time and the class definition is not
>> explicit"
>> name: #A;
>> ivs: 'a b c';
>> traits: { TEquality }.
>>
>> { #superclass -> Object.
>> #name -> #sub.
>> #instVars -> 'a b c' } asClass.
>>
>> { Object asSuperclass.
>>  #sub asClassName.
>> 'a b c' asInstVars.
>> 'c' asClassVar } asClass.
>>
>> "litteral approach"
>> #( name A
>> superclass Object
>> instVars #(a b c)
>> instVar d
>> ) asClass
>>
>>
>> #Luc
>>
>
>


Re: [Pharo-dev] Iceberg ?

2017-05-22 Thread Stephane Ducasse
Tx I will have a look.

On Sun, May 21, 2017 at 11:43 AM, Myroslava Romaniuk 
wrote:

> Well it is a bit different with iceberg. Have a look at the FAQ
> <https://github.com/pharo-vcs/iceberg#FAQ> section here, and here
> <https://help.github.com/articles/connecting-to-github-with-ssh/>'s a
> general guide regarding connecting github with ssh. Let me know if this
> helps
>
> On 21 May 2017 at 12:35, Stephane Ducasse  wrote:
>
>> yes and I should publish it on my git account?
>> I use git daily so I do not get why I should do something different with
>> iceberg/
>>
>> On Sun, May 21, 2017 at 11:33 AM, Myroslava Romaniuk > > wrote:
>>
>>> Have you got a ssh key?
>>>
>>> On 21 May 2017 at 12:31, Stephane Ducasse 
>>> wrote:
>>>
>>>> On mac with latest pharo vm and latest pharo 60
>>>> Metacello new
>>>> baseline: 'Bloc';
>>>> repository: 'github://pharo-graphics/Bloc/src';
>>>> load:#core
>>>>
>>>> Then I got LGit_GIT_ERROR no ssh-agent suitable credentials found
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> З повагою,
>>> Мирослава Романюк.
>>>
>>
>>
>
>
> --
> З повагою,
> Мирослава Романюк.
>


Re: [Pharo-dev] Iceberg ?

2017-05-22 Thread Stephane Ducasse
Yes please do because I had no idea and I was trying to look at the setting
but without results.

On Mon, May 22, 2017 at 8:53 PM, Esteban Lorenzano 
wrote:

> Hi,
>
> is not weird because git uses other authentication services and for now we
> just implemented ssh/ssh-agent :)
> solution is to execute this in command line:
>
> ssh-add -K ~/.ssh/id_rsa
>
> then it will be ok.
>
> (I will add an entry for this in the FAQ)
>
>
> On 22 May 2017, at 20:48, Alexandre Bergel 
> wrote:
>
> I got the very same error. And this is weird because I can commit from the
> command line or using any Git client.
>
> Alexandre
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
> On May 21, 2017, at 5:31 AM, Stephane Ducasse 
> wrote:
>
> On mac with latest pharo vm and latest pharo 60
> Metacello new
> baseline: 'Bloc';
> repository: 'github://pharo-graphics/Bloc/src';
> load:#core
>
> Then I got LGit_GIT_ERROR no ssh-agent suitable credentials found
>
>
>
>
>


Re: [Pharo-dev] Iceberg ?

2017-05-22 Thread Stephane Ducasse
I get

ssh-add -K ~/.ssh/id_rsa

Error connecting to agent: No such file or directory



On Mon, May 22, 2017 at 9:46 PM, Stephane Ducasse 
wrote:

> Yes please do because I had no idea and I was trying to look at the
> setting but without results.
>
> On Mon, May 22, 2017 at 8:53 PM, Esteban Lorenzano 
> wrote:
>
>> Hi,
>>
>> is not weird because git uses other authentication services and for now
>> we just implemented ssh/ssh-agent :)
>> solution is to execute this in command line:
>>
>> ssh-add -K ~/.ssh/id_rsa
>>
>> then it will be ok.
>>
>> (I will add an entry for this in the FAQ)
>>
>>
>> On 22 May 2017, at 20:48, Alexandre Bergel 
>> wrote:
>>
>> I got the very same error. And this is weird because I can commit from
>> the command line or using any Git client.
>>
>> Alexandre
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>> On May 21, 2017, at 5:31 AM, Stephane Ducasse 
>> wrote:
>>
>> On mac with latest pharo vm and latest pharo 60
>> Metacello new
>> baseline: 'Bloc';
>> repository: 'github://pharo-graphics/Bloc/src';
>> load:#core
>>
>> Then I got LGit_GIT_ERROR no ssh-agent suitable credentials found
>>
>>
>>
>>
>>
>


Re: [Pharo-dev] Pharo booklet collection

2017-05-25 Thread Stephane Ducasse
Thanks damien I will duplicate this script to all the booklets repo.
My plan is to have also a jenkins job for each of them.


On Tue, May 23, 2017 at 11:11 PM, Damien Pollet 
wrote:

> Check the travis configuration file. It has the docker invocation that
> will get the correct image and build the booklet.
> https://github.com/SquareBracketAssociates/Booklet-Reddit/blob/master/.
> travis.yml
>
> You can also build without docker but that requires an up-to-date TeXlive
> 2016 (unfortunately we rely on some fixes that are not in the installation
> iso, so you'd have to either use the net installer or do `tlmgr update
> --self --all` after installing the iso snapshot)
>
> On 23 May 2017 at 15:25, Tim Mackinnon  wrote:
>
>> Hi - so I forked a repo (the Reddit one), and am reading through it to
>> check for typos (I’ve see a few). Obviously I can correct those, but how do
>> I actually preview my changes to ensure I haven’t screwed it all up?
>>
>> I’m guessing I need to install Docker and pull down a specific image -
>> which I can then use to generate the output to test it? Or, is there an ST
>> image that I can run on this directory?
>>
>> As a quick scan of whats in a book repo - it all looks a bit more
>> complicated than I expected - with make files and what look like “inplace
>> templates” (as in format1.format2.format3 etc). Having played around with
>> Metalsmith.io I think its sort of similar, but It seems like there is
>> more to learn somehow?
>>
>> Tim
>>
>> On 6 May 2017, at 11:36, Stephane Ducasse 
>> wrote:
>>
>> Hi phil
>>
>> yes I loved this idea. We got burned by that too.
>>
>> About pillar. The departure of Damien was not expected and it slows us
>> quite a bit.
>>
>> We (mainly me helped with maxime) are working on
>> - making the pillar core nicer
>> - less dependencies
>> - and with a small in image renderer :) We had fun with guille
>>
>>
>> - In the pharo 60 version I started to clean the command-line.
>> - merged many unmerged changes.
>>
>> But even with all the tests it is not easy
>> I'm testing in addition with reall
>> - book production
>> - slides
>> - html
>>
>> But it takes time and energy. I'm trying to remove the dependencies to
>> magritte for example.
>>
>> Stef
>>
>>
>> 
>>
>>
>> On Sat, May 6, 2017 at 9:30 AM, p...@highoctane.be 
>> wrote:
>>
>>> For books, there is the docker-texlive thing from Damien that we
>>> looked into yesterday because TexLive was giving some headaches.
>>>
>>> https://github.com/philippeback/docker-texlive
>>>
>>> has my current thing for one to build a container with all
>>> prerequisites for TexLive and Pharo installed.
>>>
>>> Idea is to clone the book repo on the host and get into an container
>>> to build the book.
>>>
>>> There is a /work volume that can be mapped onto the host with the
>>> docker run's -v command.
>>>
>>> Then just use ./download.sh in there to install Pharo and pillar in
>>> the container. Do not do that in the host or you'll end up with wrong
>>> versions (like my host is CentOS and the container is Ubuntu, even
>>> worse with host is macOS or Windows).
>>>
>>> Then "make book" should give a book in build/
>>> There is a "make wipeout" command that obliterates the build folder
>>> for good so you can start clean. No harm done on your files.
>>>
>>> Will document more of this but woul dbe nice if someone could check
>>> this out too.
>>>
>>> There is a script in base/ to build the docker image.
>>>
>>> Phil
>>>
>>> On Sat, May 6, 2017 at 9:20 AM, Stephane Ducasse
>>>  wrote:
>>> > I fixed it.
>>> > The code for the web site in on github.
>>> >
>>> > Stef
>>> >
>>> > On Tue, May 2, 2017 at 10:32 PM, Esteban A. Maringolo <
>>> emaring...@gmail.com>
>>> > wrote:
>>> >>
>>> >> Correct link seems to be
>>> >>
>>> >>
>>> >> http://files.pharo.org/books-pdfs/booklet-Glorp/2017-05-02-G
>>> lorp.spiral.pdf
>>> >> Esteban A. Maringolo
>>> >>
>>> >>
>>> >> 2017-05-02 17:28 GMT-03:00 p...@highoctane.be :
>>> >> > link for glorp gives smacc book error
>>> >> >
>>> >

Re: [Pharo-dev] multiple crashes on macOS Sierra

2017-05-25 Thread Stephane Ducasse
Hi doru

Yes I get the same. Now I was also in the bloc image, I got crash when
resizing the host window.

Stef

On Wed, May 24, 2017 at 10:28 PM, Tudor Girba  wrote:

> Hi,
>
> Today I experienced multiple crashes on macOS Sierra.
>
> These happened during regular programming, mostly while typing code. I
> attached here the crash dump(s). I believe I heard Phil having the same
> issue with the stable Pharo VM.
>
> Does anyone else has the same issue?
>
> The VM is:
> CoInterpreter VMMaker.oscog-eem.2203 uuid: 
> 12d4afae-8498-4e76-8efe-60eba6ef4db2
> May  2 2017
> StackToRegisterMappingCogit VMMaker.oscog-eem.2203 uuid:
> 12d4afae-8498-4e76-8efe-60eba6ef4db2 May  2 2017
> VM: 201705021552 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
> Date: Tue May 2 08:52:41 2017 -0700 $ Plugins: 201705021552
> https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
>
> The Pharo update number is: 60482
>
> Cheers,
> Doru
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "From an abstract enough point of view, any two things are similar."
>
>
>
>


Re: [Pharo-dev] Booklet suggestion

2017-05-25 Thread Stephane Ducasse
What I'm doing is
- extracting a subset of pillar
- doc + renderer
- so that we can use it in the image.
Now kasper did a first version (in the repository and if people want to
have a look it will help)
- now I'm remaving the dependency on magritte.

Stef

On Thu, May 25, 2017 at 2:03 PM, Ben Coman  wrote:

> Nice idea.  I've seen vague discussion about getting Pillar into the
> standard image for documentation.
> Perhaps it should be raised for consideration for Pharo 7?
>
> Actually you stimulate my thoughts that the Help file might be a
> better place for such snippets,
> so they are always with the image, and don't need to be retyped.  Any
> objections?
>
> cheers -ben
>
> On Thu, May 25, 2017 at 4:00 PM, K K Subbu  wrote:
> > Ben,
> >
> > I think there is a deeper need here. Writing good document is hard and
> > keeping it in sync with code is harder still.
> >
> > A book/booklet separates content from the code and being frozen in time
> > faces obsolescence. I would prefer to see a guidebook framework in Pharo
> > that every package author can use to create a simple narrative on its
> > features. Package authors and consumers have an incentive to keep the
> code
> > and content in sync. If an Object is a recursion on the notion of a
> > computer, why not provide, say a Note, as a recursive simplification of a
> > book?
> >
> > The framework could be on the lines of Plugins, Tests. E.g.
> >
> >Package-Core
> >Package-Plugins
> >Package-Tests
> >*Package-Guide*
> >
> > The guide framework should support active code (say to pop the source
> code
> > for a method), active links to guides on which this package depends,
> > automatic generation of table of contents, index of class references.
> Most
> > of features already exists in Pharo but spread all over. They need a
> home.
> >
> > A package could also extend this basic framework with features (e.g. PDF
> > package could export articles to PDF, Zinc could generate HTML).
> >
> > Regards .. Subbu
> >
> >
> > On Thursday 25 May 2017 07:03 AM, Ben Coman wrote:
> >>
> >> I've seen a few requests for short bits of code to use in playground for
> >> a demo presentation.  I wonder if it would be good to have a booklet to
> >> gather these - seeded with Sven's excellent article...
> >> https://medium.com/concerning-pharo/elegant-pharo-code-bb590f0856d0
> >>
> >> It could include the recent meta-programming scripts like searching for
> >> all class instance variables starting with a capital letter.
> >>
> >> The book might be named "Snippets", in a format presentable to laser
> >> print on-site - something physical for attendees to take away with them
> >> to quick demo to others back in their office.
> >>
> >> I can take the lead in setting it up.  Anyone remember any relevant
> >> posts in our archives?
> >>
> >> cheers -ben
> >
> >
> >
>
>


Re: [Pharo-dev] Booklet suggestion

2017-05-25 Thread Stephane Ducasse
What I would like is to extend pillar with a special environment

[[[testable=5
3+ 2
]]]

and also
[[[screenshot: 10@200 named: 'browserOpen'
Browser open
]]]

Now I need help on pillar.

Stef



On Thu, May 25, 2017 at 3:57 PM, Stephane Ducasse 
wrote:

> What I'm doing is
> - extracting a subset of pillar
> - doc + renderer
> - so that we can use it in the image.
> Now kasper did a first version (in the repository and if people want to
> have a look it will help)
> - now I'm remaving the dependency on magritte.
>
> Stef
>
> On Thu, May 25, 2017 at 2:03 PM, Ben Coman  wrote:
>
>> Nice idea.  I've seen vague discussion about getting Pillar into the
>> standard image for documentation.
>> Perhaps it should be raised for consideration for Pharo 7?
>>
>> Actually you stimulate my thoughts that the Help file might be a
>> better place for such snippets,
>> so they are always with the image, and don't need to be retyped.  Any
>> objections?
>>
>> cheers -ben
>>
>> On Thu, May 25, 2017 at 4:00 PM, K K Subbu  wrote:
>> > Ben,
>> >
>> > I think there is a deeper need here. Writing good document is hard and
>> > keeping it in sync with code is harder still.
>> >
>> > A book/booklet separates content from the code and being frozen in time
>> > faces obsolescence. I would prefer to see a guidebook framework in Pharo
>> > that every package author can use to create a simple narrative on its
>> > features. Package authors and consumers have an incentive to keep the
>> code
>> > and content in sync. If an Object is a recursion on the notion of a
>> > computer, why not provide, say a Note, as a recursive simplification of
>> a
>> > book?
>> >
>> > The framework could be on the lines of Plugins, Tests. E.g.
>> >
>> >Package-Core
>> >Package-Plugins
>> >Package-Tests
>> >*Package-Guide*
>> >
>> > The guide framework should support active code (say to pop the source
>> code
>> > for a method), active links to guides on which this package depends,
>> > automatic generation of table of contents, index of class references.
>> Most
>> > of features already exists in Pharo but spread all over. They need a
>> home.
>> >
>> > A package could also extend this basic framework with features (e.g. PDF
>> > package could export articles to PDF, Zinc could generate HTML).
>> >
>> > Regards .. Subbu
>> >
>> >
>> > On Thursday 25 May 2017 07:03 AM, Ben Coman wrote:
>> >>
>> >> I've seen a few requests for short bits of code to use in playground
>> for
>> >> a demo presentation.  I wonder if it would be good to have a booklet to
>> >> gather these - seeded with Sven's excellent article...
>> >> https://medium.com/concerning-pharo/elegant-pharo-code-bb590f0856d0
>> >>
>> >> It could include the recent meta-programming scripts like searching for
>> >> all class instance variables starting with a capital letter.
>> >>
>> >> The book might be named "Snippets", in a format presentable to laser
>> >> print on-site - something physical for attendees to take away with them
>> >> to quick demo to others back in their office.
>> >>
>> >> I can take the lead in setting it up.  Anyone remember any relevant
>> >> posts in our archives?
>> >>
>> >> cheers -ben
>> >
>> >
>> >
>>
>>
>


Re: [Pharo-dev] multiple crashes on macOS Sierra

2017-05-25 Thread Stephane Ducasse
It happened to me too.

On Thu, May 25, 2017 at 12:17 PM, p...@highoctane.be 
wrote:

> For me the Bloc image on Ubuntu Linux 14.04 LTS never reopened back.
>
> All I get is a black screen.
>
> Damn.
>
>
> Phil
>
> On Thu, May 25, 2017 at 9:34 AM, Stephane Ducasse  > wrote:
>
>> Hi doru
>>
>> Yes I get the same. Now I was also in the bloc image, I got crash when
>> resizing the host window.
>>
>> Stef
>>
>> On Wed, May 24, 2017 at 10:28 PM, Tudor Girba 
>> wrote:
>>
>>> Hi,
>>>
>>> Today I experienced multiple crashes on macOS Sierra.
>>>
>>> These happened during regular programming, mostly while typing code. I
>>> attached here the crash dump(s). I believe I heard Phil having the same
>>> issue with the stable Pharo VM.
>>>
>>> Does anyone else has the same issue?
>>>
>>> The VM is:
>>> CoInterpreter VMMaker.oscog-eem.2203 uuid: 
>>> 12d4afae-8498-4e76-8efe-60eba6ef4db2
>>> May  2 2017
>>> StackToRegisterMappingCogit VMMaker.oscog-eem.2203 uuid:
>>> 12d4afae-8498-4e76-8efe-60eba6ef4db2 May  2 2017
>>> VM: 201705021552 https://github.com/OpenSmalltalk/opensmalltalk-vm.git
>>> $ Date: Tue May 2 08:52:41 2017 -0700 $ Plugins: 201705021552
>>> https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
>>>
>>> The Pharo update number is: 60482
>>>
>>> Cheers,
>>> Doru
>>>
>>> --
>>> www.tudorgirba.com
>>> www.feenk.com
>>>
>>> "From an abstract enough point of view, any two things are similar."
>>>
>>>
>>>
>>>
>>
>


Re: [Pharo-dev] Iceberg ?

2017-05-25 Thread Stephane Ducasse
In fact I checked before and to me it looks ok.
Now should I have the same name for the key?
trying now.

I do not get why I can use github all the time and not with pharo.


total 216
drwx--   21 ducasse  admin714 May 25 18:13 ./
drwxr-xr-x@ 118 ducasse  staff   4012 Apr 28 16:25 ../
-rw-r--r--1 ducasse  admin  12288 Mar 20  2015 .config.swp
-rw---1 ducasse  admin   1766 Jan 10  2016 2016RSA
-rw-r--r--@   1 ducasse  admin401 Jan 10  2016 2016RSA.pub
-rw-r--r--1 ducasse  staff  10054 Sep 30  2009 KnowHOST
-rw-r--r--@   1 ducasse  staff238 Mar  7  2011 authorized_keys
-rw-r--r--@   1 ducasse  staff   1765 Jun 29  2016 config
-rw---@   1 ducasse  staff   1697 Jun  1  2010 esug.pem
-rw---1 ducasse  staff   1743 Aug 26  2011 github_rsa
-rw-r--r--1 ducasse  staff389 Aug 26  2011 github_rsa.pub
-rw---1 ducasse  staff668 Sep 30  2009 id_dsa
-rw-r--r--1 ducasse  staff609 Sep 30  2009 id_dsa.pub
-rw---1 ducasse  staff951 Sep 30  2009 id_rsa
-rw-r--r--1 ducasse  staff238 Sep 30  2009 id_rsa.pub
-rw-r--r--@   1 ducasse  staff  17378 Jul 19  2016 known2
-rw-r--r--1 ducasse  admin413 May 25 18:24 known_hosts
-rw-r--r--1 ducasse  staff609 Sep 30  2009 mail
-rw---1 ducasse  staff   1675 Jun  1  2010 newRSAA
-rw-r--r--1 ducasse  staff406 Jun  1  2010 newRSAA.pub




On Mon, May 22, 2017 at 10:14 PM, Max Leske  wrote:

> ls -la ~/.ssh wil probably show you that you don’t have a key named
> “id_rsa”. You have to specify the correct file (e.g. my github key is named
> “github”).
>
> HTH,
> Max
>
> On 22 May 2017, at 21:47, Stephane Ducasse 
> wrote:
>
> I get
>
> ssh-add -K ~/.ssh/id_rsa
>
> Error connecting to agent: No such file or directory
>
>
>
> On Mon, May 22, 2017 at 9:46 PM, Stephane Ducasse  > wrote:
>
>> Yes please do because I had no idea and I was trying to look at the
>> setting but without results.
>>
>> On Mon, May 22, 2017 at 8:53 PM, Esteban Lorenzano 
>> wrote:
>>
>>> Hi,
>>>
>>> is not weird because git uses other authentication services and for now
>>> we just implemented ssh/ssh-agent :)
>>> solution is to execute this in command line:
>>>
>>> ssh-add -K ~/.ssh/id_rsa
>>>
>>> then it will be ok.
>>>
>>> (I will add an entry for this in the FAQ)
>>>
>>>
>>> On 22 May 2017, at 20:48, Alexandre Bergel 
>>> wrote:
>>>
>>> I got the very same error. And this is weird because I can commit from
>>> the command line or using any Git client.
>>>
>>> Alexandre
>>>
>>> --
>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>> Alexandre Bergel  http://www.bergel.eu
>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>
>>>
>>>
>>> On May 21, 2017, at 5:31 AM, Stephane Ducasse 
>>> wrote:
>>>
>>> On mac with latest pharo vm and latest pharo 60
>>> Metacello new
>>> baseline: 'Bloc';
>>> repository: 'github://pharo-graphics/Bloc/src';
>>> load:#core
>>>
>>> Then I got LGit_GIT_ERROR no ssh-agent suitable credentials found
>>>
>>>
>>>
>>>
>>>
>>
>
>


Re: [Pharo-dev] Iceberg ?

2017-05-25 Thread Stephane Ducasse
I retried
rename all the keys I put in my git account.

But
> ssh-add -K ~/.ssh/github_rsa
Error connecting to agent: No such file or directory
> ssh-add -K ~/.ssh/2016RSA
Error connecting to agent: No such file or directory

Apparently I should run

eval `ssh-agent -s`

Now I will try to republish on github.
anyway I'm not using git in pharo for now.

Stef

On Thu, May 25, 2017 at 8:20 PM, Alexandre Bergel 
wrote:

> > I do not get why I can use github all the time and not with pharo.
>
> That is an excellent question
>
> Alexandre
>
>


[Pharo-dev] Debugger questions

2017-05-25 Thread Stephane Ducasse
Hi

In the code below I want to the value of (currentNames includes: v)
If I remember correctly in the past I could position my cursor and say run
up to caret.
But I cannot find it.


valuesOnlyBy: aRowKey
| valueNames |
valueNames := self valueNamesOf: aRowKey.
(self rowKeysExcept: aRowKey)
do: [ :eachRowName |
| currentNames |
self halt.
currentNames := self valueNamesOf: eachRowName.
valueNames
do: [ :v |
(currentNames includes: v)
ifTrue: [ valueNames remove: v ].
valueNames isEmpty
ifTrue: [ ^ #() ] ] ].
^ valueNames

BTW Does anybody understand what through is doing and how to use it?
I do not understand the fly by help :
Nor when I use it.

Stef


Re: [Pharo-dev] Debugger questions

2017-05-26 Thread Stephane Ducasse
Tx Alex!
I find the place of the operations a bit confusing

On Thu, May 25, 2017 at 10:22 PM, Alexandre Bergel 
wrote:

> "Run to here"
>
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
> On May 25, 2017, at 4:15 PM, Stephane Ducasse 
> wrote:
>
> Hi
>
> In the code below I want to the value of (currentNames includes: v)
> If I remember correctly in the past I could position my cursor and say run
> up to caret.
> But I cannot find it.
>
>
> valuesOnlyBy: aRowKey
> | valueNames |
> valueNames := self valueNamesOf: aRowKey.
> (self rowKeysExcept: aRowKey)
> do: [ :eachRowName |
> | currentNames |
> self halt.
> currentNames := self valueNamesOf: eachRowName.
> valueNames
> do: [ :v |
> (currentNames includes: v)
> ifTrue: [ valueNames remove: v ].
> valueNames isEmpty
> ifTrue: [ ^ #() ] ] ].
> ^ valueNames
>
> BTW Does anybody understand what through is doing and how to use it?
> I do not understand the fly by help :
> Nor when I use it.
>
> Stef
>
>
>
>
>


Re: [Pharo-dev] Iceberg ?

2017-05-26 Thread Stephane Ducasse
Thanks esteban!

Do you have to run eval `ssh-agent -s` on your machine?
If so then we should add in the FAQ.
I cannot guess it.

Then can you add this information to the Iceberg FAQ?

Stef

On Thu, May 25, 2017 at 11:31 PM, Esteban Lorenzano 
wrote:

> again, ssh-agent is one way to authenticate.
> it can be not the best but it is the only one we could implement with the
> time we get (also, ssh-agent is “common” while others are platform specific
> and then they will work just in the intended platform). With time, we want
> to implement all, but for now is what we have.
>
> One way to solve this *without* using ssh-agent (for example, something we
> recommend now for windows, since ssh-agent has problems for people not used
> to it) is to use “custom keys”, which now in iceberg is done in settings
> (as explained on the FAQ), or running this:
>
> IceCredentialsProvider useCustomSsh: true.
> IceCredentialsProvider sshCredentials
> publicKey: '/Users/esteban/.ssh/id_rsa.pub’;
> privateKey: '/Users/esteban/.ssh/id_rsa’
>
> of course, you need to modify paths to your user :)
> of course (2), you may add that to a startup action, so you do not need to
> execute that each time.
>
> cheers,
> Esteban
>
> On 25 May 2017, at 22:12, Stephane Ducasse 
> wrote:
>
> I retried
> rename all the keys I put in my git account.
>
> But
> > ssh-add -K ~/.ssh/github_rsa
> Error connecting to agent: No such file or directory
> > ssh-add -K ~/.ssh/2016RSA
> Error connecting to agent: No such file or directory
>
> Apparently I should run
>
> eval `ssh-agent -s`
>
> Now I will try to republish on github.
> anyway I'm not using git in pharo for now.
>
> Stef
>
> On Thu, May 25, 2017 at 8:20 PM, Alexandre Bergel  > wrote:
>
>> > I do not get why I can use github all the time and not with pharo.
>>
>> That is an excellent question
>>
>> Alexandre
>>
>>
>
>


Re: [Pharo-dev] Iceberg ?

2017-05-26 Thread Stephane Ducasse
Tx
For me I can any action required. I just need to be guided.

Stef

On Thu, May 25, 2017 at 11:46 PM, Esteban Lorenzano 
wrote:

> … and I just enhanced the FAQ with this explanation: https://github.
> com/pharo-vcs/iceberg/blob/master/README.md#faq
>
> Esteban, killing the 3G roaming :P
>
>
> On 25 May 2017, at 23:31, Esteban Lorenzano  wrote:
>
> again, ssh-agent is one way to authenticate.
> it can be not the best but it is the only one we could implement with the
> time we get (also, ssh-agent is “common” while others are platform specific
> and then they will work just in the intended platform). With time, we want
> to implement all, but for now is what we have.
>
> One way to solve this *without* using ssh-agent (for example, something we
> recommend now for windows, since ssh-agent has problems for people not used
> to it) is to use “custom keys”, which now in iceberg is done in settings
> (as explained on the FAQ), or running this:
>
> IceCredentialsProvider useCustomSsh: true.
> IceCredentialsProvider sshCredentials
> publicKey: '/Users/esteban/.ssh/id_rsa.pub’;
> privateKey: '/Users/esteban/.ssh/id_rsa’
>
> of course, you need to modify paths to your user :)
> of course (2), you may add that to a startup action, so you do not need to
> execute that each time.
>
> cheers,
> Esteban
>
> On 25 May 2017, at 22:12, Stephane Ducasse 
> wrote:
>
> I retried
> rename all the keys I put in my git account.
>
> But
> > ssh-add -K ~/.ssh/github_rsa
> Error connecting to agent: No such file or directory
> > ssh-add -K ~/.ssh/2016RSA
> Error connecting to agent: No such file or directory
>
> Apparently I should run
>
> eval `ssh-agent -s`
>
> Now I will try to republish on github.
> anyway I'm not using git in pharo for now.
>
> Stef
>
> On Thu, May 25, 2017 at 8:20 PM, Alexandre Bergel  > wrote:
>
>> > I do not get why I can use github all the time and not with pharo.
>>
>> That is an excellent question
>>
>> Alexandre
>>
>>
>
>
>


Re: [Pharo-dev] [Vm-dev] multiple crashes on macOS Sierra

2017-05-28 Thread Stephane Ducasse
I got it from time to time (but may be once a week) but I was in the Bloc
image and it crashed in other ways.
I'm on sierra with latest vm and image.


On Sun, May 28, 2017 at 8:27 PM, Cyril Ferlicot D.  wrote:

> Le 28/05/2017 à 10:50, Esteban Lorenzano a écrit :
> >
> >
> > yes, but I never had it (and I use mac and I type fairly fast too).
> >
>
> Same, never had it and I type fast.
>
> > Esteban
> >
> >
> >
>
>
> --
> Cyril Ferlicot
> https://ferlicot.fr
>
> http://www.synectique.eu
> 2 rue Jacques Prévert 01,
> 59650 Villeneuve d'ascq France
>
>


Re: [Pharo-dev] Confused about Floats on 64-bit Pharo 6

2017-06-01 Thread Stephane Ducasse
Tx you all for taking care about this.


On Thu, Jun 1, 2017 at 10:03 PM, Sven Van Caekenberghe  wrote:

>
> > On 1 Jun 2017, at 17:20, Sven Van Caekenberghe  wrote:
> >
> >
> >> On 1 Jun 2017, at 16:28, Sven Van Caekenberghe  wrote:
> >>
> >> I can confirm that this fixes the problems that I reported. I guess we
> should include this patch ?
> >
> > I'll try to make an issue and patch later tonight
>
> https://pharo.fogbugz.com/f/cases/20102/SmallInteger-
> digitAt-not-ready-for-64-bit-Some-Kernel-Tests-Numbers-
> fail-to-take-64-bit-into-account
>
> Needs a good review
>
> >> This fixes some of the failing tests in Kernel-Tests-Numbers but not
> all of them (some others are really hardcoded constants in the tests).
> >
> > I think that I can fix most tests by adding some #wordSize tests
>
>
>


[Pharo-dev] New and richer halt messages

2017-06-01 Thread Stephane Ducasse
I would love to have better halt messages.

For example I would like to have

  - haltOnlyInTest
  - haltOnlyOutOfTest
  - haltOnlyMe that when I use this one disables all the other halt in the
system.

Marcus it would be nice to brainstorm on these to improve our halt
vocabulary.
Stef


Re: [Pharo-dev] DebugSession: no exception raised when stepping out of the execution?

2017-06-01 Thread Stephane Ducasse
Thanks eliot. I really think that pushing the debugger to the next level is
an exciting perspective and I'm super happy that thomas accepted my crazy
topics.

Stef

On Fri, Jun 2, 2017 at 2:08 AM, Eliot Miranda 
wrote:

> Hi Guille,
>
> On Wed, May 31, 2017 at 12:48 AM, Guillermo Polito <
> guillermopol...@gmail.com> wrote:
>
>>
>>
>> On Mon, May 29, 2017 at 6:07 PM, Eliot Miranda 
>> wrote:
>>
>>> Hi Thomas,
>>>
>>>
>>> On May 29, 2017, at 7:41 AM, Ben Coman  wrote:
>>>
>>>
>>>
>>> On Mon, May 29, 2017 at 9:34 PM,  wrote:
>>>
>>> [...]
>>
>>>
 Here is my example code. Beware, running it will freeze the VM.

 | program process context debugSession |
 program := [1+2].
 process := program newProcess.
 context := process suspendedContext.
 debugSession := process newDebugSessionNamed: 'StepIntoForever'
 startedAt: context.
 [ true ] whileTrue: [ debugSession stepInto ].

  [...]
>>
>>
>>> In particular, your use of stepInto: will soon step into the process
>>> termination code.  See newProcess.  You have to stop simulating before you
>>> stop the current process by mistake.
>>>
>>>
>> Yes, I explained yesterday to Thomas that this would end up terminating
>> the UIProcess where the debugger is running on, instead of terminating the
>> process that is being debugged. But, it looks like a bug...
>>
>> It would make sense to me that "Processor activeContext" yields the
>> debugged context in the simulated code instead of the real active context.
>> And I believe that this change should not break any existing code.
>>
>> Actually, thinking a bit more about this, similar problems may happen if
>> we try to execute in the debugger Semaphore code in the debugger. So
>> probably, in general terms, the debugger should handle specially all code
>> that messes up with the Process machinery.
>>
>
> Alas is isn't possible to implement this directly in the execution
> simulation machinery because of things like this:
>
> Context>>runUntilErrorOrReturnFrom:
> Context>>jump
>
> Context>>jump uses the simulation machinery to advance execution, so the
> execution simulation machinery has to simulate exactly.   
> Context>>runUntilErrorOrReturnFrom:
> uses Context>>jump and is used in the exception delivery process.
>
> I expect the process state changing primitives can apply to
> effectiveProcess.  So in Context>>doPrimitive:method:receiver:args:see
>
> "Mutex>>primitiveEnterCriticalSection
> Mutex>>primitiveTestAndSetOwnershipOfCriticalSection"
> (primitiveIndex = 186 or: [primitiveIndex = 187]) ifTrue:
> [| effective |
> effective := Processor activeProcess effectiveProcess.
> "active == effective"
> value := primitiveIndex = 186
> ifTrue: [receiver primitiveEnterCriticalSectionOnBehalfOf: effective]
> ifFalse: [receiver primitiveTestAndSetOwnershipOfCriticalSectionOnBehalfOf:
> effective].
> ^(self isPrimFailToken: value)
> ifTrue: [value]
> ifFalse: [self push: value]].
>
>
> We would have to have similar code for suspend and resume primitives.  I
> don't see how this mechanism solves the issues with wait and signal
> though.  They need to be handleable as per 
> primitiveEnterCriticalSectionOnBehalfOf:
> etc.  We would have to modify the VM and add signalOnBehalfOf: and
> waitOnBehalfOf:.  There might be a bug tail here because I fear that the
> system depends on these being 0 argument primitives to avoid stack growth
> on signal/wait.
>
> --
>>
>>
>>
>> Guille Polito
>>
>>
>> Research Engineer
>>
>> French National Center for Scientific Research - *http://www.cnrs.fr*
>> 
>>
>>
>>
>> *Web:* *http://guillep.github.io* 
>>
>> *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>
>>
>
>
>
> --
> _,,,^..^,,,_
> best, Eliot
>


  1   2   3   4   5   6   7   8   9   10   >