[Pharo-users] Pharo Desktop apps (and deployment) (was: Re: I18n in pharo)

2017-11-12 Thread Cédrick Béler
Just change the subject as this is not (only) on I18n.

As a summary and from my impression (I just dive into pharo more seriously 
these days).


> Le 11 nov. 2017 à 21:29, Hilaire  a écrit :
> 
> P6 is definitely a better IDE compare to previous version, and for coming 
> Calypso looks fantastic, but P6 is a worst vehicle for a desktop application. 
> There is much more code included and you are on your on to shrink/clean it to 
> deploy your desktop application to make it looks and behave user friendly. 
> May be for a specialized audience it could be just fine to deploy as is.


So it’s more a problem of deployment here. To me P6 is the last « fat image » 
artefact. P7 will definitely be better here (even if of course one must learn 
to create image differently -  and of course the process might be quite fragile 
at first and error prone).
Still my impression but P7 looks more appropriate for doing desktop app versus 
P6.

> 
> About my perception on Pharo, from a distant POV, I see 
> parallel/overlapping/contiguous layers like Morphic, Athens, Sparta, Bloc, 
> Brick, Spec, GT, Polymorph all this looks confusing for me and I really don't 
> know or understand where to put my eggs.

It is to me too (hence something else to learn). But again personally, this is 
the first time I think of doing desktop applications in Pharo/ST (before, it 
was a no go => web apps only). Still, I wait another iteration to dive into (I 
just read brick and block doc).

> 
> When I took a look at Pharo keyboard shortcut, it seems to be -- without been 
> sure 100% -- there are two different implementations. One from GT and another 
> one, probably a legacy one. How can it happen? Then you wonder about other 
> part of the system. It makes fells like changes/implementations are not 
> coherent, and you don't really fell the environment as coherent or trustful.

Probable as the new rendering stack must be used and improved. I can’t make 
some shortcuts (native) working like CMD+SHIFT+W for instance...

> 
> May be the twist is ontological, Pharo (and Squeak) taking too much 
> responsibilities and not delegating enough to the host environment: GUI, 
> Freetype, Canvas. The energy required is then out of reach or the needed 
> coherence in teams works too complex. Don't know, just blind guesses, I will 
> now shut up.

I don’t think you have to shut up :)  
Dr Geo is a quite complex software the used a lot morphic I think, so it is 
also a perfect candidate to see how switching to Bloc/Brick is 
possible/interesting :)
I just have the impression that P7 would be more appropriate than P6 for 
upgrading it.

Again, only my 2 cents,

Cédrick


> 
> 
> Le 10/11/2017 à 12:23, Cédrick Béler a écrit :
>> But I have the opposite impression (of course I don’t have to maintain a big 
>> project like yours - I wouldn’t say you’re the hobby user:)  ). But I really 
>> find P6 more consistent than what I used to try in the past (last squeaks up 
>> to 3.9 and firsts pharo).
> 
> -- 
> Dr. Geo
> http://drgeo.eu
> 
> 
> 




[Pharo-users] Network data exchange - Basys and Seamless usage questioning

2017-11-12 Thread Cédrick Béler
Hi all and Denis,

I’ve played a bit with Basys and Seamless. Basys is the low level P2P 
connection framework used by Seamless.
First, thanks for such works. Heavily documented and tested. That’s super cool.

My objective is to have several images running (one representing one app 
belonging to one or more singular entity realm).

Lets say image A1, A2, A3 belongs to Alice. And image B1, B2, … to Bob. 

They exchange messages conveying information. So the aim of the network layer 
is for me to keep messages synchronized betweens A(s) and B(s). I have inbox 
and outbox for that. This is actually quite close to the basys abstractions on 
LocalPeer and RemotePeer (active and passive).

So I played a bit with basys and can declare a network between A1 and B1 for 
instance. I wonder if I need as much network as possible connection (A1B1 A1B2 
… but also A1A2, A1A3, A2A3, …). Not sure how to declare network with more than 
2 nodes…
I can send string message, and eventually binary. I think I may implemented 
proper message send.

Then, there is seamless that is based on basys and that is far more complete. 
Several transport and message send possibilities, distributed object with proxy 
remote delegation, etc. 
I could use seamless but I find it goes too far for my purpose (it can actually 
execute code in the remote image - I don’t want that, at least by default).

At first I don't want to execute code on the peer, only send message to it and 
received message form it (some of this message could be code invocation but 
actually more in a business process manner, meaning I activate an activity, but 
code run locally).

This being said, do you think 
1) it’s better to use Basys and subclass BasysNetwork (I used BasisNetworkStub) 
? I just send message serialization ?
2) or may I use Seamless straight with restrictions (I wonder if limiting the 
classes that can be executed would suffice - proxies should only be on the peer 
inbox and outbox I think) ?
3) or maybe I should do a lighter version of seamless ? If so where should I 
look at/change ?

TIA,

Cédrick 

 


[Pharo-users] Anybody in this group in Bangalore or India

2017-11-12 Thread Sanjay Minni
Hi,

Is there anybody in this group located in Bangalore,

You could connect with me at sanjay.minni_at_gmail.com if you would like to
join in an interesting project

regards
Sanjay 



-
---
Regards, Sanjay
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Anybody in this group in Bangalore or India

2017-11-12 Thread Stephane Ducasse
Hi sanjay

tell us more about this interesting project.
BTW I would love to have a success story from india and I know that
some people developed nice frameworks there but I forgot the contact.

Stef

On Sun, Nov 12, 2017 at 11:12 AM, Sanjay Minni  wrote:
> Hi,
>
> Is there anybody in this group located in Bangalore,
>
> You could connect with me at sanjay.minni_at_gmail.com if you would like to
> join in an interesting project
>
> regards
> Sanjay
>
>
>
> -
> ---
> Regards, Sanjay
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>



Re: [Pharo-users] I18n in pharo

2017-11-12 Thread Hilaire

Likely your extracted list from the items I mentionned is contiguous :)

Looks like a big sandwich, though.

Will Athne be throwm away? With Polymorph and Morph?



Le 11/11/2017 à 21:56, Aliaksei Syrel a écrit :
Could you, please, explain in a bit more detail why do you think that 
Sparta, Bloc, Brick and GT are overlapping layers?


In attachment you can find a layered architecture diagram that 
explains how those technologies are stacked _from our_ point of view :)

Inline images 1


--
Dr. Geo
http://drgeo.eu





Re: [Pharo-users] I18n in pharo

2017-11-12 Thread Hilaire
I guess you used the latest source code version, which was reto-porting 
to P3.


The prior one should get you a correct layout.


Le 12/11/2017 à 00:13, Pavel Krivanek a écrit :
To run DrGeo on Pharo 7 is not hard (see the screenshot) - of course 
it has some issues but they can be definitely solved. It would be pity 
to throw it away - at least you can benefit from 64-bit and faster VM.


--
Dr. Geo
http://drgeo.eu





Re: [Pharo-users] I18n in pharo

2017-11-12 Thread Stephane Ducasse
Excellent Pavel. This is great.
So I do not get it. What is then not working?

Stef

On Sun, Nov 12, 2017 at 12:13 AM, Pavel Krivanek
 wrote:
>
>
> 2017-11-10 11:52 GMT+01:00 Hilaire :
>>
>> A cleaner Pharo will help there.
>>
>> To be frank, I found later Pharo releases not inspiring. Bigger, bigger
>> and bigger with added code, protocol changes, and bugs at will. It is
>> becoming too complicated for a hobby use of it.
>>
>> I decided I will not finish porting DrGeo to P6 or P7, and it will likely
>> die with P3.
>
>
> To run DrGeo on Pharo 7 is not hard (see the screenshot) - of course it has
> some issues but they can be definitely solved. It would be pity to throw it
> away - at least you can benefit from 64-bit and faster VM.
>
> -- Pavel
>
>>
>> Pharo should have been clean up to the bones before adding. It was the
>> initial moto, no?
>>
>>
>> Le 10/11/2017 à 11:14, Marcus Denker a écrit :
>>>
>>> It would be nice if someone who uses it would take the lead
>>> so we can improve the default that is shipped with Pharo.
>>
>>
>> --
>> Dr. Geo
>> http://drgeo.eu
>>
>>
>>
>



Re: [Pharo-users] I18n in pharo

2017-11-12 Thread Stephane Ducasse
> Looks like a big sandwich, though.
>
> Will Athne be throwm away? With Polymorph and Morph?

Yes. Morph and Polymorph as well as Athens but Sparta offers a similar
API. So conversion should be easy.
And Bloc opens a lot of possibilities. Bloc is the result of around 4
years of effort understanding the domain
and comparing solutions.

Stef



Re: [Pharo-users] I18n in pharo

2017-11-12 Thread Stephane Ducasse
Hilaire

Bloc, Brick are not in Pharo yet. So either you want to build on top
of Bloc and you use Bloc or not.
Easy.
Right now in Pharo we have
 - plain Morphic (with Polymorph but this is the same)
 - Spec to build user interface independent of the underlying layer
(Morphic for now)
 - Glamour to build browser/navigation

Now if you need vector graphics: you use Athens in Pharo.
In the future we will have Sparta which is better adapted for Bloc
(local coordinates over global coordinates) but this is the same kind
of API.

So this is not complex.
The decision tree is

Using plain Pharo or not => Morphic or Bloc


Stef


On Sat, Nov 11, 2017 at 9:29 PM, Hilaire  wrote:
> P6 is definitely a better IDE compare to previous version, and for coming
> Calypso looks fantastic, but P6 is a worst vehicle for a desktop
> application. There is much more code included and you are on your on to
> shrink/clean it to deploy your desktop application to make it looks and
> behave user friendly. May be for a specialized audience it could be just
> fine to deploy as is.
>
> About my perception on Pharo, from a distant POV, I see
> parallel/overlapping/contiguous layers like Morphic, Athens, Sparta, Bloc,
> Brick, Spec, GT, Polymorph all this looks confusing for me and I really
> don't know or understand where to put my eggs.
>
> When I took a look at Pharo keyboard shortcut, it seems to be -- without
> been sure 100% -- there are two different implementations. One from GT and
> another one, probably a legacy one. How can it happen? Then you wonder about
> other part of the system. It makes fells like changes/implementations are
> not coherent, and you don't really fell the environment as coherent or
> trustful.
>
> May be the twist is ontological, Pharo (and Squeak) taking too much
> responsibilities and not delegating enough to the host environment: GUI,
> Freetype, Canvas. The energy required is then out of reach or the needed
> coherence in teams works too complex. Don't know, just blind guesses, I will
> now shut up.
>
>
> Le 10/11/2017 à 12:23, Cédrick Béler a écrit :
>>
>> But I have the opposite impression (of course I don’t have to maintain a
>> big project like yours - I wouldn’t say you’re the hobby user:)  ). But I
>> really find P6 more consistent than what I used to try in the past (last
>> squeaks up to 3.9 and firsts pharo).
>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>



Re: [Pharo-users] About implementing a "Mini Pillar" in-image renderer for Pharo ...

2017-11-12 Thread Stephane Ducasse
Sean why don't you try because this is the moment to push bloc people
to produce simpler better solution.
I should do it too. I know.

Stef

On Sun, Nov 12, 2017 at 3:58 AM, Sean P. DeNigris  wrote:
> Tudor Girba-2 wrote
>> That would be another renderer, but it is not difficult to build. That is
>> something we’ll do soon.
>
> It would be nice to be able to toggle codes on/off like WS Word
>
>
>
> -
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>



Re: [Pharo-users] Anybody in this group in Bangalore or India

2017-11-12 Thread Sanjay Minni
Hi Stef,

This is a business application on Fixed Assets Management and I want to use
Pharo+Seaside stack to make the current desktop application in the link
below into an updated browser based application. 
  http://www.minisoftindia.com/assetage/index.html 

This will be multi-tenanted hosted application in an internet server and
there are features planned for users / tenants inter-connectivity so as to
increase colloboration between users.

Its planned as a subscription based model and if possible there will also be
a desktop (local hosted) version as well.

2 Pharo group members took up the assignment / helped me and went along some
way to design / build the partially done application but both are currently
out of time hence I am looking at some associates.
(they can pitch in here)

Budget is a constraint as this is self funded hence I am looking at someone
in India (preferably Bangalore) since hourly rates in the west works out to
5X rates in India.

I though I will also get pharo skills and join hands but I guess learning is
not that easy now 

The various applications at htto://www.minisoftindia.com/products were quite
successful sometime back with a fair user base but since then were shelved.
I plan to re-introduce them in a new Avatar

i will be happy to answer any questions

regards
Sanjay


Stephane Ducasse-3 wrote
> Hi sanjay
> 
> tell us more about this interesting project.
> BTW I would love to have a success story from india and I know that
> some people developed nice frameworks there but I forgot the contact.
> 
> Stef
> 
> On Sun, Nov 12, 2017 at 11:12 AM, Sanjay Minni <

> sm@

> > wrote:
>> Hi,
>>
>> Is there anybody in this group located in Bangalore,
>>
>> You could connect with me at sanjay.minni_at_gmail.com if you would like
>> to
>> join in an interesting project
>>
>> regards
>> Sanjay
>>
>>
>>
>> -
>> ---
>> Regards, Sanjay
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>





-
---
Regards, Sanjay
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] I18n in pharo

2017-11-12 Thread Pavel Krivanek
2017-11-12 13:02 GMT+01:00 Stephane Ducasse :

> Excellent Pavel. This is great.
> So I do not get it. What is then not working?
>

The layout of the menu is wrong and everything needs to be proven with the
newer versions of the dependent packages.

-- Pavel


>
> Stef
>
> On Sun, Nov 12, 2017 at 12:13 AM, Pavel Krivanek
>  wrote:
> >
> >
> > 2017-11-10 11:52 GMT+01:00 Hilaire :
> >>
> >> A cleaner Pharo will help there.
> >>
> >> To be frank, I found later Pharo releases not inspiring. Bigger, bigger
> >> and bigger with added code, protocol changes, and bugs at will. It is
> >> becoming too complicated for a hobby use of it.
> >>
> >> I decided I will not finish porting DrGeo to P6 or P7, and it will
> likely
> >> die with P3.
> >
> >
> > To run DrGeo on Pharo 7 is not hard (see the screenshot) - of course it
> has
> > some issues but they can be definitely solved. It would be pity to throw
> it
> > away - at least you can benefit from 64-bit and faster VM.
> >
> > -- Pavel
> >
> >>
> >> Pharo should have been clean up to the bones before adding. It was the
> >> initial moto, no?
> >>
> >>
> >> Le 10/11/2017 à 11:14, Marcus Denker a écrit :
> >>>
> >>> It would be nice if someone who uses it would take the lead
> >>> so we can improve the default that is shipped with Pharo.
> >>
> >>
> >> --
> >> Dr. Geo
> >> http://drgeo.eu
> >>
> >>
> >>
> >
>
>


Re: [Pharo-users] LGit_GIT_ERROR: Invalid version 0 on git_remote_callbacks on latest 64bit 6.1 image?

2017-11-12 Thread Alistair Grant
On 8 November 2017 at 16:06, Paulo R. Dellani  wrote:
> You need to configure Iceberg with the path of the SSH key
> files you are using to authenticate with gitlab as well as the
> passphrase to unlock the private key, I only got it working
> after that. Have your done that?
>
> There is more information in the README/FAQ here:
>
> https://github.com/pharo-vcs/iceberg

Thanks for pointing this out.  I had enough other fires that I'd given
up on 64 bit, however it appears to be working now.

I'll restart my efforts to move to 64 bit.

Cheers,
Alistair



> Cheers,
>
> Paulo
>
>
> On 11/08/2017 12:26 AM, Tim Mackinnon wrote:
>
> Thanks for confirming this Esteban - perhaps I am doing something wrong - I
> tried using the steps I was using successfully several months ago namely:
>
> curl get.pharo.org/64/ | bash
> ./pharo-ui Pharo.image
>
> Which got me the latest image - which sys info says is (not sure why it
> still says 6.0 tho?):
>
> Pharo 6.0
> Latest update: #60520
>
> I then open Iceberg, and click on Clone Repository
>
> In the dialog I enter:
>
> g...@gitlab.com:macta/PharoLambda.git
> And put src in the code subdirectory field, and then click on Create.
>
> I get the LGit_GIT_ERROR ???
>
> Hmm, out of curiosity, I just tried leaving the src field empty and it then
> seemed to put an entry into Iceberg but then a Fetch gave me the same error?
>
> Tim
>
> On 7 Nov 2017, at 11:46, Esteban Lorenzano  wrote:
>
> iceberg should work on 64bits, both on Pharo7 and Pharo6.
> I’ve been using it exclusively on 64bits since some months now and I know
> I’m not the only one… can you send a way to reproduce your problem so I can
> take a look?
>
> Esteban
>
>
> On 6 Nov 2017, at 12:11, Tim Mackinnon  wrote:
>
> Hi - does Iceberg work on a 64bit image yet? I’ve not tried in a while, and
> was surprised when I went to get a new image via the command line that I am
> getting the error: LGit_GIT_ERROR: Invalid version 0 on git_remote_callbacks
>
> I can see a post by Alistair in Jun asking about this, and it seems 64bit
> hadn’t been updated to work back then - but is this still true in Nov?
>
> We seem very much in turmoil at the moment - and its unclear what should
> work and not work. Is there a stable platform? If 64 bit is only working for
> 7.x - should we remove it from 6.x so that people don’t inadvertently try to
> use it?
>
> Tim



Re: [Pharo-users] LGit_GIT_ERROR: Invalid version 0 on git_remote_callbacks on latest 64bit 6.1 image?

2017-11-12 Thread Esteban Lorenzano


> On 12 Nov 2017, at 09:44, Alistair Grant  wrote:
> 
> On 8 November 2017 at 16:06, Paulo R. Dellani  wrote:
>> You need to configure Iceberg with the path of the SSH key
>> files you are using to authenticate with gitlab as well as the
>> passphrase to unlock the private key, I only got it working
>> after that. Have your done that?
>> 
>> There is more information in the README/FAQ here:
>> 
>> https://github.com/pharo-vcs/iceberg
> 
> Thanks for pointing this out.  I had enough other fires that I'd given
> up on 64 bit, however it appears to be working now.
> 
> I'll restart my efforts to move to 64 bit.

I found a but on 64bit 6.1 version.
I will correct that, but in the mean time this is the workaround: 

LGitExternalStructure allSubclassesDo: #compileFields.

Esteban

> 
> Cheers,
> Alistair
> 
> 
> 
>> Cheers,
>> 
>> Paulo
>> 
>> 
>> On 11/08/2017 12:26 AM, Tim Mackinnon wrote:
>> 
>> Thanks for confirming this Esteban - perhaps I am doing something wrong - I
>> tried using the steps I was using successfully several months ago namely:
>> 
>> curl get.pharo.org/64/ | bash
>> ./pharo-ui Pharo.image
>> 
>> Which got me the latest image - which sys info says is (not sure why it
>> still says 6.0 tho?):
>> 
>> Pharo 6.0
>> Latest update: #60520
>> 
>> I then open Iceberg, and click on Clone Repository
>> 
>> In the dialog I enter:
>> 
>> g...@gitlab.com:macta/PharoLambda.git
>> And put src in the code subdirectory field, and then click on Create.
>> 
>> I get the LGit_GIT_ERROR ???
>> 
>> Hmm, out of curiosity, I just tried leaving the src field empty and it then
>> seemed to put an entry into Iceberg but then a Fetch gave me the same error?
>> 
>> Tim
>> 
>> On 7 Nov 2017, at 11:46, Esteban Lorenzano  wrote:
>> 
>> iceberg should work on 64bits, both on Pharo7 and Pharo6.
>> I’ve been using it exclusively on 64bits since some months now and I know
>> I’m not the only one… can you send a way to reproduce your problem so I can
>> take a look?
>> 
>> Esteban
>> 
>> 
>> On 6 Nov 2017, at 12:11, Tim Mackinnon  wrote:
>> 
>> Hi - does Iceberg work on a 64bit image yet? I’ve not tried in a while, and
>> was surprised when I went to get a new image via the command line that I am
>> getting the error: LGit_GIT_ERROR: Invalid version 0 on git_remote_callbacks
>> 
>> I can see a post by Alistair in Jun asking about this, and it seems 64bit
>> hadn’t been updated to work back then - but is this still true in Nov?
>> 
>> We seem very much in turmoil at the moment - and its unclear what should
>> work and not work. Is there a stable platform? If 64 bit is only working for
>> 7.x - should we remove it from 6.x so that people don’t inadvertently try to
>> use it?
>> 
>> Tim
> 




[Pharo-users] RBRuleIfNotNilDo usage

2017-11-12 Thread Alistair Grant
Hi Everyone,

I'm loading some code in to Pharo 7 that tries to use #ifNotNilDo:.

There's already a transformation to re-write it to the correct
#ifNotNil: - RBRuleIfNotNilDo.

How can I apply the transformation to all existing methods in the
image that call #ifNotNilDo:?

Thanks,
Alistair



Re: [Pharo-users] RBRuleIfNotNilDo usage

2017-11-12 Thread Stephane Ducasse
Hi alistair


If you run your program the code will be automatically transformed (I
cannot check the deprecation definitino right now)

Else have a look at tests of the ParseTreeRewriter.

Stef

On Sun, Nov 12, 2017 at 2:12 PM, Alistair Grant  wrote:
> Hi Everyone,
>
> I'm loading some code in to Pharo 7 that tries to use #ifNotNilDo:.
>
> There's already a transformation to re-write it to the correct
> #ifNotNil: - RBRuleIfNotNilDo.
>
> How can I apply the transformation to all existing methods in the
> image that call #ifNotNilDo:?
>
> Thanks,
> Alistair
>



Re: [Pharo-users] I18n in pharo

2017-11-12 Thread Stephane Ducasse
Indeed we should make sure that all the Inform:, Alert: can be
translated. Now I'm not convinced that we should use the old
SqueakTranslator.


On Sun, Nov 12, 2017 at 1:17 PM, Pavel Krivanek
 wrote:
>
>
> 2017-11-12 13:02 GMT+01:00 Stephane Ducasse :
>>
>> Excellent Pavel. This is great.
>> So I do not get it. What is then not working?
>
>
> The layout of the menu is wrong and everything needs to be proven with the
> newer versions of the dependent packages.
>
> -- Pavel
>
>>
>>
>> Stef
>>
>> On Sun, Nov 12, 2017 at 12:13 AM, Pavel Krivanek
>>  wrote:
>> >
>> >
>> > 2017-11-10 11:52 GMT+01:00 Hilaire :
>> >>
>> >> A cleaner Pharo will help there.
>> >>
>> >> To be frank, I found later Pharo releases not inspiring. Bigger, bigger
>> >> and bigger with added code, protocol changes, and bugs at will. It is
>> >> becoming too complicated for a hobby use of it.
>> >>
>> >> I decided I will not finish porting DrGeo to P6 or P7, and it will
>> >> likely
>> >> die with P3.
>> >
>> >
>> > To run DrGeo on Pharo 7 is not hard (see the screenshot) - of course it
>> > has
>> > some issues but they can be definitely solved. It would be pity to throw
>> > it
>> > away - at least you can benefit from 64-bit and faster VM.
>> >
>> > -- Pavel
>> >
>> >>
>> >> Pharo should have been clean up to the bones before adding. It was the
>> >> initial moto, no?
>> >>
>> >>
>> >> Le 10/11/2017 à 11:14, Marcus Denker a écrit :
>> >>>
>> >>> It would be nice if someone who uses it would take the lead
>> >>> so we can improve the default that is shipped with Pharo.
>> >>
>> >>
>> >> --
>> >> Dr. Geo
>> >> http://drgeo.eu
>> >>
>> >>
>> >>
>> >
>>
>



Re: [Pharo-users] Anybody in this group in Bangalore or India

2017-11-12 Thread Stephane Ducasse
Thanks for the information. Let us know how to help you.
Do you want me to post this on the Pharo weekly blog?

Stef


On Sun, Nov 12, 2017 at 1:14 PM, Sanjay Minni  wrote:
> Hi Stef,
>
> This is a business application on Fixed Assets Management and I want to use
> Pharo+Seaside stack to make the current desktop application in the link
> below into an updated browser based application.
>   http://www.minisoftindia.com/assetage/index.html
>
> This will be multi-tenanted hosted application in an internet server and
> there are features planned for users / tenants inter-connectivity so as to
> increase colloboration between users.
>
> Its planned as a subscription based model and if possible there will also be
> a desktop (local hosted) version as well.
>
> 2 Pharo group members took up the assignment / helped me and went along some
> way to design / build the partially done application but both are currently
> out of time hence I am looking at some associates.
> (they can pitch in here)
>
> Budget is a constraint as this is self funded hence I am looking at someone
> in India (preferably Bangalore) since hourly rates in the west works out to
> 5X rates in India.
>
> I though I will also get pharo skills and join hands but I guess learning is
> not that easy now
>
> The various applications at htto://www.minisoftindia.com/products were quite
> successful sometime back with a fair user base but since then were shelved.
> I plan to re-introduce them in a new Avatar
>
> i will be happy to answer any questions
>
> regards
> Sanjay
>
>
> Stephane Ducasse-3 wrote
>> Hi sanjay
>>
>> tell us more about this interesting project.
>> BTW I would love to have a success story from india and I know that
>> some people developed nice frameworks there but I forgot the contact.
>>
>> Stef
>>
>> On Sun, Nov 12, 2017 at 11:12 AM, Sanjay Minni <
>
>> sm@
>
>> > wrote:
>>> Hi,
>>>
>>> Is there anybody in this group located in Bangalore,
>>>
>>> You could connect with me at sanjay.minni_at_gmail.com if you would like
>>> to
>>> join in an interesting project
>>>
>>> regards
>>> Sanjay
>>>
>>>
>>>
>>> -
>>> ---
>>> Regards, Sanjay
>>> --
>>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>>
>
>
>
>
>
> -
> ---
> Regards, Sanjay
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>



Re: [Pharo-users] Soup bug(fix)

2017-11-12 Thread Stephane Ducasse
Hi alistair

this is cool.
Do you have one little example so that we can see how we can use it?

Stef


On Sat, Nov 11, 2017 at 4:38 PM, Alistair Grant  wrote:
> On 9 November 2017 at 00:00, Kjell Godo  wrote:
>> i like to collect some newspaper comics from an online newspaper
>>  but it takes really long to do it by hand by hand
>> i tried Soup but i didn’t get anywhere
>>  the pictures were hidden behind a script or something
>> is there anything to do about that?
>
> Most of the web pages I want to scrape use javascript to construct the
> DOM, which makes Soup. XMLHTMLParser, etc. useless.
>
> I've extended Torsten's Pharo-Chrome library and use that to navigate
> the DOM in a way similar to Soup:
>
> https://github.com/akgrant43/Pharo-Chrome
>
> This gets around the issue with javascript since it waits for the
> browser to load the page, run the javascript and construct the DOM.
>
> HTH,
> Alistair
>
>
>
>> i don’t want to collect them all
>> i have the XPath .pdf but i haven’t read it yet
>>
>> these browsers seem to gobble up memory
>>  and while open they just keep getting bigger till the OS session crash
>>  might there be a browser that is more minimal?
>>
>> Vivaldi seems better at not bloating up RAM
>



Re: [Pharo-users] RBRuleIfNotNilDo usage

2017-11-12 Thread Alistair Grant
Hi Stef,

On 12 November 2017 at 14:34, Stephane Ducasse  wrote:
> Hi alistair
>
>
> If you run your program the code will be automatically transformed (I
> cannot check the deprecation definitino right now)
>
> Else have a look at tests of the ParseTreeRewriter.
>
> Stef
>
> On Sun, Nov 12, 2017 at 2:12 PM, Alistair Grant  wrote:
>> Hi Everyone,
>>
>> I'm loading some code in to Pharo 7 that tries to use #ifNotNilDo:.
>>
>> There's already a transformation to re-write it to the correct
>> #ifNotNil: - RBRuleIfNotNilDo.
>>
>> How can I apply the transformation to all existing methods in the
>> image that call #ifNotNilDo:?
>>
>> Thanks,
>> Alistair

Thanks!

#ifNotNilDo: was deprecated in Pharo 6, and the method was removed
completely in Pharo 7.

The easiest thing to do is to port #ifNotNilDo: forward to Pharo 7 so
that the methods are automatically re-written.

And then get the offending libraries to be updated.  But that's another story.

Thanks again,
Alistair



Re: [Pharo-users] Soup bug(fix)

2017-11-12 Thread Stephane Ducasse
exampleNavigation
| chrome page logger |
logger := InMemoryLogger new.
logger start.
chrome := GoogleChrome new
debugOn;
debugSession;
open;
yourself.
page := chrome tabPages first.
page enablePage.
page enableDOM.
page navigateTo: 'http://pharo.org'.
page getDocument.
page getMissingChildren.
page updateTitle.
logger stop.
^{ chrome. page. logger. }

but in fact I realised that I would like to a simple doc :)


On Sun, Nov 12, 2017 at 2:44 PM, Stephane Ducasse
 wrote:
> Hi alistair
>
> this is cool.
> Do you have one little example so that we can see how we can use it?
>
> Stef
>
>
> On Sat, Nov 11, 2017 at 4:38 PM, Alistair Grant  wrote:
>> On 9 November 2017 at 00:00, Kjell Godo  wrote:
>>> i like to collect some newspaper comics from an online newspaper
>>>  but it takes really long to do it by hand by hand
>>> i tried Soup but i didn’t get anywhere
>>>  the pictures were hidden behind a script or something
>>> is there anything to do about that?
>>
>> Most of the web pages I want to scrape use javascript to construct the
>> DOM, which makes Soup. XMLHTMLParser, etc. useless.
>>
>> I've extended Torsten's Pharo-Chrome library and use that to navigate
>> the DOM in a way similar to Soup:
>>
>> https://github.com/akgrant43/Pharo-Chrome
>>
>> This gets around the issue with javascript since it waits for the
>> browser to load the page, run the javascript and construct the DOM.
>>
>> HTH,
>> Alistair
>>
>>
>>
>>> i don’t want to collect them all
>>> i have the XPath .pdf but i haven’t read it yet
>>>
>>> these browsers seem to gobble up memory
>>>  and while open they just keep getting bigger till the OS session crash
>>>  might there be a browser that is more minimal?
>>>
>>> Vivaldi seems better at not bloating up RAM
>>



[Pharo-users] Pharo-Chrome (was: Soup bug(fix))

2017-11-12 Thread Alistair Grant
Hi Stef,

On 12 November 2017 at 14:47, Stephane Ducasse  wrote:
> exampleNavigation
> | chrome page logger |
> logger := InMemoryLogger new.
> logger start.
> chrome := GoogleChrome new
> debugOn;
> debugSession;
> open;
> yourself.
> page := chrome tabPages first.
> page enablePage.
> page enableDOM.
> page navigateTo: 'http://pharo.org'.
> page getDocument.
> page getMissingChildren.
> page updateTitle.
> logger stop.
> ^{ chrome. page. logger. }
>
> but in fact I realised that I would like to a simple doc :)
>
>
> On Sun, Nov 12, 2017 at 2:44 PM, Stephane Ducasse
>  wrote:
>> Hi alistair
>>
>> this is cool.
>> Do you have one little example so that we can see how we can use it?
>>
>> Stef

Fair enough :-)

I'll try and extend the readme to include some basic documentation.

Cheers,
Alistair



>> On Sat, Nov 11, 2017 at 4:38 PM, Alistair Grant  
>> wrote:
>>> On 9 November 2017 at 00:00, Kjell Godo  wrote:
 i like to collect some newspaper comics from an online newspaper
  but it takes really long to do it by hand by hand
 i tried Soup but i didn’t get anywhere
  the pictures were hidden behind a script or something
 is there anything to do about that?
>>>
>>> Most of the web pages I want to scrape use javascript to construct the
>>> DOM, which makes Soup. XMLHTMLParser, etc. useless.
>>>
>>> I've extended Torsten's Pharo-Chrome library and use that to navigate
>>> the DOM in a way similar to Soup:
>>>
>>> https://github.com/akgrant43/Pharo-Chrome
>>>
>>> This gets around the issue with javascript since it waits for the
>>> browser to load the page, run the javascript and construct the DOM.
>>>
>>> HTH,
>>> Alistair
>>>
>>>
>>>
 i don’t want to collect them all
 i have the XPath .pdf but i haven’t read it yet

 these browsers seem to gobble up memory
  and while open they just keep getting bigger till the OS session crash
  might there be a browser that is more minimal?

 Vivaldi seems better at not bloating up RAM
>>>
>



Re: [Pharo-users] Network data exchange - Basys and Seamless usage questioning

2017-11-12 Thread Denis Kudriashov
Hi Cedrick.

2017-11-12 10:47 GMT+01:00 Cédrick Béler :

> Hi all and Denis,
>
> I’ve played a bit with Basys and Seamless. Basys is the low level P2P
> connection framework used by Seamless.
> First, thanks for such works. Heavily documented and tested. That’s super
> cool.
>

Thank's. But I think doc needs more love. I did only one pass on it.


>
> My objective is to have several images running (one representing one app
> belonging to one or more singular entity realm).
>
> Lets say image A1, A2, A3 belongs to Alice. And image B1, B2, … to Bob.
>
> They exchange messages conveying information. So the aim of the network
> layer is for me to keep messages synchronized betweens A(s) and B(s). I
> have inbox and outbox for that. This is actually quite close to the basys
> abstractions on LocalPeer and RemotePeer (active and passive).
>
> So I played a bit with basys and can declare a network between A1 and B1
> for instance.


Can you show example how you work with your objects using this network?


> I wonder if I need as much network as possible connection (A1B1 A1B2 … but
> also A1A2, A1A3, A2A3, …). Not sure how to declare network with more than 2
> nodes…
> I can send string message, and eventually binary. I think I may
> implemented proper message send.


> Then, there is seamless that is based on basys and that is far more
> complete. Several transport and message send possibilities, distributed
> object with proxy remote delegation, etc.
> I could use seamless but I find it goes too far for my purpose (it can
> actually execute code in the remote image - I don’t want that, at least by
> default).
>
> At first I don't want to execute code on the peer, only send message to it
> and received message form it (some of this message could be code invocation
> but actually more in a business process manner, meaning I activate an
> activity, but code run locally).


> This being said, do you think
> 1) it’s better to use Basys and subclass BasysNetwork (I used
> BasisNetworkStub) ? I just send message serialization ?
>

BasisNetworkStub is only created for tests. And I think it misses one
important function: how identify peers. When your image get new connection
it should identify what remote peer is connected by it. So two connections
from same remote image should be identified as single peer instance on your
local image.

I would of course use Seamless for distributed applications because it
allows to implement solution with objects locally and then transparently
split them over network.
But Seamless not implements any kind of message queue. So I would use some
proven solution for it instead of custom implementation. But it can depends
on the task.


> 2) or may I use Seamless straight with restrictions (I wonder if limiting
> the classes that can be executed would suffice - proxies should only be on
> the peer inbox and outbox I think) ?

3) or maybe I should do a lighter version of seamless ? If so where should
> I look at/change ?
>

You can try subclass SeamlessNetwork and override request processing method
with special restrictions on what requests are permitted. Maybe you can
propose such kind of policy to the Seamless itself.


>
> TIA,
>
> Cédrick
>
>
>


Re: [Pharo-users] RBRuleIfNotNilDo usage

2017-11-12 Thread Stephane Ducasse
I wonder if we packaged somewhere the removed deprecated method.
We should do that but since we do it manually I guess that this is ad-hoc.

Stef

On Sun, Nov 12, 2017 at 2:45 PM, Alistair Grant  wrote:
> Hi Stef,
>
> On 12 November 2017 at 14:34, Stephane Ducasse  
> wrote:
>> Hi alistair
>>
>>
>> If you run your program the code will be automatically transformed (I
>> cannot check the deprecation definitino right now)
>>
>> Else have a look at tests of the ParseTreeRewriter.
>>
>> Stef
>>
>> On Sun, Nov 12, 2017 at 2:12 PM, Alistair Grant  
>> wrote:
>>> Hi Everyone,
>>>
>>> I'm loading some code in to Pharo 7 that tries to use #ifNotNilDo:.
>>>
>>> There's already a transformation to re-write it to the correct
>>> #ifNotNil: - RBRuleIfNotNilDo.
>>>
>>> How can I apply the transformation to all existing methods in the
>>> image that call #ifNotNilDo:?
>>>
>>> Thanks,
>>> Alistair
>
> Thanks!
>
> #ifNotNilDo: was deprecated in Pharo 6, and the method was removed
> completely in Pharo 7.
>
> The easiest thing to do is to port #ifNotNilDo: forward to Pharo 7 so
> that the methods are automatically re-written.
>
> And then get the offending libraries to be updated.  But that's another story.
>
> Thanks again,
> Alistair
>



Re: [Pharo-users] Pharo-users Digest, Vol 55, Issue 94

2017-11-12 Thread Stephane Ducasse
Hi vikenti

Can you tell us what you are trying to do?
So that we can help you.

There is no deployement tools in Pharo. First because we can easily
break the one of visualworks
with reflective operations. Second because we are focusing on something else.

Now you can take Pharo and remove some packages.
You can write your own release builder.
What is cool is that you can also automate your release process.

>From Pharo 70 the process is to take a small image and build a new one.
We should work on packaging an App (removing system menu and other).

Stef

On Sat, Nov 11, 2017 at 10:29 PM, Викентий Потапов
 wrote:
>
> I want to get these esug videos, but i've searched through the whole pharo 
> site and i haven't found them ... :(
> I appreciate if you point me where to find help on working with minimal 
> image\deploying with Pharo.
> And i also think this very important information should be available on pharo 
> site at conspicuous place.
>
> What about Dr.Geo - i've downloaded this program to test from official site 
> (http://www.drgeo.eu/download#TOC-PC-Mac-GNU-Linux). I launched DrGeo.bat, as 
> it noted in instruction. It shown me console window and Pharo command line 
> options. That's all. It didn't start. I think, the reason is - also cyrillic 
> paths, but ... who knows?
>
> And also i mean some simple and understandable deployment tool (as in Cincom 
> VW exists) but not manual-written bash scripts.  This tool asks me what 
> class\accessor send open message, asks what to strip and how to pack my 
> image. Few simple steps and i have perfectly cleaned minimal image with all 
> image started methods tuned to load necessary class. It's really cool stuff. 
> It's a pity, my low-level SmallTalk knowledge (VW + Pharo) is not enough to 
> port this tool or create the new one.
>
> Please, understand me right, i don't criticize pharo, but i'm trying to 
> understand what to do and how to do with less efforts for me. And these are 
> the questions every developer asks.
>
>> On 11-11-17 18:58,  ??? wrote:
>> > Another stumbling block is application deployment.
>>
>> You want to start from a minimal image and load everything you need with
>> a Metacello baseline/configuration. And you want to change some settings
>> to run without sources. You will run into parts that are not modularized
>> enough yet and need their baselines to be split up further than they are
>> now.
>>
>> The minimal image is rather minimal. See the esug videos
>>
>> Stephan
>
>



Re: [Pharo-users] Pharo-users Digest, Vol 55, Issue 94

2017-11-12 Thread Stephane Ducasse
Joachim

We are focused on deployment but not the same way.
We are the first system that bootstrap a core and can load
dependencies on this core.
We have a dependency analyser that is really advanced since it can
check that you have message that are not in extension
of packages that you use.
In January I hope that we will start packaging Applications (versus
packaging code), so that people can deploy
desktop applications more easily.

Now if people like vikenti wants our support. They should learn how to
engage a discussion with us and not
just complain :)

Stef


On Sun, Nov 12, 2017 at 6:02 AM, jtuc...@objektfabrik.de
 wrote:
> Am 11.11.17 um 22:29 schrieb Викентий Потапов:
>
> Vikenti,
>>
>> And also i mean some simple and understandable deployment tool (as in
>> Cincom VW exists) but not manual-written bash scripts.  This tool asks me
>> what class\accessor send open message, asks what to strip and how to pack my
>> image. Few simple steps and i have perfectly cleaned minimal image with all
>> image started methods tuned to load necessary class. It's really cool stuff.
>> It's a pity, my low-level SmallTalk knowledge (VW + Pharo) is not enough to
>> port this tool or create the new one.
>
> just out of curiosity and following my first reflex: if VisualWorks offers
> most of what you need and is essentially what you want - why do you want to
> switch to Pharo?
>
> This is not intended to be offensive or provoking. I just wonder if an open
> source project is the right thing for you. Pharo is emerging and has quite
> some pace doing so. This is both good and bad - at many levels. Commercial
> offerings may be a lot slower and thus less of a "moving target" (not sure I
> am citing you, but I know I read this in one of the threads about the
> current state of Pharo just these days), but they are pretty much focussed
> on issues like deployment and stable APIs.
>
>
> Joachim
>
>
>



Re: [Pharo-users] Pharo-Chrome (was: Soup bug(fix))

2017-11-12 Thread Stephane Ducasse
Tx and one day we can turn it into another little booklet :)

Stef

On Sun, Nov 12, 2017 at 3:04 PM, Alistair Grant  wrote:
> Hi Stef,
>
> On 12 November 2017 at 14:47, Stephane Ducasse  
> wrote:
>> exampleNavigation
>> | chrome page logger |
>> logger := InMemoryLogger new.
>> logger start.
>> chrome := GoogleChrome new
>> debugOn;
>> debugSession;
>> open;
>> yourself.
>> page := chrome tabPages first.
>> page enablePage.
>> page enableDOM.
>> page navigateTo: 'http://pharo.org'.
>> page getDocument.
>> page getMissingChildren.
>> page updateTitle.
>> logger stop.
>> ^{ chrome. page. logger. }
>>
>> but in fact I realised that I would like to a simple doc :)
>>
>>
>> On Sun, Nov 12, 2017 at 2:44 PM, Stephane Ducasse
>>  wrote:
>>> Hi alistair
>>>
>>> this is cool.
>>> Do you have one little example so that we can see how we can use it?
>>>
>>> Stef
>
> Fair enough :-)
>
> I'll try and extend the readme to include some basic documentation.
>
> Cheers,
> Alistair
>
>
>
>>> On Sat, Nov 11, 2017 at 4:38 PM, Alistair Grant  
>>> wrote:
 On 9 November 2017 at 00:00, Kjell Godo  wrote:
> i like to collect some newspaper comics from an online newspaper
>  but it takes really long to do it by hand by hand
> i tried Soup but i didn’t get anywhere
>  the pictures were hidden behind a script or something
> is there anything to do about that?

 Most of the web pages I want to scrape use javascript to construct the
 DOM, which makes Soup. XMLHTMLParser, etc. useless.

 I've extended Torsten's Pharo-Chrome library and use that to navigate
 the DOM in a way similar to Soup:

 https://github.com/akgrant43/Pharo-Chrome

 This gets around the issue with javascript since it waits for the
 browser to load the page, run the javascript and construct the DOM.

 HTH,
 Alistair



> i don’t want to collect them all
> i have the XPath .pdf but i haven’t read it yet
>
> these browsers seem to gobble up memory
>  and while open they just keep getting bigger till the OS session 
> crash
>  might there be a browser that is more minimal?
>
> Vivaldi seems better at not bloating up RAM

>>
>



Re: [Pharo-users] deployment of pharo applications

2017-11-12 Thread Stephane Ducasse
On Sat, Nov 11, 2017 at 6:58 PM, Викентий Потапов
 wrote:
> Well, i've got very extensive feedback for i18n of applications, there are 
> few solutions i can use, despite there is no united way embedded into pharo 
> view on application design. That's ok, i can do something for my one taste (i 
> prefer it to be a part of SPEC framework or something like this).
>
> Another stumbling block is application deployment. I've heard about some 
> "Launcher" but ... what is it? what it does? where to get it?

the launcher is an application to manage your images and development.
You can find it at
- http://files.pharo.org/platform/launcher/
(do not use blessed but the latest version of your platform)
we should promote this tool better



> In Cincom VW deployment means:
> - get rid of all we don't use in image.
> - test image for successful run
> - delete all sources (hide it from disassembler)

Until recently in Pharo it was not possible to remove the compiler.
Now we can create an image without the compiler.
We have to continue

> - lock\hide all excessive menus, tools or any backdoor to launch Smalltalk 
> IDE or execute smaltalk code presented as text.

- You should remove and provide something as s replacement for the
UnhandledException defaultAction else you get the debugger.
Now you application should use exception.

For the menu, check the pragma 

> - pack image and VM together with specified name of main executable.

For this you should use bash or bat files.
>
> What can i do with Pharo? Does it have unified method to deploy pharo 
> applications? I didn't find that method, and i ought to do some messy stuff 
> "by hand".
>
> It will be very useful to do some steps in that direction. I want Pharo to be 
> comfortable tool for application development. Like Delphi or C++ (where i 
> came from but don't want to get get back to, after Smalltalk any other 
> platform seems imperfect for me).


We want the same but we are not yet there.
I want APPLICATIONS not just code loaded into Pharo.

>
> Faithfully yours, Vikenti Potapov.
>
>



Re: [Pharo-users] deployment of pharo applications

2017-11-12 Thread Sean P. DeNigris
Stephane Ducasse-3 wrote
>> Another stumbling block is application deployment. I've heard about some
>> "Launcher" but ... what is it? what it does? where to get it?
> the launcher is an application to manage your images and development.

It may have been clear, but Laucher is to manage multiple development
images, not for deployment (although it uses some tricks that may be useful
for deployment like making the tool fullscreen)



-
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo-users Digest, Vol 55, Issue 94

2017-11-12 Thread jtuc...@objektfabrik.de

Stef,

Am 12.11.17 um 16:05 schrieb Stephane Ducasse:

Joachim

We are focused on deployment but not the same way.
We are the first system that bootstrap a core and can load
dependencies on this core.
I may have chosen the wrong words, sorry for that. The OPs comments 
sounded so much like "why don't you have it like VW does" that I 
couldn't resist ;-)



We have a dependency analyser that is really advanced since it can
check that you have message that are not in extension
of packages that you use.
In January I hope that we will start packaging Applications (versus
packaging code), so that people can deploy
desktop applications more easily.
Sounds like this is another area in which you guys are moving much 
faster than it looks from the outside.


I don't have enough time to look into Pharo as much as I would and just 
by reading the mailing lists and just dipping my toes into Pharo from 
time to time, I sometimes get the impression Pharo is moving so fast I 
just can't follow. I still am not sure I understand that Git/Iceberg 
stuff, and that is already old hats for you guys...




Now if people like vikenti wants our support. They should learn how to
engage a discussion with us and not
just complain :)

That's probably what I wanted to say, but I am a kind person ;-))


Joachim





Re: [Pharo-users] deployment of pharo applications

2017-11-12 Thread Stephane Ducasse
Yes

On Sun, Nov 12, 2017 at 4:39 PM, Sean P. DeNigris  wrote:
> Stephane Ducasse-3 wrote
>>> Another stumbling block is application deployment. I've heard about some
>>> "Launcher" but ... what is it? what it does? where to get it?
>> the launcher is an application to manage your images and development.
>
> It may have been clear, but Laucher is to manage multiple development
> images, not for deployment (although it uses some tricks that may be useful
> for deployment like making the tool fullscreen)
>
>
>
> -
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>



Re: [Pharo-users] Pharo-users Digest, Vol 55, Issue 94

2017-11-12 Thread Stephane Ducasse
>
> I may have chosen the wrong words, sorry for that. The OPs comments sounded
> so much like "why don't you have it like VW does" that I couldn't resist ;-)

Don't worry :)


>> We have a dependency analyser that is really advanced since it can
>> check that you have message that are not in extension
>> of packages that you use.
>> In January I hope that we will start packaging Applications (versus
>> packaging code), so that people can deploy
>> desktop applications more easily.
>
> Sounds like this is another area in which you guys are moving much faster
> than it looks from the outside.

Yes because what people see is just open a window.
But inside we are trying our best to REALLY improve and it will pays
off because having a powerful infrastructure
will let us reinvent ourselves.

>
> I don't have enough time to look into Pharo as much as I would and just by
> reading the mailing lists and just dipping my toes into Pharo from time to
> time, I sometimes get the impression Pharo is moving so fast I just can't
> follow. I still am not sure I understand that Git/Iceberg stuff, and that is
> already old hats for you guys...

Git is a modern distributed version system (it looks simple at first
and may be super complex) :)
Iceberg is a toolsuite and model to support git access from Pharo.
We try to avoid to force people to do everything from the command line
and provide abstraction
also to manage Pull Requests which are not related to git but to github.

>> Now if people like vikenti wants our support. They should learn how to
>> engage a discussion with us and not
>> just complain :)
>
> That's probably what I wanted to say, but I am a kind person ;-))

Me also but not all the time :)
:)



Re: [Pharo-users] RewriteTool maintained?

2017-11-12 Thread Stephane Ducasse
Probably.
Mark decided not to do a PhD with us and the company with which he did
his master.
Now may be he is still following this list.

May be we will rescue his tool.
I do not know where it is saved.

Stef

On Sat, Nov 11, 2017 at 2:21 PM, Peter Uhnák  wrote:
> Hi,
>
> has Mark Rizun's Rewrite Tool been abandoned?
>
> Thanks,
> Peter



Re: [Pharo-users] Writing "powerpoint" like presentations in Pharo?

2017-11-12 Thread Stephane Ducasse
Hi stefan

I'm interested. So if you want that I do code review and ask super
dumb questions let me know.

Stef

On Fri, Nov 10, 2017 at 1:12 PM, stephan  wrote:
> On 10-11-17 12:06, H. Hirzel wrote:
>>
>> Is the code available somewhere?
>
>
> I've been fighting somewhat with Iceberg, and using fast-changing
> functionality in Bloc. I'm integrating the experiments and will provide a
> link then.
>
> Stephan
>
>



Re: [Pharo-users] Soup bug(fix)

2017-11-12 Thread Sean P. DeNigris
Alistair Grant wrote
> https://github.com/akgrant43/Pharo-Chrome

Wow, that was a wild ride! Lessons learned along the way:
1. On a Mac, to use the snazzy `chrome` terminal command referenced all over
the place in the docs, you must first `alias chrome="/Applications/Google\
Chrome.app/Contents/MacOS/Google\ Chrome"`
2. Chrome must be started with certain flags: `chrome 
--remote-debugging-port=9222 --disable-gpu` (not sure if the last flag is
needed, but `#get:` seemed to hang before using; reference
https://developers.google.com/web/updates/2017/04/headless-chrome)
3. Beacon has renamed InMemoryLogger to MemoryLogger
4. I guess Beacon has renamed `#log` to `#emit`
5. I had to comment out `chromeProcess sigterm.` because `chromeProcess` was
nil and also #sigterm seemed not to be defined anywhere in the image. I'm
not sure what the issue is there.

Pull request issued for #3 & #4. Also, I'm not sure what platforms you
support, but you may want to tag the example methods with  or
similar so that they are runnable from the browser and open an inspector if
there is an interesting return value.




-
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo-users Digest, Vol 55, Issue 94

2017-11-12 Thread Sean P. DeNigris
jtuchel wrote
> I sometimes get the impression Pharo is moving so fast I 
> just can't follow.

Don't worry. I use Pharo every day and sometimes feel the same way! I just
hang on and do my best because I know it's all for a good reason. I accept
the pain in the short-term because the projects I /really/ want to do depend
on these critical improvements.



-
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] deploying Pharo applications

2017-11-12 Thread Andrew Glynn
I think the issue stems from not using Pharo by choice. Apparently he can’t 
continue to use VW for political reasons, and is annoyed at having to port 
everything to an open source Smalltalk. 

I’d probably be annoyed myself if I had to port something I did 15 or 20 years 
ago in VisualAge or IBM Smalltalk, whatever I had to port it to. I’ve only had 
to port one project from Pharo to an IBM Smalltalk server process, so that it 
could run on a 128 thread UltraSparc. If I were any use writing compilers I 
could have ported Pharo itself, unfortunately I’m not. 

The options that’ve been given are workable. The advantages of Pharo are not 
going to be obvious if you’re only porting code written elsewhere, while 
differences are going to be right in your face.

Andrew

From: Stephane Ducasse
Sent: Sunday, November 12, 2017 10:05 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Pharo-users Digest, Vol 55, Issue 94

Joachim

We are focused on deployment but not the same way.
We are the first system that bootstrap a core and can load
dependencies on this core.
We have a dependency analyser that is really advanced since it can
check that you have message that are not in extension
of packages that you use.
In January I hope that we will start packaging Applications (versus
packaging code), so that people can deploy
desktop applications more easily.

Now if people like vikenti wants our support. They should learn how to
engage a discussion with us and not
just complain :)

Stef


On Sun, Nov 12, 2017 at 6:02 AM, jtuc...@objektfabrik.de
 wrote:
> Am 11.11.17 um 22:29 schrieb Викентий Потапов:
>
> Vikenti,
>>
>> And also i mean some simple and understandable deployment tool (as in
>> Cincom VW exists) but not manual-written bash scripts.  This tool asks me
>> what class\accessor send open message, asks what to strip and how to pack my
>> image. Few simple steps and i have perfectly cleaned minimal image with all
>> image started methods tuned to load necessary class. It's really cool stuff.
>> It's a pity, my low-level SmallTalk knowledge (VW + Pharo) is not enough to
>> port this tool or create the new one.
>
> just out of curiosity and following my first reflex: if VisualWorks offers
> most of what you need and is essentially what you want - why do you want to
> switch to Pharo?
>
> This is not intended to be offensive or provoking. I just wonder if an open
> source project is the right thing for you. Pharo is emerging and has quite
> some pace doing so. This is both good and bad - at many levels. Commercial
> offerings may be a lot slower and thus less of a "moving target" (not sure I
> am citing you, but I know I read this in one of the threads about the
> current state of Pharo just these days), but they are pretty much focussed
> on issues like deployment and stable APIs.
>
>
> Joachim
>
>
>




[Pharo-users] FW: deploying Pharo applications

2017-11-12 Thread Andrew Glynn
The issue probably stems from not using Pharo by choice. Apparently he can’t 
continue to use VW for political reasons, and is annoyed at having to port 
everything to an open source Smalltalk. 

I’d probably be annoyed myself if I had to port something I did 15 or 20 years 
ago in VisualAge or IBM Smalltalk, whatever I had to port it to. I’ve only had 
to port one project from Pharo to an IBM Smalltalk server process, so that it 
could run on a 128 thread UltraSparc. If I were any use writing compilers I 
could have ported Pharo itself, unfortunately I’m not. 

The options that’ve been given are workable. The advantages of Pharo are not 
going to be obvious if you’re only porting code written elsewhere, while 
differences are going to be right in your face.

Andrew

From: Stephane Ducasse
Sent: Sunday, November 12, 2017 10:05 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Pharo-users Digest, Vol 55, Issue 94

Joachim

We are focused on deployment but not the same way.
We are the first system that bootstrap a core and can load
dependencies on this core.
We have a dependency analyser that is really advanced since it can
check that you have message that are not in extension
of packages that you use.
In January I hope that we will start packaging Applications (versus
packaging code), so that people can deploy
desktop applications more easily.

Now if people like vikenti wants our support. They should learn how to
engage a discussion with us and not
just complain :)

Stef


On Sun, Nov 12, 2017 at 6:02 AM, jtuc...@objektfabrik.de
 wrote:
> Am 11.11.17 um 22:29 schrieb Викентий Потапов:
>
> Vikenti,
>>
>> And also i mean some simple and understandable deployment tool (as in
>> Cincom VW exists) but not manual-written bash scripts.  This tool asks me
>> what class\accessor send open message, asks what to strip and how to pack my
>> image. Few simple steps and i have perfectly cleaned minimal image with all
>> image started methods tuned to load necessary class. It's really cool stuff.
>> It's a pity, my low-level SmallTalk knowledge (VW + Pharo) is not enough to
>> port this tool or create the new one.
>
> just out of curiosity and following my first reflex: if VisualWorks offers
> most of what you need and is essentially what you want - why do you want to
> switch to Pharo?
>
> This is not intended to be offensive or provoking. I just wonder if an open
> source project is the right thing for you. Pharo is emerging and has quite
> some pace doing so. This is both good and bad - at many levels. Commercial
> offerings may be a lot slower and thus less of a "moving target" (not sure I
> am citing you, but I know I read this in one of the threads about the
> current state of Pharo just these days), but they are pretty much focussed
> on issues like deployment and stable APIs.
>
>
> Joachim
>
>
>





Re: [Pharo-users] Pharo-Chrome (was: Soup bug(fix))

2017-11-12 Thread Alistair Grant
Hi Sean,

Thanks for your feedback!  (responses below)


On 12 November 2017 at 18:11, Sean P. DeNigris  wrote:
> Alistair Grant wrote
>> https://github.com/akgrant43/Pharo-Chrome
>
> Wow, that was a wild ride!

Sorry about that.


> Lessons learned along the way:
> 1. On a Mac, to use the snazzy `chrome` terminal command referenced all over
> the place in the docs, you must first `alias chrome="/Applications/Google\
> Chrome.app/Contents/MacOS/Google\ Chrome"`

I'm an Ubuntu Linux user, however if you look at OSXChromePlatform
class>>defaultExecutableLocation you can see that is where it should
be looking for the exe, so the alias shouldn't really be necessary.
Torsten wrote this, so maybe has more insight.


> 2. Chrome must be started with certain flags: `chrome
> --remote-debugging-port=9222 --disable-gpu` (not sure if the last flag is
> needed, but `#get:` seemed to hang before using; reference
> https://developers.google.com/web/updates/2017/04/headless-chrome)

I've been using this without headless mode.  I'll add a headless flag
that also disables the gpu.



> 3. Beacon has renamed InMemoryLogger to MemoryLogger
> 4. I guess Beacon has renamed `#log` to `#emit`

Sorry about that.  I didn't realise that the Pharo-Chrome baseline is
loading Beacon stable while my install script upgrades it to
#development.  #development is more recent, so I'll update the
baseline.



> 5. I had to comment out `chromeProcess sigterm.` because `chromeProcess` was
> nil and also #sigterm seemed not to be defined anywhere in the image. I'm
> not sure what the issue is there.

chromeProcess is set in GoogleChrome>>openURL:.  Can you give me a
small example that demonstrates the problem?

#sigterm is implemented by OSSUnixSubprocess, which is what I
ultimately use to launch the Chrome process on Ubuntu.

But... this will be broken on Mac at the moment because the current
method of launching chrome doesn't keep track of the process, so
doesn't support #sigterm.  Do you know if OSSUnixSubprocess works on
Mac?  If it does, I can update the code (but not test it :-().


> Pull request issued for #3 & #4.

Once I update the baseline this shouldn't be required.


> Also, I'm not sure what platforms you
> support, but you may want to tag the example methods with  or
> similar so that they are runnable from the browser and open an inspector if
> there is an interesting return value.

Good idea, I'll do this.

I'm also making a few other changes:

1. Add an #extractTables method that searches through the page and
returns an array of rows for each table it finds in the page
(something that can easily be loaded in to DataFrame using #fromRows:,
but I don't want to make Pharo-Chrome dependent on DataFrame at the
moment).  Most of the time I use Pharo-Chrome it is extracting data
from tables.

2. I don't know of any reliable way to tell when a page has loaded
since there can always be javascript that periodically updates the
page.  At the moment it waits until the page hasn't changed for a
configurable amount of time.  I'm planning to add a check for specific
content to determine if the page is considered loaded.

3. Add some documentation to the readme :-)



> -
> Cheers,
> Sean

I'll let you know when I have a new version available (hopefully in
the next few days).


Thanks again,
Alistair



Re: [Pharo-users] Open Debugger, Save and Quit

2017-11-12 Thread Sean P. DeNigris
Sean P. DeNigris wrote
> In a headless image, I'd like to do the following: if there's any error,
> arrange to have a debugger open on the next (headful) launch, and then
> save
> and quit. 

Bump :) I can't believe no one knows how to do this!



-
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Pharo-users Digest, Vol 55, Issue 102

2017-11-12 Thread Викентий Потапов

Thanks Stef, also thank all of you for your support. It is very important to me 
and shows that Pharo is really in progress.
I didn't ever complained - i just asked simple questions on topics i don't 
know. And i get lot's of answers to make some decisions. I understand where to 
get information and what are the prospects of using Pharo.

I came to Pharo looking for appropreate Smalltalk implementation after Cincom 
denied access to its PUL version of VW. I found Pharo as the most advanced but 
it also has its disadvantages.

My project is a desktop GUI application with some hacks with saving data 
to\from image on-the-fly and lots of GUI dialogs + complex custom GUI control. 
It is a kind of personal data\information manager.

I'm very lazy and i like to read rich manuals more than to investigate complex 
code. I think it is much more natural when you don't need to study the whole 
system before you can do simple things. For example, i don't want to waste lots 
of time to understand what is the difference between bloc and spec, i want to 
read few paragraphs of manual and look into some class comments, and than do 
the task. So i think you made a great progress in this direction with Spec - 
the manual is very clear and allows developing UI with minimal efforts - just 
to read some abstracts from manual. 

But in some areas i need to ask somebody who knows much more than i do. And i 
don't think there could be "dumb questions",  but a _lack_of_information_. 
Also, when something is evident to one - it could be not so evident to another 
person. That is why i ask such simple things. 

Also i became accustomed to the situation when platform implements some basic 
stuff like i wrote earlier (UI tools, i18n, deployment, etc) and it was not 
evident to me that such modern system as Pharo cannot do it, so i asked about 
it.

I have seen that Pharo is powerful system but i need to decide what to do:
1) create some personal solution based on different answers above. Lots of code 
investigations, coding and debugging (fixing existed bugs that are not on pharo 
roadmap).
2) wait until some release of Pharo fix bugs with non-latin paths, implement 
minimal level of integrated with UI framework i18n and deployment\packaging of 
applications.

Every software developer tries to find the simplest solution for his task.

I apologized if i said something wrong, i really didn't want to hurt somebody's 
feelings.

Vikenti.

> 
> We are focused on deployment but not the same way.
> We are the first system that bootstrap a core and can load
> dependencies on this core.
> We have a dependency analyser that is really advanced since it can
> check that you have message that are not in extension
> of packages that you use.
> In January I hope that we will start packaging Applications (versus
> packaging code), so that people can deploy
> desktop applications more easily.
> 
> Now if people like vikenti wants our support. They should learn how to
> engage a discussion with us and not
> just complain :)
> 
> Stef
> 



Re: [Pharo-users] Embedded PDF viewer?

2017-11-12 Thread Ben Coman
I've managed to build PDFium into a shared library on Ubuntu 16.04.  (I'll
announce a blog post on this later.)
Now I'm considering the best bitmap format to bring the rendered page back
into Pharo.
I'm seeking advise on...

Q1. Looking at the two significant bitmap creation functions below from the
C header file,
which of PDFium's bitmap formats is the best match for Pharo?

// Gray scale bitmap, one byte per pixel.
#define FPDFBitmap_Gray 1
// 3 bytes per pixel, byte order: blue, green, red.
#define FPDFBitmap_BGR 2
// 4 bytes per pixel, byte order: blue, green, red, unused.
#define FPDFBitmap_BGRx 3
// 4 bytes per pixel, byte order: blue, green, red, alpha.
#define FPDFBitmap_BGRA 4

typedef void* FPDF_BITMAP;


// Function: FPDFBitmap_CreateEx
//  Create a device independent bitmap (FXDIB)
// Parameters:
//  width   -   The number of pixels in width for the bitmap.
//  Must be greater than 0.
//  height  -   The number of pixels in height for the bitmap.
//  Must be greater than 0.
//  format  -   A number indicating for bitmap format, as
defined
//  above.
//  first_scan  -   A pointer to the first byte of the first line if
//  using an external buffer. If this parameter is
NULL,
//  then the a new buffer will be created.
//  stride  -   Number of bytes for each scan line, for external
//  buffer only.
// Return value:
//  The bitmap handle, or NULL if parameter error or out of memory.
// Comments:
//  Similar to FPDFBitmap_Create function, but allows for more
formats
//  and an external buffer is supported. The bitmap created by this
//  function can be used in any place that a FPDF_BITMAP handle is
//  required.
//
//  If an external buffer is used, then the application should
destroy
//  the buffer by itself. FPDFBitmap_Destroy function will not
destroy
//  the buffer.
FPDF_BITMAP
FPDFBitmap_CreateEx(
  int width,
  int height,
  int format,
  void* first_scan,
  int stride);


// Function: FPDFBitmap_Create
//  Create a device independent bitmap (FXDIB).
// Parameters:
//  width   -   The number of pixels in width for the bitmap.
//  Must be greater than 0.
//  height  -   The number of pixels in height for the bitmap.
//  Must be greater than 0.
//  alpha   -   A flag indicating whether the alpha channel is
used.
//  Non-zero for using alpha, zero for not using.
// Return value:
//  The created bitmap handle, or NULL if a parameter error or out
of
//  memory.
// Comments:
//  The bitmap always uses 4 bytes per pixel. The first byte is
always
//  double word aligned.
//
//  The byte order is BGRx (the last byte unused if no alpha
channel) or
//  BGRA.
//
//  The pixels in a horizontal line are stored side by side, with
the
//  left most pixel stored first (with lower memory address).
//  Each line uses width * 4 bytes.
//
//  Lines are stored one after another, with the top most line
stored
//  first. There is no gap between adjacent lines.
//
//  This function allocates enough memory for holding all pixels in
the
//  bitmap, but it doesn't initialize the buffer. Applications can
use
//  FPDFBitmap_FillRect to fill the bitmap using any color.
FPDF_BITMAP
FPDFBitmap_Create(
  int width,
  int height,
  int alpha);


// Function: FPDFBitmap_Destroy
//  Destroy a bitmap and release all related buffers.
// Parameters:
//  bitmap  -   Handle to the bitmap. Returned by
FPDFBitmap_Create.
// Return value:
//  None.
// Comments:
//  This function will not destroy any external buffers provided
when
//  the bitmap was created.
void FPDFBitmap_Destroy(FPDF_BITMAP bitmap);


Pharo's relevant class comments are...

* Bitmap - My instances provide contiguous storage of bits, primarily to
hold the graphical data of Forms. Forms and their subclasses provide the
additional structural information as to how the bits should be interpreted
in two dimensions.

* Form - A rectangular array of pixels, used for holding images.  All
pictures, including character images are Forms.  The depth of a Form is how
many bits are used to specify the color at each pixel.  The actual bits are
held in a Bitmap, whose internal structure is different at each depth.
The supported depths (in bits) are 1, 2, 4, 8, 16, and 32.  The numb