[tode_st] tODE & GCI in Pharo 5?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
86 messages Options
12345
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Dale Henrichs-3
Mariano,

Where do I find the class FFITypeArray? ... I have started the work to merge your 5.0 work and I'm missing that class ... I just did a fresh download of Pharo5.0 ... what am I missing?

Dale

On 04/01/2016 06:29 AM, Mariano Martinez Peck wrote:


On Fri, Apr 1, 2016 at 10:25 AM, Dale Henrichs <[hidden email]> wrote:
...and I've added a note about $GEMSTONE/include/gci.hf in the read me.


Ohh yes, thanks. Because the page 72 of the doc is plain wrong. Not only in the missing field "reason" of the error type but also the values it mentions for the constants are also wrong. 

 BTW, I have also planned to do another pass (don't know when) on the code, and add some documentation via method and class comments. 
 

On 4/1/16 5:33 AM, Mariano Martinez Peck wrote:


On Fri, Apr 1, 2016 at 4:00 AM, Tudor Girba <[hidden email]> wrote:
Hi,

Indeed, I noticed that the GCI is not complete, but I figure that if it was enough for tODE, it should be enough for other similar tools.

Just in case we need something else, I think a thorougher documentation of GCI can be found here:
http://community.gemstone.com/download/attachments/6816350/GS64-GemBuilderforC-3.0.pdf


Yes, and as for 3.1 and 3.2, there are the link already in https://github.com/marianopeck/GemStone-GCI/tree/50#gemstone-gci
 
Is this correct?

Cheers,
Doru


> On Mar 31, 2016, at 11:12 PM, Dale Henrichs <[hidden email]> wrote:
>
> Good work Mariano!
>
> Doru, FYI, the full GCI API is not present in GemStone-GCI (yet) ... I was adding function calls as needed, but the calls that are implemented cover a good chunk of the funcationality needed ...
>
> Dale
>
> On 03/31/2016 01:48 PM, Tudor Girba wrote:
>> In the meantime, I just tested the GCI port from Mariano, and I got it to run properly in a Pharo 5.0 against a test 3.3.0 stone. Thanks a lot!
>>
>> Cheers,
>> Doru
>>
>>
>>> On Mar 31, 2016, at 9:50 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>
>>> OK...so I will let the code in 5.0 branch of my fork until you have some time for it.
>>>
>>>
>>> On Thu, Mar 31, 2016 at 4:46 PM, Dale Henrichs <[hidden email]> wrote:
>>> If you don't have time, I can pull from your branch at my leisure ... I'm pretty busy right now trying to get the smalltalkCI testing issues cleaned up which are needed for GemStone-GCI, tODE, Tugrik, Obex, to name a few ... Tugrik depends upon MongoTalk and Voyage and I'm not even sure that those guys are ported to 5.0 yet either ;;;
>>>
>>> Dale
>>>
>>>
>>> On 03/31/2016 12:27 PM, Mariano Martinez Peck wrote:
>>>>
>>>> On Thu, Mar 31, 2016 at 4:24 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>
>>>>
>>>> On Thu, Mar 31, 2016 at 4:14 PM, Dale Henrichs <[hidden email]> wrote:
>>>> It depends, I want to preserve the implementation that works in Pharo3.0/Pharo4.0, so at this point Id like to understand how much commonality there is between the two implementations and then package things appropriately ...
>>>>
>>>> The code is quite different. So I would have one branch of GemStone-GCI for Pharo 3.0/4.0 (right now what it is in master) and one branch for Pharo 5.0.
>>>>
>>>>
>>>> BTW, I think my code is ready to give it a serious try (with Tugric if you want). Let me know where you want me to push.
>>>> And soon... I have to attend my client software too..... hahahahaha
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Dale
>>>>
>>>>
>>>> On 03/31/2016 11:43 AM, Mariano Martinez Peck wrote:
>>>>> First commit that yields all green tests :)
>>>>>
>>>>> https://github.com/marianopeck/GemStone-GCI/commit/286c7812395482a02f550cc209705e93c3fcd280
>>>>>
>>>>>
>>>>> Dale...for my fork, I am working in a branch named "50". To push back to the upstream project (GsDevKit), do you want me to do it also in a new branch 50? or you prefer MASTER, or... ?
>>>>>
>>>>> Thanks,
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Mar 31, 2016 at 11:57 AM, Tudor Girba <[hidden email]> wrote:
>>>>> Hi Mariano,
>>>>>
>>>>> Great. I will wait :). Please feel free to ping me when it’s a better time to look.
>>>>>
>>>>> Doru
>>>>>
>>>>>
>>>>>> On Mar 31, 2016, at 3:55 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Mar 31, 2016 at 10:27 AM, Dale Henrichs <[hidden email]> wrote:
>>>>>> Doru and Mariano,
>>>>>>
>>>>>> I am in the process of adding a feature or two to GsDevKit_home[1], that will allow one to create arbitrary GemStone clients:
>>>>>>
>>>>>>     createClient -t pharo gciClient -v Pharo-5.0 -s $GS_HOME/sys/local/pharo/gciClient.ston # create the client with GemStone-GCI loaded
>>>>>>     startClient gciClient  # bring up the gciClient image ...
>>>>>>
>>>>>> The gciClient.ston file is a specification of the project(s) to be loaded into the pharo image, using the SmalltalkCI .smalltalk.ston[3] file.
>>>>>>
>>>>>> I have most of this working and will probably be merging it to master in the next day or so...
>>>>>>
>>>>>> I am also in the process of adding additional features to SmalltalkCI for being able to use travis-ci to test GemStone client/server setups where for example you can run the GT-tODE client tests against a GemStone server or in the case of GemStone-GCI use travis to run the tests using multiple Pharo versions ... The test specification is basically the same file as that used to load the client ($GS_HOME/sys/local/pharo/gciClient.ston), so there's no need to maintain separate load/test specifications ...
>>>>>>
>>>>>> In the mean time, apart from loading the GemStone-GCI into Pharo5.0, you'll need to copy the GemStone libgci* files from your todeClient directory ($GS_HOME/dev/slients/<name-of-tode-client>/pharo-vm/Pharo.app/Contents/MacOS/Plugins/libgci* to the pharo-vm/Pharo.app/Contents/MacOS/Plugins directory of your Pharo5.0 download ...
>>>>>>
>>>>>>
>>>>>> YEs....and the libssl as I discovered yesterday.
>>>>>> Doru, this is NOT intended as a real doc, but just writing the steps so that I don't forget... but you can see the README in https://github.com/marianopeck/GemStone-GCI/tree/50
>>>>>> BUt you must replace 3.0 by 5.0.
>>>>>> Also...to load the code from GemStone-GCI you must NOW download it from MY fork and from branch 50.
>>>>>> If I were you, I would wait a bit until things get easier for you to try them out.
>>>>>>
>>>>>>
>>>>>> Mariano will have to give you the details for supplying the login credentials to a running stone so that you can run the tests ...
>>>>>>
>>>>>> Dale
>>>>>>
>>>>>> [1] https://github.com/GsDevKit/GsDevKit_home/issues/93
>>>>>> [2] https://github.com/hpi-swa/smalltalkCI
>>>>>> [3] https://github.com/hpi-swa/smalltalkCI#complete-smalltalkston-template
>>>>>>
>>>>>>
>>>>>> On 3/31/16 12:46 AM, Tudor Girba wrote:
>>>>>> How can I test this?
>>>>>>
>>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> On Mar 31, 2016, at 9:05 AM, Tudor Girba <[hidden email]> wrote:
>>>>>>
>>>>>> Wow. This is great news!
>>>>>>
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> On Mar 31, 2016, at 4:14 AM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>>>
>>>>>> Of course, I also needed to copy the libssl* from my tODE vm to my Pharo 5.0 VM.
>>>>>> Now the testGciLogin is green :)
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 10:10 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>>> Dale, I got the code of Esteban and continue with the port and trying to login I get the exception number 4147 and the message: SSL library initialization failed
>>>>>>
>>>>>> mmmmm there might be something related with that. Any bell?
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 4:50 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 3:11 PM, Dale Henrichs <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>> On 03/30/2016 10:52 AM, Mariano Martinez Peck wrote:
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 1:04 PM, Tudor Girba <[hidden email]> wrote:
>>>>>> Hi,
>>>>>>
>>>>>>
>>>>>> On Mar 30, 2016, at 5:05 PM, Dale Henrichs <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 3/30/16 7:25 AM, Tudor Girba wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I am not confusing the GBS with GCI :). I am thinking of a remote IDE that has a different interface than tODE.
>>>>>> Very Cool!
>>>>>> For this, I would need GCI and probably a layer of Proxies on top of it to allow us to work with objects remotely via OOPs. The Proxy layer would also be responsible for grouping shallow information to make rendering cheaper (like you do in tODE).
>>>>>> Have you thoughts on what the "layer of Proxies" would look like? I think the general problem is a pretty difficult nut to crack, but purpose-built "proxies" with a more meaningful/state-full presence in Pharo would be doable, I'd think ... TodeClientElements on steroids ….
>>>>>> Precisely. I want to have a set of purpose-build proxies. For example, if we would have a GTInspector interface, for each tab, we would have a dedicated proxy with all the information needed for the presentation received in one single call.
>>>>>>
>>>>>> Also, I believe that we can also create a little infrastructure to make the creation of these custom proxies cheap.
>>>>>>
>>>>>> Does this make it interesting for you?
>>>>>> Haha, yes:)
>>>>>> Great :).
>>>>>>
>>>>>> So, from my point of view the roadmap would be:
>>>>>> 1. GCI in Pharo 5.0
>>>>>>
>>>>>> Once GCI tests are green in 5.0, I think we should:
>>>>>>
>>>>>> 1.1) Re-structure Tugric so that to load GemStone-GCI project instead of his own packages
>>>>>> 1.2) Test/stress new GemStone-GCI with Tugric tests
>>>>>> 1.3) If all above works correctly, we should re-structure tODE too to use new GemStone-CGI ( in a development branch if you want) and see if we can make tODE to work in 5.0.
>>>>>> I agree with this to the extent that I will be compelled to do quite a bit of tODE client cleanup while porting to the new GCI. For the new GUI only the login and required bits need to be functional in Pharo-5.0. The timing of the cleanup and port of the standard tODE client to Pharo-5.0 isn't strictly a prerequisite to ongoing work for the new GUI and can go on in parallel...
>>>>>>
>>>>>>
>>>>>> Indeed, it's not a prerequisite per se but I thought that testing new GCI with tODE itself could be quite a good test besides the unit tests and the turgic. But indeed, the rest of items can go in parallel, I agree!!!
>>>>>>
>>>>>>
>>>>>> 2. Build proxies for the inspector
>>>>>> 3. Extend GTInspector to present these proxies
>>>>>> 4. See about the next steps :)
>>>>>>
>>>>>> What do you think?
>>>>>>
>>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> On Mar 30, 2016, at 4:01 PM, Dale Henrichs <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 3/29/16 10:11 PM, Tudor Girba wrote:
>>>>>> Hi Dale, hi Mariano,
>>>>>>
>>>>>> Thanks a lot for the very quick response.
>>>>>>
>>>>>> Indeed, I am very happy that you want to start with porting GCI to Pharo 5.0. I would actually like to have a GT-based tools on top of GCI to provide a more seamless integration with Pharo. I hope that would be Ok with you.
>>>>>> What kind of tools are you thinking of?
>>>>>> The GCI is pretty low-level stuff, you wouldn't be confusing the GCI[1] with GBS[2] would you?
>>>>>> Where GBS provides support for full object repolication between a client and GemStone, the GCI is the low-level RPC-like API upon which GBS is built --- but there is quite a bit that goes into GBS that is over and above the GCI ..
>>>>>> We have no current plans to port GBS to Pharo --- it would be quite a bit of work ---- and the work that I am doing on Tugrik is aimed at providing Voyage-Mongo-style replication as a first step at making GemStone/S a                                             persistence option for Pharo ... My plans were to start by duplicating the MongoTalk functionality so that GemStone could be plug compatible with Mongo, providing a transition path for applications to move from Mongo to GemStone/S.... But frankly I was not too sure how much work I would invest in duplicating the functionality of Mongo --- if one were to use GemStone/S instead of Mongo one could leverage the fact that Smalltalk is available on the server-side which would lead to a completely different model ....
>>>>>>
>>>>>> Anyway, if you were looking to do something along the lines of Tugrik then perhaps we should collaborate --- a "seamless integegration between Pharo and GemStone with GT-based tools in Pharo" is very appealing to me and I'd be willing to redirect my focus on that instead of Tugrik....
>>>>>>
>>>>>> Of course you could be thinking of something entirely different :)
>>>>>> Dale
>>>>>>
>>>>>> [1] https://downloads.gemtalksystems.com/docs/GemStone64/3.3.x/GS64-GemBuilderforC-3.3.pdf
>>>>>> [2] https://gemtalksystems.com/products/gbs-vw/
>>>>>> About the port to UFFI, the API has changed a bit, but we can still easily map it to the existing one. For example:
>>>>>> Thanks,
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "If you can't say why something is relevant,
>>>>>> it probably isn't."
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "We can create beautiful models in a vacuum.
>>>>>> But, to get them effective we have to deal with the inconvenience of reality."
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "Obvious things are difficult to teach."
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "Not knowing how to do something is not an argument for how it cannot be done."
>>>>>>
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>> --
>>>>> www.tudorgirba.com
>>>>> www.feenk.com
>>>>>
>>>>> "Presenting is storytelling."
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Mariano
>>>>> http://marianopeck.wordpress.com
>>>>> --
>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>> --
>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>>
>>>>
>>>> --
>>>> Mariano
>>>> http://marianopeck.wordpress.com
>>>>
>>>>
>>>>
>>>> --
>>>> Mariano
>>>> http://marianopeck.wordpress.com
>>>> --
>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> Mariano
>>> http://marianopeck.wordpress.com
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>> For more options, visit https://groups.google.com/d/optout.
>> --
>> www.tudorgirba.com
>> www.feenk.com
>>
>> "Not knowing how to do something is not an argument for how it cannot be done."
>>
>
> --
> You received this message because you are subscribed to the Google Groups "tODE" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
> For more options, visit https://groups.google.com/d/optout.

--
www.tudorgirba.com
www.feenk.com

"Reasonable is what we are accustomed with."

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--
--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--
--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Dale Henrichs-3
I've now loaded the #stable ConfigurationOfUnifiedFFI and still no dice (latest version) ... is there a reason you didn't add the configuration to the baseline?

Dale

On 04/05/2016 03:21 PM, Dale Henrichs wrote:
Mariano,

Where do I find the class FFITypeArray? ... I have started the work to merge your 5.0 work and I'm missing that class ... I just did a fresh download of Pharo5.0 ... what am I missing?

Dale

On 04/01/2016 06:29 AM, Mariano Martinez Peck wrote:


On Fri, Apr 1, 2016 at 10:25 AM, Dale Henrichs <[hidden email]> wrote:
...and I've added a note about $GEMSTONE/include/gci.hf in the read me.


Ohh yes, thanks. Because the page 72 of the doc is plain wrong. Not only in the missing field "reason" of the error type but also the values it mentions for the constants are also wrong. 

 BTW, I have also planned to do another pass (don't know when) on the code, and add some documentation via method and class comments. 
 

On 4/1/16 5:33 AM, Mariano Martinez Peck wrote:


On Fri, Apr 1, 2016 at 4:00 AM, Tudor Girba <[hidden email]> wrote:
Hi,

Indeed, I noticed that the GCI is not complete, but I figure that if it was enough for tODE, it should be enough for other similar tools.

Just in case we need something else, I think a thorougher documentation of GCI can be found here:
http://community.gemstone.com/download/attachments/6816350/GS64-GemBuilderforC-3.0.pdf


Yes, and as for 3.1 and 3.2, there are the link already in https://github.com/marianopeck/GemStone-GCI/tree/50#gemstone-gci
 
Is this correct?

Cheers,
Doru


> On Mar 31, 2016, at 11:12 PM, Dale Henrichs <[hidden email]> wrote:
>
> Good work Mariano!
>
> Doru, FYI, the full GCI API is not present in GemStone-GCI (yet) ... I was adding function calls as needed, but the calls that are implemented cover a good chunk of the funcationality needed ...
>
> Dale
>
> On 03/31/2016 01:48 PM, Tudor Girba wrote:
>> In the meantime, I just tested the GCI port from Mariano, and I got it to run properly in a Pharo 5.0 against a test 3.3.0 stone. Thanks a lot!
>>
>> Cheers,
>> Doru
>>
>>
>>> On Mar 31, 2016, at 9:50 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>
>>> OK...so I will let the code in 5.0 branch of my fork until you have some time for it.
>>>
>>>
>>> On Thu, Mar 31, 2016 at 4:46 PM, Dale Henrichs <[hidden email]> wrote:
>>> If you don't have time, I can pull from your branch at my leisure ... I'm pretty busy right now trying to get the smalltalkCI testing issues cleaned up which are needed for GemStone-GCI, tODE, Tugrik, Obex, to name a few ... Tugrik depends upon MongoTalk and Voyage and I'm not even sure that those guys are ported to 5.0 yet either ;;;
>>>
>>> Dale
>>>
>>>
>>> On 03/31/2016 12:27 PM, Mariano Martinez Peck wrote:
>>>>
>>>> On Thu, Mar 31, 2016 at 4:24 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>
>>>>
>>>> On Thu, Mar 31, 2016 at 4:14 PM, Dale Henrichs <[hidden email]> wrote:
>>>> It depends, I want to preserve the implementation that works in Pharo3.0/Pharo4.0, so at this point Id like to understand how much commonality there is between the two implementations and then package things appropriately ...
>>>>
>>>> The code is quite different. So I would have one branch of GemStone-GCI for Pharo 3.0/4.0 (right now what it is in master) and one branch for Pharo 5.0.
>>>>
>>>>
>>>> BTW, I think my code is ready to give it a serious try (with Tugric if you want). Let me know where you want me to push.
>>>> And soon... I have to attend my client software too..... hahahahaha
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Dale
>>>>
>>>>
>>>> On 03/31/2016 11:43 AM, Mariano Martinez Peck wrote:
>>>>> First commit that yields all green tests :)
>>>>>
>>>>> https://github.com/marianopeck/GemStone-GCI/commit/286c7812395482a02f550cc209705e93c3fcd280
>>>>>
>>>>>
>>>>> Dale...for my fork, I am working in a branch named "50". To push back to the upstream project (GsDevKit), do you want me to do it also in a new branch 50? or you prefer MASTER, or... ?
>>>>>
>>>>> Thanks,
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Mar 31, 2016 at 11:57 AM, Tudor Girba <[hidden email]> wrote:
>>>>> Hi Mariano,
>>>>>
>>>>> Great. I will wait :). Please feel free to ping me when it’s a better time to look.
>>>>>
>>>>> Doru
>>>>>
>>>>>
>>>>>> On Mar 31, 2016, at 3:55 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Mar 31, 2016 at 10:27 AM, Dale Henrichs <[hidden email]> wrote:
>>>>>> Doru and Mariano,
>>>>>>
>>>>>> I am in the process of adding a feature or two to GsDevKit_home[1], that will allow one to create arbitrary GemStone clients:
>>>>>>
>>>>>>     createClient -t pharo gciClient -v Pharo-5.0 -s $GS_HOME/sys/local/pharo/gciClient.ston # create the client with GemStone-GCI loaded
>>>>>>     startClient gciClient  # bring up the gciClient image ...
>>>>>>
>>>>>> The gciClient.ston file is a specification of the project(s) to be loaded into the pharo image, using the SmalltalkCI .smalltalk.ston[3] file.
>>>>>>
>>>>>> I have most of this working and will probably be merging it to master in the next day or so...
>>>>>>
>>>>>> I am also in the process of adding additional features to SmalltalkCI for being able to use travis-ci to test GemStone client/server setups where for example you can run the GT-tODE client tests against a GemStone server or in the case of GemStone-GCI use travis to run the tests using multiple Pharo versions ... The test specification is basically the same file as that used to load the client ($GS_HOME/sys/local/pharo/gciClient.ston), so there's no need to maintain separate load/test specifications ...
>>>>>>
>>>>>> In the mean time, apart from loading the GemStone-GCI into Pharo5.0, you'll need to copy the GemStone libgci* files from your todeClient directory ($GS_HOME/dev/slients/<name-of-tode-client>/pharo-vm/Pharo.app/Contents/MacOS/Plugins/libgci* to the pharo-vm/Pharo.app/Contents/MacOS/Plugins directory of your Pharo5.0 download ...
>>>>>>
>>>>>>
>>>>>> YEs....and the libssl as I discovered yesterday.
>>>>>> Doru, this is NOT intended as a real doc, but just writing the steps so that I don't forget... but you can see the README in https://github.com/marianopeck/GemStone-GCI/tree/50
>>>>>> BUt you must replace 3.0 by 5.0.
>>>>>> Also...to load the code from GemStone-GCI you must NOW download it from MY fork and from branch 50.
>>>>>> If I were you, I would wait a bit until things get easier for you to try them out.
>>>>>>
>>>>>>
>>>>>> Mariano will have to give you the details for supplying the login credentials to a running stone so that you can run the tests ...
>>>>>>
>>>>>> Dale
>>>>>>
>>>>>> [1] https://github.com/GsDevKit/GsDevKit_home/issues/93
>>>>>> [2] https://github.com/hpi-swa/smalltalkCI
>>>>>> [3] https://github.com/hpi-swa/smalltalkCI#complete-smalltalkston-template
>>>>>>
>>>>>>
>>>>>> On 3/31/16 12:46 AM, Tudor Girba wrote:
>>>>>> How can I test this?
>>>>>>
>>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> On Mar 31, 2016, at 9:05 AM, Tudor Girba <[hidden email]> wrote:
>>>>>>
>>>>>> Wow. This is great news!
>>>>>>
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> On Mar 31, 2016, at 4:14 AM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>>>
>>>>>> Of course, I also needed to copy the libssl* from my tODE vm to my Pharo 5.0 VM.
>>>>>> Now the testGciLogin is green :)
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 10:10 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>>> Dale, I got the code of Esteban and continue with the port and trying to login I get the exception number 4147 and the message: SSL library initialization failed
>>>>>>
>>>>>> mmmmm there might be something related with that. Any bell?
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 4:50 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 3:11 PM, Dale Henrichs <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>> On 03/30/2016 10:52 AM, Mariano Martinez Peck wrote:
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 1:04 PM, Tudor Girba <[hidden email]> wrote:
>>>>>> Hi,
>>>>>>
>>>>>>
>>>>>> On Mar 30, 2016, at 5:05 PM, Dale Henrichs <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 3/30/16 7:25 AM, Tudor Girba wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I am not confusing the GBS with GCI :). I am thinking of a remote IDE that has a different interface than tODE.
>>>>>> Very Cool!
>>>>>> For this, I would need GCI and probably a layer of Proxies on top of it to allow us to work with objects remotely via OOPs. The Proxy layer would also be responsible for grouping shallow information to make rendering cheaper (like you do in tODE).
>>>>>> Have you thoughts on what the "layer of Proxies" would look like? I think the general problem is a pretty difficult nut to crack, but purpose-built "proxies" with a more meaningful/state-full presence in Pharo would be doable, I'd think ... TodeClientElements on steroids ….
>>>>>> Precisely. I want to have a set of purpose-build proxies. For example, if we would have a GTInspector interface, for each tab, we would have a dedicated proxy with all the information needed for the presentation received in one single call.
>>>>>>
>>>>>> Also, I believe that we can also create a little infrastructure to make the creation of these custom proxies cheap.
>>>>>>
>>>>>> Does this make it interesting for you?
>>>>>> Haha, yes:)
>>>>>> Great :).
>>>>>>
>>>>>> So, from my point of view the roadmap would be:
>>>>>> 1. GCI in Pharo 5.0
>>>>>>
>>>>>> Once GCI tests are green in 5.0, I think we should:
>>>>>>
>>>>>> 1.1) Re-structure Tugric so that to load GemStone-GCI project instead of his own packages
>>>>>> 1.2) Test/stress new GemStone-GCI with Tugric tests
>>>>>> 1.3) If all above works correctly, we should re-structure tODE too to use new GemStone-CGI ( in a development branch if you want) and see if we can make tODE to work in 5.0.
>>>>>> I agree with this to the extent that I will be compelled to do quite a bit of tODE client cleanup while porting to the new GCI. For the new GUI only the login and required bits need to be functional in Pharo-5.0. The timing of the cleanup and port of the standard tODE client to Pharo-5.0 isn't strictly a prerequisite to ongoing work for the new GUI and can go on in parallel...
>>>>>>
>>>>>>
>>>>>> Indeed, it's not a prerequisite per se but I thought that testing new GCI with tODE itself could be quite a good test besides the unit tests and the turgic. But indeed, the rest of items can go in parallel, I agree!!!
>>>>>>
>>>>>>
>>>>>> 2. Build proxies for the inspector
>>>>>> 3. Extend GTInspector to present these proxies
>>>>>> 4. See about the next steps :)
>>>>>>
>>>>>> What do you think?
>>>>>>
>>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> On Mar 30, 2016, at 4:01 PM, Dale Henrichs <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 3/29/16 10:11 PM, Tudor Girba wrote:
>>>>>> Hi Dale, hi Mariano,
>>>>>>
>>>>>> Thanks a lot for the very quick response.
>>>>>>
>>>>>> Indeed, I am very happy that you want to start with porting GCI to Pharo 5.0. I would actually like to have a GT-based tools on top of GCI to provide a more seamless integration with Pharo. I hope that would be Ok with you.
>>>>>> What kind of tools are you thinking of?
>>>>>> The GCI is pretty low-level stuff, you wouldn't be confusing the GCI[1] with GBS[2] would you?
>>>>>> Where GBS provides support for full object repolication between a client and GemStone, the GCI is the low-level RPC-like API upon which GBS is built --- but there is quite a bit that goes into GBS that is over and above the GCI ..
>>>>>> We have no current plans to port GBS to Pharo --- it would be quite a bit of work ---- and the work that I am doing on Tugrik is aimed at providing Voyage-Mongo-style replication as a first step at making GemStone/S a                                             persistence option for Pharo ... My plans were to start by duplicating the MongoTalk functionality so that GemStone could be plug compatible with Mongo, providing a transition path for applications to move from Mongo to GemStone/S.... But frankly I was not too sure how much work I would invest in duplicating the functionality of Mongo --- if one were to use GemStone/S instead of Mongo one could leverage the fact that Smalltalk is available on the server-side which would lead to a completely different model ....
>>>>>>
>>>>>> Anyway, if you were looking to do something along the lines of Tugrik then perhaps we should collaborate --- a "seamless integegration between Pharo and GemStone with GT-based tools in Pharo" is very appealing to me and I'd be willing to redirect my focus on that instead of Tugrik....
>>>>>>
>>>>>> Of course you could be thinking of something entirely different :)
>>>>>> Dale
>>>>>>
>>>>>> [1] https://downloads.gemtalksystems.com/docs/GemStone64/3.3.x/GS64-GemBuilderforC-3.3.pdf
>>>>>> [2] https://gemtalksystems.com/products/gbs-vw/
>>>>>> About the port to UFFI, the API has changed a bit, but we can still easily map it to the existing one. For example:
>>>>>> Thanks,
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "If you can't say why something is relevant,
>>>>>> it probably isn't."
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "We can create beautiful models in a vacuum.
>>>>>> But, to get them effective we have to deal with the inconvenience of reality."
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "Obvious things are difficult to teach."
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "Not knowing how to do something is not an argument for how it cannot be done."
>>>>>>
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>> --
>>>>> www.tudorgirba.com
>>>>> www.feenk.com
>>>>>
>>>>> "Presenting is storytelling."
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Mariano
>>>>> http://marianopeck.wordpress.com
>>>>> --
>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>> --
>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>>
>>>>
>>>> --
>>>> Mariano
>>>> http://marianopeck.wordpress.com
>>>>
>>>>
>>>>
>>>> --
>>>> Mariano
>>>> http://marianopeck.wordpress.com
>>>> --
>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> Mariano
>>> http://marianopeck.wordpress.com
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>> For more options, visit https://groups.google.com/d/optout.
>> --
>> www.tudorgirba.com
>> www.feenk.com
>>
>> "Not knowing how to do something is not an argument for how it cannot be done."
>>
>
> --
> You received this message because you are subscribed to the Google Groups "tODE" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
> For more options, visit https://groups.google.com/d/optout.

--
www.tudorgirba.com
www.feenk.com

"Reasonable is what we are accustomed with."

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--
--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--
--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.


--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Dale Henrichs-3
Okay, I've manually pulled in Esteban's package so presumably I'll be good to go now ...

I've reached the point in my smalltalkCI/GsDevKit_home work where I need a live example to work with and I was hoping to be able to build travis-ci test cases for Pharo 3-5, but with manual patching it will be a challenge to get the tests runnable on travis ---- but there needs to be a way :)

Dale

On 04/05/2016 03:27 PM, Dale Henrichs wrote:
I've now loaded the #stable ConfigurationOfUnifiedFFI and still no dice (latest version) ... is there a reason you didn't add the configuration to the baseline?

Dale

On 04/05/2016 03:21 PM, Dale Henrichs wrote:
Mariano,

Where do I find the class FFITypeArray? ... I have started the work to merge your 5.0 work and I'm missing that class ... I just did a fresh download of Pharo5.0 ... what am I missing?

Dale

On 04/01/2016 06:29 AM, Mariano Martinez Peck wrote:


On Fri, Apr 1, 2016 at 10:25 AM, Dale Henrichs <[hidden email]> wrote:
...and I've added a note about $GEMSTONE/include/gci.hf in the read me.


Ohh yes, thanks. Because the page 72 of the doc is plain wrong. Not only in the missing field "reason" of the error type but also the values it mentions for the constants are also wrong. 

 BTW, I have also planned to do another pass (don't know when) on the code, and add some documentation via method and class comments. 
 

On 4/1/16 5:33 AM, Mariano Martinez Peck wrote:


On Fri, Apr 1, 2016 at 4:00 AM, Tudor Girba <[hidden email]> wrote:
Hi,

Indeed, I noticed that the GCI is not complete, but I figure that if it was enough for tODE, it should be enough for other similar tools.

Just in case we need something else, I think a thorougher documentation of GCI can be found here:
http://community.gemstone.com/download/attachments/6816350/GS64-GemBuilderforC-3.0.pdf


Yes, and as for 3.1 and 3.2, there are the link already in https://github.com/marianopeck/GemStone-GCI/tree/50#gemstone-gci
 
Is this correct?

Cheers,
Doru


> On Mar 31, 2016, at 11:12 PM, Dale Henrichs <[hidden email]> wrote:
>
> Good work Mariano!
>
> Doru, FYI, the full GCI API is not present in GemStone-GCI (yet) ... I was adding function calls as needed, but the calls that are implemented cover a good chunk of the funcationality needed ...
>
> Dale
>
> On 03/31/2016 01:48 PM, Tudor Girba wrote:
>> In the meantime, I just tested the GCI port from Mariano, and I got it to run properly in a Pharo 5.0 against a test 3.3.0 stone. Thanks a lot!
>>
>> Cheers,
>> Doru
>>
>>
>>> On Mar 31, 2016, at 9:50 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>
>>> OK...so I will let the code in 5.0 branch of my fork until you have some time for it.
>>>
>>>
>>> On Thu, Mar 31, 2016 at 4:46 PM, Dale Henrichs <[hidden email]> wrote:
>>> If you don't have time, I can pull from your branch at my leisure ... I'm pretty busy right now trying to get the smalltalkCI testing issues cleaned up which are needed for GemStone-GCI, tODE, Tugrik, Obex, to name a few ... Tugrik depends upon MongoTalk and Voyage and I'm not even sure that those guys are ported to 5.0 yet either ;;;
>>>
>>> Dale
>>>
>>>
>>> On 03/31/2016 12:27 PM, Mariano Martinez Peck wrote:
>>>>
>>>> On Thu, Mar 31, 2016 at 4:24 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>
>>>>
>>>> On Thu, Mar 31, 2016 at 4:14 PM, Dale Henrichs <[hidden email]> wrote:
>>>> It depends, I want to preserve the implementation that works in Pharo3.0/Pharo4.0, so at this point Id like to understand how much commonality there is between the two implementations and then package things appropriately ...
>>>>
>>>> The code is quite different. So I would have one branch of GemStone-GCI for Pharo 3.0/4.0 (right now what it is in master) and one branch for Pharo 5.0.
>>>>
>>>>
>>>> BTW, I think my code is ready to give it a serious try (with Tugric if you want). Let me know where you want me to push.
>>>> And soon... I have to attend my client software too..... hahahahaha
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Dale
>>>>
>>>>
>>>> On 03/31/2016 11:43 AM, Mariano Martinez Peck wrote:
>>>>> First commit that yields all green tests :)
>>>>>
>>>>> https://github.com/marianopeck/GemStone-GCI/commit/286c7812395482a02f550cc209705e93c3fcd280
>>>>>
>>>>>
>>>>> Dale...for my fork, I am working in a branch named "50". To push back to the upstream project (GsDevKit), do you want me to do it also in a new branch 50? or you prefer MASTER, or... ?
>>>>>
>>>>> Thanks,
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Mar 31, 2016 at 11:57 AM, Tudor Girba <[hidden email]> wrote:
>>>>> Hi Mariano,
>>>>>
>>>>> Great. I will wait :). Please feel free to ping me when it’s a better time to look.
>>>>>
>>>>> Doru
>>>>>
>>>>>
>>>>>> On Mar 31, 2016, at 3:55 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Mar 31, 2016 at 10:27 AM, Dale Henrichs <[hidden email]> wrote:
>>>>>> Doru and Mariano,
>>>>>>
>>>>>> I am in the process of adding a feature or two to GsDevKit_home[1], that will allow one to create arbitrary GemStone clients:
>>>>>>
>>>>>>     createClient -t pharo gciClient -v Pharo-5.0 -s $GS_HOME/sys/local/pharo/gciClient.ston # create the client with GemStone-GCI loaded
>>>>>>     startClient gciClient  # bring up the gciClient image ...
>>>>>>
>>>>>> The gciClient.ston file is a specification of the project(s) to be loaded into the pharo image, using the SmalltalkCI .smalltalk.ston[3] file.
>>>>>>
>>>>>> I have most of this working and will probably be merging it to master in the next day or so...
>>>>>>
>>>>>> I am also in the process of adding additional features to SmalltalkCI for being able to use travis-ci to test GemStone client/server setups where for example you can run the GT-tODE client tests against a GemStone server or in the case of GemStone-GCI use travis to run the tests using multiple Pharo versions ... The test specification is basically the same file as that used to load the client ($GS_HOME/sys/local/pharo/gciClient.ston), so there's no need to maintain separate load/test specifications ...
>>>>>>
>>>>>> In the mean time, apart from loading the GemStone-GCI into Pharo5.0, you'll need to copy the GemStone libgci* files from your todeClient directory ($GS_HOME/dev/slients/<name-of-tode-client>/pharo-vm/Pharo.app/Contents/MacOS/Plugins/libgci* to the pharo-vm/Pharo.app/Contents/MacOS/Plugins directory of your Pharo5.0 download ...
>>>>>>
>>>>>>
>>>>>> YEs....and the libssl as I discovered yesterday.
>>>>>> Doru, this is NOT intended as a real doc, but just writing the steps so that I don't forget... but you can see the README in https://github.com/marianopeck/GemStone-GCI/tree/50
>>>>>> BUt you must replace 3.0 by 5.0.
>>>>>> Also...to load the code from GemStone-GCI you must NOW download it from MY fork and from branch 50.
>>>>>> If I were you, I would wait a bit until things get easier for you to try them out.
>>>>>>
>>>>>>
>>>>>> Mariano will have to give you the details for supplying the login credentials to a running stone so that you can run the tests ...
>>>>>>
>>>>>> Dale
>>>>>>
>>>>>> [1] https://github.com/GsDevKit/GsDevKit_home/issues/93
>>>>>> [2] https://github.com/hpi-swa/smalltalkCI
>>>>>> [3] https://github.com/hpi-swa/smalltalkCI#complete-smalltalkston-template
>>>>>>
>>>>>>
>>>>>> On 3/31/16 12:46 AM, Tudor Girba wrote:
>>>>>> How can I test this?
>>>>>>
>>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> On Mar 31, 2016, at 9:05 AM, Tudor Girba <[hidden email]> wrote:
>>>>>>
>>>>>> Wow. This is great news!
>>>>>>
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> On Mar 31, 2016, at 4:14 AM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>>>
>>>>>> Of course, I also needed to copy the libssl* from my tODE vm to my Pharo 5.0 VM.
>>>>>> Now the testGciLogin is green :)
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 10:10 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>>> Dale, I got the code of Esteban and continue with the port and trying to login I get the exception number 4147 and the message: SSL library initialization failed
>>>>>>
>>>>>> mmmmm there might be something related with that. Any bell?
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 4:50 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 3:11 PM, Dale Henrichs <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>> On 03/30/2016 10:52 AM, Mariano Martinez Peck wrote:
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 1:04 PM, Tudor Girba <[hidden email]> wrote:
>>>>>> Hi,
>>>>>>
>>>>>>
>>>>>> On Mar 30, 2016, at 5:05 PM, Dale Henrichs <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 3/30/16 7:25 AM, Tudor Girba wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I am not confusing the GBS with GCI :). I am thinking of a remote IDE that has a different interface than tODE.
>>>>>> Very Cool!
>>>>>> For this, I would need GCI and probably a layer of Proxies on top of it to allow us to work with objects remotely via OOPs. The Proxy layer would also be responsible for grouping shallow information to make rendering cheaper (like you do in tODE).
>>>>>> Have you thoughts on what the "layer of Proxies" would look like? I think the general problem is a pretty difficult nut to crack, but purpose-built "proxies" with a more meaningful/state-full presence in Pharo would be doable, I'd think ... TodeClientElements on steroids ….
>>>>>> Precisely. I want to have a set of purpose-build proxies. For example, if we would have a GTInspector interface, for each tab, we would have a dedicated proxy with all the information needed for the presentation received in one single call.
>>>>>>
>>>>>> Also, I believe that we can also create a little infrastructure to make the creation of these custom proxies cheap.
>>>>>>
>>>>>> Does this make it interesting for you?
>>>>>> Haha, yes:)
>>>>>> Great :).
>>>>>>
>>>>>> So, from my point of view the roadmap would be:
>>>>>> 1. GCI in Pharo 5.0
>>>>>>
>>>>>> Once GCI tests are green in 5.0, I think we should:
>>>>>>
>>>>>> 1.1) Re-structure Tugric so that to load GemStone-GCI project instead of his own packages
>>>>>> 1.2) Test/stress new GemStone-GCI with Tugric tests
>>>>>> 1.3) If all above works correctly, we should re-structure tODE too to use new GemStone-CGI ( in a development branch if you want) and see if we can make tODE to work in 5.0.
>>>>>> I agree with this to the extent that I will be compelled to do quite a bit of tODE client cleanup while porting to the new GCI. For the new GUI only the login and required bits need to be functional in Pharo-5.0. The timing of the cleanup and port of the standard tODE client to Pharo-5.0 isn't strictly a prerequisite to ongoing work for the new GUI and can go on in parallel...
>>>>>>
>>>>>>
>>>>>> Indeed, it's not a prerequisite per se but I thought that testing new GCI with tODE itself could be quite a good test besides the unit tests and the turgic. But indeed, the rest of items can go in parallel, I agree!!!
>>>>>>
>>>>>>
>>>>>> 2. Build proxies for the inspector
>>>>>> 3. Extend GTInspector to present these proxies
>>>>>> 4. See about the next steps :)
>>>>>>
>>>>>> What do you think?
>>>>>>
>>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> On Mar 30, 2016, at 4:01 PM, Dale Henrichs <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 3/29/16 10:11 PM, Tudor Girba wrote:
>>>>>> Hi Dale, hi Mariano,
>>>>>>
>>>>>> Thanks a lot for the very quick response.
>>>>>>
>>>>>> Indeed, I am very happy that you want to start with porting GCI to Pharo 5.0. I would actually like to have a GT-based tools on top of GCI to provide a more seamless integration with Pharo. I hope that would be Ok with you.
>>>>>> What kind of tools are you thinking of?
>>>>>> The GCI is pretty low-level stuff, you wouldn't be confusing the GCI[1] with GBS[2] would you?
>>>>>> Where GBS provides support for full object repolication between a client and GemStone, the GCI is the low-level RPC-like API upon which GBS is built --- but there is quite a bit that goes into GBS that is over and above the GCI ..
>>>>>> We have no current plans to port GBS to Pharo --- it would be quite a bit of work ---- and the work that I am doing on Tugrik is aimed at providing Voyage-Mongo-style replication as a first step at making GemStone/S a                                             persistence option for Pharo ... My plans were to start by duplicating the MongoTalk functionality so that GemStone could be plug compatible with Mongo, providing a transition path for applications to move from Mongo to GemStone/S.... But frankly I was not too sure how much work I would invest in duplicating the functionality of Mongo --- if one were to use GemStone/S instead of Mongo one could leverage the fact that Smalltalk is available on the server-side which would lead to a completely different model ....
>>>>>>
>>>>>> Anyway, if you were looking to do something along the lines of Tugrik then perhaps we should collaborate --- a "seamless integegration between Pharo and GemStone with GT-based tools in Pharo" is very appealing to me and I'd be willing to redirect my focus on that instead of Tugrik....
>>>>>>
>>>>>> Of course you could be thinking of something entirely different :)
>>>>>> Dale
>>>>>>
>>>>>> [1] https://downloads.gemtalksystems.com/docs/GemStone64/3.3.x/GS64-GemBuilderforC-3.3.pdf
>>>>>> [2] https://gemtalksystems.com/products/gbs-vw/
>>>>>> About the port to UFFI, the API has changed a bit, but we can still easily map it to the existing one. For example:
>>>>>> Thanks,
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "If you can't say why something is relevant,
>>>>>> it probably isn't."
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "We can create beautiful models in a vacuum.
>>>>>> But, to get them effective we have to deal with the inconvenience of reality."
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "Obvious things are difficult to teach."
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "Not knowing how to do something is not an argument for how it cannot be done."
>>>>>>
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>> --
>>>>> www.tudorgirba.com
>>>>> www.feenk.com
>>>>>
>>>>> "Presenting is storytelling."
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Mariano
>>>>> http://marianopeck.wordpress.com
>>>>> --
>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>> --
>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>>
>>>>
>>>> --
>>>> Mariano
>>>> http://marianopeck.wordpress.com
>>>>
>>>>
>>>>
>>>> --
>>>> Mariano
>>>> http://marianopeck.wordpress.com
>>>> --
>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> Mariano
>>> http://marianopeck.wordpress.com
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
>>> For more options, visit https://groups.google.com/d/optout.
>> --
>> www.tudorgirba.com
>> www.feenk.com
>>
>> "Not knowing how to do something is not an argument for how it cannot be done."
>>
>
> --
> You received this message because you are subscribed to the Google Groups "tODE" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
> For more options, visit https://groups.google.com/d/optout.

--
www.tudorgirba.com
www.feenk.com

"Reasonable is what we are accustomed with."

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--
--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--
--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Mariano Martinez Peck


On Tue, Apr 5, 2016 at 7:34 PM, Dale Henrichs <[hidden email]> wrote:
Okay, I've manually pulled in Esteban's package so presumably I'll be good to go now ...


Sorry, I forgot to document that part. Yes, you needed latest package version from UFFI as it is not yet integrated into Pharo. Note that I hope that latest UFFI would be integrated in Pharo 5.0 before release. But as for now, bringing latest UFFI is the way to go. 

I've reached the point in my smalltalkCI/GsDevKit_home work where I need a live example to work with and I was hoping to be able to build travis-ci test cases for Pharo 3-5, but with manual patching it will be a challenge to get the tests runnable on travis ---- but there needs to be a way :)


Well... for my CI on Travis for OSSubprocess and FFIExternalCHeader, since they were targeted for 5.0, I was always having to somehow patch latest image. This was because there was always something that I missed, or found a bug, or I was using not yet integrated UFFI or whatever.... So... besides this particular case, when you target the unstable release (in this case, Pharo 5.0), I think it is very frequent to be able to "patch" the fresh image. 


 
Dale


On 04/05/2016 03:27 PM, Dale Henrichs wrote:
I've now loaded the #stable ConfigurationOfUnifiedFFI and still no dice (latest version) ... is there a reason you didn't add the configuration to the baseline?

Dale

On 04/05/2016 03:21 PM, Dale Henrichs wrote:
Mariano,

Where do I find the class FFITypeArray? ... I have started the work to merge your 5.0 work and I'm missing that class ... I just did a fresh download of Pharo5.0 ... what am I missing?

Dale

On 04/01/2016 06:29 AM, Mariano Martinez Peck wrote:


On Fri, Apr 1, 2016 at 10:25 AM, Dale Henrichs <[hidden email][hidden email]> wrote:
...and I've added a note about $GEMSTONE/include/gci.hf in the read me.


Ohh yes, thanks. Because the page 72 of the doc is plain wrong. Not only in the missing field "reason" of the error type but also the values it mentions for the constants are also wrong. 

 BTW, I have also planned to do another pass (don't know when) on the code, and add some documentation via method and class comments. 
 

On 4/1/16 5:33 AM, Mariano Martinez Peck wrote:


On Fri, Apr 1, 2016 at 4:00 AM, Tudor Girba <[hidden email][hidden email]> wrote:
Hi,

Indeed, I noticed that the GCI is not complete, but I figure that if it was enough for tODE, it should be enough for other similar tools.

Just in case we need something else, I think a thorougher documentation of GCI can be found here:
http://community.gemstone.com/download/attachments/6816350/GS64-GemBuilderforC-3.0.pdf


Yes, and as for 3.1 and 3.2, there are the link already in https://github.com/marianopeck/GemStone-GCI/tree/50#gemstone-gci
 
Is this correct?

Cheers,
Doru


> On Mar 31, 2016, at 11:12 PM, Dale Henrichs <[hidden email][hidden email]> wrote:
>
> Good work Mariano!
>
> Doru, FYI, the full GCI API is not present in GemStone-GCI (yet) ... I was adding function calls as needed, but the calls that are implemented cover a good chunk of the funcationality needed ...
>
> Dale
>
> On 03/31/2016 01:48 PM, Tudor Girba wrote:
>> In the meantime, I just tested the GCI port from Mariano, and I got it to run properly in a Pharo 5.0 against a test 3.3.0 stone. Thanks a lot!
>>
>> Cheers,
>> Doru
>>
>>
>>> On Mar 31, 2016, at 9:50 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>
>>> OK...so I will let the code in 5.0 branch of my fork until you have some time for it.
>>>
>>>
>>> On Thu, Mar 31, 2016 at 4:46 PM, Dale Henrichs <[hidden email][hidden email]> wrote:
>>> If you don't have time, I can pull from your branch at my leisure ... I'm pretty busy right now trying to get the smalltalkCI testing issues cleaned up which are needed for GemStone-GCI, tODE, Tugrik, Obex, to name a few ... Tugrik depends upon MongoTalk and Voyage and I'm not even sure that those guys are ported to 5.0 yet either ;;;
>>>
>>> Dale
>>>
>>>
>>> On 03/31/2016 12:27 PM, Mariano Martinez Peck wrote:
>>>>
>>>> On Thu, Mar 31, 2016 at 4:24 PM, Mariano Martinez Peck <[hidden email]> wrote:
>>>>
>>>>
>>>> On Thu, Mar 31, 2016 at 4:14 PM, Dale Henrichs <[hidden email]> wrote:
>>>> It depends, I want to preserve the implementation that works in Pharo3.0/Pharo4.0, so at this point Id like to understand how much commonality there is between the two implementations and then package things appropriately ...
>>>>
>>>> The code is quite different. So I would have one branch of GemStone-GCI for Pharo 3.0/4.0 (right now what it is in master) and one branch for Pharo 5.0.
>>>>
>>>>
>>>> BTW, I think my code is ready to give it a serious try (with Tugric if you want). Let me know where you want me to push.
>>>> And soon... I have to attend my client software too..... hahahahaha
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Dale
>>>>
>>>>
>>>> On 03/31/2016 11:43 AM, Mariano Martinez Peck wrote:
>>>>> First commit that yields all green tests :)
>>>>>
>>>>> https://github.com/marianopeck/GemStone-GCI/commit/286c7812395482a02f550cc209705e93c3fcd280
>>>>>
>>>>>
>>>>> Dale...for my fork, I am working in a branch named "50". To push back to the upstream project (GsDevKit), do you want me to do it also in a new branch 50? or you prefer MASTER, or... ?
>>>>>
>>>>> Thanks,
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Mar 31, 2016 at 11:57 AM, Tudor Girba <[hidden email]> wrote:
>>>>> Hi Mariano,
>>>>>
>>>>> Great. I will wait :). Please feel free to ping me when it’s a better time to look.
>>>>>
>>>>> Doru
>>>>>
>>>>>
>>>>>> On Mar 31, 2016, at 3:55 PM, Mariano Martinez Peck <[hidden email][hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Mar 31, 2016 at 10:27 AM, Dale Henrichs <[hidden email][hidden email]> wrote:
>>>>>> Doru and Mariano,
>>>>>>
>>>>>> I am in the process of adding a feature or two to GsDevKit_home[1], that will allow one to create arbitrary GemStone clients:
>>>>>>
>>>>>>     createClient -t pharo gciClient -v Pharo-5.0 -s $GS_HOME/sys/local/pharo/gciClient.ston # create the client with GemStone-GCI loaded
>>>>>>     startClient gciClient  # bring up the gciClient image ...
>>>>>>
>>>>>> The gciClient.ston file is a specification of the project(s) to be loaded into the pharo image, using the SmalltalkCI .smalltalk.ston[3] file.
>>>>>>
>>>>>> I have most of this working and will probably be merging it to master in the next day or so...
>>>>>>
>>>>>> I am also in the process of adding additional features to SmalltalkCI for being able to use travis-ci to test GemStone client/server setups where for example you can run the GT-tODE client tests against a GemStone server or in the case of GemStone-GCI use travis to run the tests using multiple Pharo versions ... The test specification is basically the same file as that used to load the client ($GS_HOME/sys/local/pharo/gciClient.ston), so there's no need to maintain separate load/test specifications ...
>>>>>>
>>>>>> In the mean time, apart from loading the GemStone-GCI into Pharo5.0, you'll need to copy the GemStone libgci* files from your todeClient directory ($GS_HOME/dev/slients/<name-of-tode-client>/pharo-vm/Pharo.app/Contents/MacOS/Plugins/libgci* to the pharo-vm/Pharo.app/Contents/MacOS/Plugins directory of your Pharo5.0 download ...
>>>>>>
>>>>>>
>>>>>> YEs....and the libssl as I discovered yesterday.
>>>>>> Doru, this is NOT intended as a real doc, but just writing the steps so that I don't forget... but you can see the README in https://github.com/marianopeck/GemStone-GCI/tree/50
>>>>>> BUt you must replace 3.0 by 5.0.
>>>>>> Also...to load the code from GemStone-GCI you must NOW download it from MY fork and from branch 50.
>>>>>> If I were you, I would wait a bit until things get easier for you to try them out.
>>>>>>
>>>>>>
>>>>>> Mariano will have to give you the details for supplying the login credentials to a running stone so that you can run the tests ...
>>>>>>
>>>>>> Dale
>>>>>>
>>>>>> [1] https://github.com/GsDevKit/GsDevKit_home/issues/93
>>>>>> [2] https://github.com/hpi-swa/smalltalkCI
>>>>>> [3] https://github.com/hpi-swa/smalltalkCI#complete-smalltalkston-template
>>>>>>
>>>>>>
>>>>>> On 3/31/16 12:46 AM, Tudor Girba wrote:
>>>>>> How can I test this?
>>>>>>
>>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> On Mar 31, 2016, at 9:05 AM, Tudor Girba <[hidden email]> wrote:
>>>>>>
>>>>>> Wow. This is great news!
>>>>>>
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> On Mar 31, 2016, at 4:14 AM, Mariano Martinez Peck <[hidden email][hidden email]> wrote:
>>>>>>
>>>>>> Of course, I also needed to copy the libssl* from my tODE vm to my Pharo 5.0 VM.
>>>>>> Now the testGciLogin is green :)
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 10:10 PM, Mariano Martinez Peck <[hidden email][hidden email]> wrote:
>>>>>> Dale, I got the code of Esteban and continue with the port and trying to login I get the exception number 4147 and the message: SSL library initialization failed
>>>>>>
>>>>>> mmmmm there might be something related with that. Any bell?
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 4:50 PM, Mariano Martinez Peck <[hidden email][hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 3:11 PM, Dale Henrichs <[hidden email][hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>> On 03/30/2016 10:52 AM, Mariano Martinez Peck wrote:
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 1:04 PM, Tudor Girba <[hidden email][hidden email]> wrote:
>>>>>> Hi,
>>>>>>
>>>>>>
>>>>>> On Mar 30, 2016, at 5:05 PM, Dale Henrichs <[hidden email][hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 3/30/16 7:25 AM, Tudor Girba wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I am not confusing the GBS with GCI :). I am thinking of a remote IDE that has a different interface than tODE.
>>>>>> Very Cool!
>>>>>> For this, I would need GCI and probably a layer of Proxies on top of it to allow us to work with objects remotely via OOPs. The Proxy layer would also be responsible for grouping shallow information to make rendering cheaper (like you do in tODE).
>>>>>> Have you thoughts on what the "layer of Proxies" would look like? I think the general problem is a pretty difficult nut to crack, but purpose-built "proxies" with a more meaningful/state-full presence in Pharo would be doable, I'd think ... TodeClientElements on steroids ….
>>>>>> Precisely. I want to have a set of purpose-build proxies. For example, if we would have a GTInspector interface, for each tab, we would have a dedicated proxy with all the information needed for the presentation received in one single call.
>>>>>>
>>>>>> Also, I believe that we can also create a little infrastructure to make the creation of these custom proxies cheap.
>>>>>>
>>>>>> Does this make it interesting for you?
>>>>>> Haha, yes:)
>>>>>> Great :).
>>>>>>
>>>>>> So, from my point of view the roadmap would be:
>>>>>> 1. GCI in Pharo 5.0
>>>>>>
>>>>>> Once GCI tests are green in 5.0, I think we should:
>>>>>>
>>>>>> 1.1) Re-structure Tugric so that to load GemStone-GCI project instead of his own packages
>>>>>> 1.2) Test/stress new GemStone-GCI with Tugric tests
>>>>>> 1.3) If all above works correctly, we should re-structure tODE too to use new GemStone-CGI ( in a development branch if you want) and see if we can make tODE to work in 5.0.
>>>>>> I agree with this to the extent that I will be compelled to do quite a bit of tODE client cleanup while porting to the new GCI. For the new GUI only the login and required bits need to be functional in Pharo-5.0. The timing of the cleanup and port of the standard tODE client to Pharo-5.0 isn't strictly a prerequisite to ongoing work for the new GUI and can go on in parallel...
>>>>>>
>>>>>>
>>>>>> Indeed, it's not a prerequisite per se but I thought that testing new GCI with tODE itself could be quite a good test besides the unit tests and the turgic. But indeed, the rest of items can go in parallel, I agree!!!
>>>>>>
>>>>>>
>>>>>> 2. Build proxies for the inspector
>>>>>> 3. Extend GTInspector to present these proxies
>>>>>> 4. See about the next steps :)
>>>>>>
>>>>>> What do you think?
>>>>>>
>>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> On Mar 30, 2016, at 4:01 PM, Dale Henrichs <[hidden email][hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 3/29/16 10:11 PM, Tudor Girba wrote:
>>>>>> Hi Dale, hi Mariano,
>>>>>>
>>>>>> Thanks a lot for the very quick response.
>>>>>>
>>>>>> Indeed, I am very happy that you want to start with porting GCI to Pharo 5.0. I would actually like to have a GT-based tools on top of GCI to provide a more seamless integration with Pharo. I hope that would be Ok with you.
>>>>>> What kind of tools are you thinking of?
>>>>>> The GCI is pretty low-level stuff, you wouldn't be confusing the GCI[1] with GBS[2] would you?
>>>>>> Where GBS provides support for full object repolication between a client and GemStone, the GCI is the low-level RPC-like API upon which GBS is built --- but there is quite a bit that goes into GBS that is over and above the GCI ..
>>>>>> We have no current plans to port GBS to Pharo --- it would be quite a bit of work ---- and the work that I am doing on Tugrik is aimed at providing Voyage-Mongo-style replication as a first step at making GemStone/S a                                             persistence option for Pharo ... My plans were to start by duplicating the MongoTalk functionality so that GemStone could be plug compatible with Mongo, providing a transition path for applications to move from Mongo to GemStone/S.... But frankly I was not too sure how much work I would invest in duplicating the functionality of Mongo --- if one were to use GemStone/S instead of Mongo one could leverage the fact that Smalltalk is available on the server-side which would lead to a completely different model ....
>>>>>>
>>>>>> Anyway, if you were looking to do something along the lines of Tugrik then perhaps we should collaborate --- a "seamless integegration between Pharo and GemStone with GT-based tools in Pharo" is very appealing to me and I'd be willing to redirect my focus on that instead of Tugrik....
>>>>>>
>>>>>> Of course you could be thinking of something entirely different :)
>>>>>> Dale
>>>>>>
>>>>>> [1] https://downloads.gemtalksystems.com/docs/GemStone64/3.3.x/GS64-GemBuilderforC-3.3.pdf
>>>>>> [2] https://gemtalksystems.com/products/gbs-vw/
>>>>>> About the port to UFFI, the API has changed a bit, but we can still easily map it to the existing one. For example:
>>>>>> Thanks,
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "If you can't say why something is relevant,
>>>>>> it probably isn't."
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "We can create beautiful models in a vacuum.
>>>>>> But, to get them effective we have to deal with the inconvenience of reality."
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "Obvious things are difficult to teach."
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>> www.feenk.com
>>>>>>
>>>>>> "Not knowing how to do something is not an argument for how it cannot be done."
>>>>>>
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.com
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>> --
>>>>> www.tudorgirba.com
>>>>> www.feenk.com
>>>>>
>>>>> "Presenting is storytelling."
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Mariano
>>>>> http://marianopeck.wordpress.com
>>>>> --
>>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>> --
>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>>
>>>>
>>>> --
>>>> Mariano
>>>> http://marianopeck.wordpress.com
>>>>
>>>>
>>>>
>>>> --
>>>> Mariano
>>>> http://marianopeck.wordpress.com
>>>> --
>>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> Mariano
>>> http://marianopeck.wordpress.com
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "tODE" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
>>> For more options, visit https://groups.google.com/d/optout.
>> --
>> www.tudorgirba.com
>> www.feenk.com
>>
>> "Not knowing how to do something is not an argument for how it cannot be done."
>>
>
> --
> You received this message because you are subscribed to the Google Groups "tODE" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
> For more options, visit https://groups.google.com/d/optout.

--
www.tudorgirba.com
www.feenk.com

"Reasonable is what we are accustomed with."

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
For more options, visit https://groups.google.com/d/optout.



--
--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email][hidden email].
For more options, visit https://groups.google.com/d/optout.



--
--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Dale Henrichs-3


On 04/05/2016 03:48 PM, Mariano Martinez Peck wrote:


On Tue, Apr 5, 2016 at 7:34 PM, Dale Henrichs <[hidden email]> wrote:
Okay, I've manually pulled in Esteban's package so presumably I'll be good to go now ...


Sorry, I forgot to document that part. Yes, you needed latest package version from UFFI as it is not yet integrated into Pharo. Note that I hope that latest UFFI would be integrated in Pharo 5.0 before release. But as for now, bringing latest UFFI is the way to go. 

I've reached the point in my smalltalkCI/GsDevKit_home work where I need a live example to work with and I was hoping to be able to build travis-ci test cases for Pharo 3-5, but with manual patching it will be a challenge to get the tests runnable on travis ---- but there needs to be a way :)


Well... for my CI on Travis for OSSubprocess and FFIExternalCHeader, since they were targeted for 5.0, I was always having to somehow patch latest image. This was because there was always something that I missed, or found a bug, or I was using not yet integrated UFFI or whatever.... So... besides this particular case, when you target the unstable release (in this case, Pharo 5.0), I think it is very frequent to be able to "patch" the fresh image. 


haha, you misinterpretted my "but there needs to be a way" ... I have evil plans to make it possible to run travis tests when the project needs this kind of patching ... just because things are patched shouldn't keep you from being able to utilize travis for testing... but we'll see how var I get with evil plans ... right now I haven't got the pharo30/40 stuff working:)
BTW, I just finished doing the merge between your 50 and my master branch ... and I'm just at the point of running tests for PHaro4.0 and Pharo5.0 :) manually for now...

Dale

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Dale Henrichs-3
Well, I've hit one of the major milestones: travis job that runs both client and server tests[1] --- the client in this case is not using GCI to connect to the stone (it's not connecting at all), but GsDevKit_home is building and launching a Pharo5.0 client ... I have already run local tests with smalltalkCI to use the same mechanism for launching and testing GemStone-GCI (which is now running green for Pharo3.0, 4.0 and 50) ... still some work to do before GemStone-GCI can be tested on Travis, but I'm over the hump!

Dale

[1] https://travis-ci.org/dalehenrich/smalltalkCI/jobs/121343559

On 04/05/2016 04:02 PM, Dale Henrichs wrote:


On 04/05/2016 03:48 PM, Mariano Martinez Peck wrote:


On Tue, Apr 5, 2016 at 7:34 PM, Dale Henrichs <[hidden email]> wrote:
Okay, I've manually pulled in Esteban's package so presumably I'll be good to go now ...


Sorry, I forgot to document that part. Yes, you needed latest package version from UFFI as it is not yet integrated into Pharo. Note that I hope that latest UFFI would be integrated in Pharo 5.0 before release. But as for now, bringing latest UFFI is the way to go. 

I've reached the point in my smalltalkCI/GsDevKit_home work where I need a live example to work with and I was hoping to be able to build travis-ci test cases for Pharo 3-5, but with manual patching it will be a challenge to get the tests runnable on travis ---- but there needs to be a way :)


Well... for my CI on Travis for OSSubprocess and FFIExternalCHeader, since they were targeted for 5.0, I was always having to somehow patch latest image. This was because there was always something that I missed, or found a bug, or I was using not yet integrated UFFI or whatever.... So... besides this particular case, when you target the unstable release (in this case, Pharo 5.0), I think it is very frequent to be able to "patch" the fresh image. 


haha, you misinterpretted my "but there needs to be a way" ... I have evil plans to make it possible to run travis tests when the project needs this kind of patching ... just because things are patched shouldn't keep you from being able to utilize travis for testing... but we'll see how var I get with evil plans ... right now I haven't got the pharo30/40 stuff working:)
BTW, I just finished doing the merge between your 50 and my master branch ... and I'm just at the point of running tests for PHaro4.0 and Pharo5.0 :) manually for now...

Dale

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Stephan Eggermont-3
In reply to this post by Dale Henrichs-3
Hi Dale,

What kinds of objects am I actually supposed to be able to convert to a local object? 
Where do I find out about that?

Stephan

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Dale Henrichs-3


On 04/08/2016 09:59 AM, Stephan Eggermont wrote:
> Hi Dale,
>
> What kinds of objects am I actually supposed to be able to convert to
> a local object?
> Where do I find out about that?
>
I guess you are asking about objects beyond the specials that are
already converted  (special objects and byte objects)?

Well that is where GBS comes into play ... with GBS (and traversal
buffers) you can create local objects from just about anything that is
the GemStone server repository (see GBS docs for details) ...

The GCI has no facility  for creating local object copies of server-side
objects, so each user of the GCI has to roll their own technique ...

tODE and Tugrik both use STON to serialize objects between the server
and client (for going both directions), but you need to be careful that
you don't send too much ...

tODE pretty much restricts the objects to the classes in the
TodeClientElement hierarchy where the objects being passed back and
forth are fairly well known and pretty strictly controlled ... the oops
of the more complex objects like blocks are used to provide "remote
procedure call" services for server-side objects.

Tugrik also works with a restricted set of objects that are being
serialized by STON as well (at least as far as I've gotten so far) ...

Are you working with Doru or do you have other plans for the
GemStone-GCI project?

If you are working with Doru, then I think the approach will be to build
objects similar to the TodeClientElements that have oops of blocks and
perhaps tools instances and work is done on the server by evaluating
blocks on server passing in args  with well-controlled types, or sending
remote message to server-side objects again controlling the types of
objects passed as arguments ...

If you are thinking of doing some sort of generic client-side proxies,
then the general case is pretty complicated to solve (that is what GBS
was invented for) ... My Tugrik project is kind of headed in the that
direction -- ultimately --- my plan is to eventually develop some sort
of limited proxy capabilities that provide a bit more utility than a
Mongo backend, but not approaching the generic GBS replication ...

Dale

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Stephan Eggermont-3


On Friday, April 8, 2016 at 9:07:07 PM UTC+2, Dale Henrichs wrote:
I guess you are asking about objects beyond the specials that are
already converted  (special objects and byte objects)?

Yes, I was able to get strings/symbols/numbers out well. And yes, the traversal
buffers of GBS look nice.
 
tODE and Tugrik both use STON to serialize objects between the server
and client (for going both directions), but you need to be careful that
you don't send too much ...

Ok, that looks workable.
 
Are you working with Doru or do you have other plans for the
GemStone-GCI project?

Looking with Doru at GT-Inspector for Gemstone, yes.
 
If you are working with Doru, then I think the approach will be to build
objects similar to the TodeClientElements that have oops of blocks and
perhaps tools instances and work is done on the server by evaluating
blocks on server passing in args  with well-controlled types, or sending
remote message to server-side objects again controlling the types of
objects passed as arguments ...
 
Ah yes, I'll try that.

Thanks,
  Stephan

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Dale Henrichs-3


On 04/08/2016 12:42 PM, Stephan Eggermont wrote:


On Friday, April 8, 2016 at 9:07:07 PM UTC+2, Dale Henrichs wrote:
I guess you are asking about objects beyond the specials that are
already converted  (special objects and byte objects)?

Yes, I was able to get strings/symbols/numbers out well. And yes, the traversal
buffers of GBS look nice.
 
tODE and Tugrik both use STON to serialize objects between the server
and client (for going both directions), but you need to be careful that
you don't send too much ...

Ok, that looks workable.
 
Are you working with Doru or do you have other plans for the
GemStone-GCI project?

Looking with Doru at GT-Inspector for Gemstone, yes.
 
In that case, you may want to wait just a bit more as I plan to provide a minimal tODE api for GemStone-GCI and Pharo5.0 ... it will properly log into tODE (there is a wire version protocol that needs to be negotiated) and setup the bare minimum needed to communicate with tODE --- I've all but wrapped up my smalltalkCI and GsDevKit_home generic pharo client work --- pretty much documentation and pull requests are all that's left --- a couple of days now ...

In the meantime, in tODE you could do the following:

  eval `Dictionary new`; edit

and in the Inspector window that pops up, select the "Window > inspect client element" menu item to bring up a client element instance used to produce the inspector window and you can see how tODE manages things ... if you want I can tell you a good place to put a halt in a Pharo3.0 tode client to see what happens to the client element once it gets to the client ...

I can answer any questions you might have about what's going ...

Dale

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Mariano Martinez Peck
Hi Dale,

Just to say that I am happy to see all the progress made :)

On Fri, Apr 8, 2016 at 5:05 PM, Dale Henrichs <[hidden email]> wrote:


On 04/08/2016 12:42 PM, Stephan Eggermont wrote:


On Friday, April 8, 2016 at 9:07:07 PM UTC+2, Dale Henrichs wrote:
I guess you are asking about objects beyond the specials that are
already converted  (special objects and byte objects)?

Yes, I was able to get strings/symbols/numbers out well. And yes, the traversal
buffers of GBS look nice.
 
tODE and Tugrik both use STON to serialize objects between the server
and client (for going both directions), but you need to be careful that
you don't send too much ...

Ok, that looks workable.
 
Are you working with Doru or do you have other plans for the
GemStone-GCI project?

Looking with Doru at GT-Inspector for Gemstone, yes.
 
In that case, you may want to wait just a bit more as I plan to provide a minimal tODE api for GemStone-GCI and Pharo5.0 ... it will properly log into tODE (there is a wire version protocol that needs to be negotiated) and setup the bare minimum needed to communicate with tODE --- I've all but wrapped up my smalltalkCI and GsDevKit_home generic pharo client work --- pretty much documentation and pull requests are all that's left --- a couple of days now ...

In the meantime, in tODE you could do the following:

  eval `Dictionary new`; edit

and in the Inspector window that pops up, select the "Window > inspect client element" menu item to bring up a client element instance used to produce the inspector window and you can see how tODE manages things ... if you want I can tell you a good place to put a halt in a Pharo3.0 tode client to see what happens to the client element once it gets to the client ...

I can answer any questions you might have about what's going ...

Dale

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Dale Henrichs-3
In reply to this post by Dale Henrichs-3
Mariano, Stephan, Doru,

I've just pushed an update to the GemStone-GCI project with updated
installation[1] and usage instructions[2].

The new instructions are based on leveraging my recent work with
SmalltalkCI[3] and GsDevKit_home[4].

The upshot for you guys is that it is possible to:

   - create GemStone-GCI client images and stones using local git clones
that are shared
     by both the stone and client
   - the GemStone GCI libraries needed by the client are automatically
installed and updates
     when new versions of GemStone are created
   - the client tests are run against the stone of your choosing and you
can use command line
     args on the $GS_HOME/startClient command to specify which stone you
want to log into
   - run batch test jobs where the test results are nicely displayed
(attached image)

Sooo next up for me is to work on the minimal tODE api that uses
GemStone-GCI to log into tODE ...

Are you guys still interested? If not, I've got plenty of other work
that is calling for my attention:)

Dale

[1]
https://github.com/GsDevKit/GemStone-GCI/blob/master/README.md#installation
[2]
https://github.com/GsDevKit/GemStone-GCI/blob/master/README.md#create-a-gemstone-gci-stone-and-pharo50-client
[3] https://github.com/hpi-swa/smalltalkCI/pull/123
[4] https://github.com/GsDevKit/GsDevKit_home/pull/100

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

localClientServerTestResults.png (89K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Mariano Martinez Peck
Hi Dale,

What a fantastic job!!! Congrats! Very cool. Having a decoupled (project agnostic) pharo client for GemStone is very very cool. And I love all the CI infrastructure.

Thanks! 

On Fri, Apr 15, 2016 at 2:51 PM, Dale Henrichs <[hidden email]> wrote:
Mariano, Stephan, Doru,

I've just pushed an update to the GemStone-GCI project with updated installation[1] and usage instructions[2].

The new instructions are based on leveraging my recent work with SmalltalkCI[3] and GsDevKit_home[4].

The upshot for you guys is that it is possible to:

  - create GemStone-GCI client images and stones using local git clones that are shared
    by both the stone and client
  - the GemStone GCI libraries needed by the client are automatically installed and updates
    when new versions of GemStone are created
  - the client tests are run against the stone of your choosing and you can use command line
    args on the $GS_HOME/startClient command to specify which stone you want to log into
  - run batch test jobs where the test results are nicely displayed (attached image)

Sooo next up for me is to work on the minimal tODE api that uses GemStone-GCI to log into tODE ...

Are you guys still interested? If not, I've got plenty of other work that is calling for my attention:)

Dale

[1] https://github.com/GsDevKit/GemStone-GCI/blob/master/README.md#installation
[2] https://github.com/GsDevKit/GemStone-GCI/blob/master/README.md#create-a-gemstone-gci-stone-and-pharo50-client
[3] https://github.com/hpi-swa/smalltalkCI/pull/123
[4] https://github.com/GsDevKit/GsDevKit_home/pull/100


--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Dale Henrichs-3


On 04/15/2016 11:14 AM, Mariano Martinez Peck wrote:
> Hi Dale,
>
> What a fantastic job!!! Congrats! Very cool. Having a decoupled
> (project agnostic) pharo client for GemStone is very very cool. And I
> love all the CI infrastructure.
>
> Thanks!
>
Yes, I am pretty excited by these developments

--- multi-client testing on travis dovetailed with creating multiple
local clients for GsDevKit_home
--- the .smalltalk.ston file provides a cross platform way of SPECIFYING
a Metacello load, the tests to be run and the stone configuration info
--- which then makes it possible to run CI tests locally using existing
stones/clients within GsDevKit_home ...

There are some optimizations (i.e., sharing client smalltalk vms) that
need to be done --- but I can't spend all of my time on infrastructure
alone as I've got a number of balls in the air that need to stay in the
air:)

Dale

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Stephan Eggermont-3
In reply to this post by Dale Henrichs-3


On 15/04/16 19:51, Dale Henrichs wrote:
> I've just pushed an update to the GemStone-GCI project with updated
> installation[1] and usage instructions[2].
Nice.
> Are you guys still interested? If not, I've got plenty of other work
> that is calling for my attention:)
I made some progress with a proxy for an inspector node, looking up for
a given oop the instvars
of the object and returning their oop and inspectorName.

Stephan

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Dale Henrichs-3
Do you have code to share? Did you look at the TodeClientElement? You
can start racking up round trips (very expensive over the WAN) if you
are accessing individual oops -- which is why I've gone the
TodeClientElement route --- somewhat like Seaside in that the server is
generating the information ... a good way to get your feet wet,
nonetheless !

I'll start delving into the minimal tode api over the weekend ....

Dale

On 4/15/16 3:28 PM, Stephan Eggermont wrote:

>
>
> On 15/04/16 19:51, Dale Henrichs wrote:
>> I've just pushed an update to the GemStone-GCI project with updated
>> installation[1] and usage instructions[2].
> Nice.
>> Are you guys still interested? If not, I've got plenty of other work
>> that is calling for my attention:)
> I made some progress with a proxy for an inspector node, looking up
> for a given oop the instvars
> of the object and returning their oop and inspectorName.
>
> Stephan
>

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Tudor Girba-2
Hi Dale,

We are still very interested in the minimal tODE API.

What Stephan is saying is that for the use case of inspecting 1 object, you need 1 starting oop. The result of the call is another object that collects all information needed for displaying a view on that object, so we want to do the least amount of round-tripping we can :). But, in any case, learning from tODE is a useful thing and we would benefit from the API.

Cheers,
Doru


> On Apr 16, 2016, at 3:37 AM, Dale Henrichs <[hidden email]> wrote:
>
> Do you have code to share? Did you look at the TodeClientElement? You can start racking up round trips (very expensive over the WAN) if you are accessing individual oops -- which is why I've gone the TodeClientElement route --- somewhat like Seaside in that the server is generating the information ... a good way to get your feet wet, nonetheless !
>
> I'll start delving into the minimal tode api over the weekend ....
>
> Dale
>
> On 4/15/16 3:28 PM, Stephan Eggermont wrote:
>>
>>
>> On 15/04/16 19:51, Dale Henrichs wrote:
>>> I've just pushed an update to the GemStone-GCI project with updated installation[1] and usage instructions[2].
>> Nice.
>>> Are you guys still interested? If not, I've got plenty of other work that is calling for my attention:)
>> I made some progress with a proxy for an inspector node, looking up for a given oop the instvars
>> of the object and returning their oop and inspectorName.
>>
>> Stephan
>>
>
> --
> You received this message because you are subscribed to the Google Groups "tODE" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
> For more options, visit https://groups.google.com/d/optout.

--
www.tudorgirba.com
www.feenk.com

"Problem solving efficiency grows with the abstractness level of problem understanding."




--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Dale Henrichs-3


On 4/16/16 3:11 PM, Tudor Girba wrote:
> Hi Dale,
>
> We are still very interested in the minimal tODE API.
>
> What Stephan is saying is that for the use case of inspecting 1 object, you need 1 starting oop. The result of the call is another object that collects all information needed for displaying a view on that object, so we want to do the least amount of round-tripping we can :). But, in any case, learning from tODE is a useful thing and we would benefit from the API.
I understand, but at least in tODE, the server "knows" that an inspector
is desired - the object receives the #inspect message on the server and
that message triggers a lookup within tODE for the inspector builder and
the inspector builder creates a fully-populated TodeClientElement (with
a fully populated set of fields for the inspector viewer on the client),
so basically there is no need for the initial round trip to build up a
view of the object --- the basic display object can be created right off
the bat ... this is the essence of the "Ultra Thin Client" model used
for tODE ...

So in your use case, you _could_ install a custom builder for the
inspector to create a client element with the fields that you need for
your inspector --- which is a function of the type of operations you
expect to perform on the object ...

This is where some shared example code (ideally on GitHub) would make it
easier to illustrate what I'm talking about ...

You are free to build your api in any way that you'd like, but I
**have** constructed tODE to allow for custom GUI's so it is probably
worth keeping that in mind as you move forward ...

Dale

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Dale Henrichs-3
In reply to this post by Mariano Martinez Peck
Mariano,

I've got the following declaration and I'm not sure how to declare

   GciSaveObjs(const OopType theOops[], int numOops);

using UFFI ... I've poked around a little bit and didn't see any
examples in the tests and thought you might know offhand.

Thanks in advance,

Dale


   /*
==========================================================================
  *  GciSaveObjs                 (behavior has changed in Gemstone64)
  *
  *  If called from a user action
  *     adds specified objects to the user action's exportSet,
  *  else
  *    adds the specified objects to the sessions internal PureExportSet.
  *    to prevent their being garabage collected.
  *
  *  The user action's export set does not contributed to objects appearing
  *  in the ExportedDirtyObjs set .
  *
  *  This will prevent Gemstone garbage collection from causing
  *  the objects to disappear during a session because they are
unreferenced.
  *  Does NOT cause the objects to be referenced from a permanent object,
  *  and thus there is no guarantee that they will be saved to disk at
commit.
  *
  *   Note that for results of GciNew*, GciCreate*, GciSend*, GciPerform*,
  *   GciExecute* GciResolve*  and GciI64ToOop
  *   an automatic GciSaveObjs() is performed with the results as argument.
  *   GciRelease* calls may be used to cancel the effect of a
GciSaveObjs call,
  *   thus making objects eligible for garbage collection.
  *
  *   See also GciDirtyExportedObjs() .
  *
  *    arguments: theOops, an array of oops,
  *               numOops, the number of elements in theOops
  *
==========================================================================
  */
   GCI_ALIGN_STACK EXTERN_GCI_DEC(void)
GciSaveObjs(const OopType theOops[], int numOops);


--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [tode_st] tODE & GCI in Pharo 5?

Mariano Martinez Peck
Good question. I really don't know. I am asking Esteban. Will let you know.

The obvious mapping does not work, does it?

 self ffiCall: #( GciSaveObjs(GsGciOopType[] theOops,  int numOops) )

Btw...is there a unit test I could run once I have a solution? 

Thanks!




On Sun, Apr 17, 2016 at 12:57 PM, Dale Henrichs <[hidden email]> wrote:
Mariano,

I've got the following declaration and I'm not sure how to declare

  GciSaveObjs(const OopType theOops[], int numOops);

using UFFI ... I've poked around a little bit and didn't see any examples in the tests and thought you might know offhand.

Thanks in advance,

Dale


  /* ==========================================================================
 *  GciSaveObjs                 (behavior has changed in Gemstone64)
 *
 *  If called from a user action
 *     adds specified objects to the user action's exportSet,
 *  else
 *    adds the specified objects to the sessions internal PureExportSet.
 *    to prevent their being garabage collected.
 *
 *  The user action's export set does not contributed to objects appearing
 *  in the ExportedDirtyObjs set .
 *
 *  This will prevent Gemstone garbage collection from causing
 *  the objects to disappear during a session because they are unreferenced.
 *  Does NOT cause the objects to be referenced from a permanent object,
 *  and thus there is no guarantee that they will be saved to disk at commit.
 *
 *   Note that for results of GciNew*, GciCreate*, GciSend*, GciPerform*,
 *   GciExecute* GciResolve*  and GciI64ToOop
 *   an automatic GciSaveObjs() is performed with the results as argument.
 *   GciRelease* calls may be used to cancel the effect of a GciSaveObjs call,
 *   thus making objects eligible for garbage collection.
 *
 *   See also GciDirtyExportedObjs() .
 *
 *    arguments: theOops, an array of oops,
 *               numOops, the number of elements in theOops
 * ==========================================================================
 */
  GCI_ALIGN_STACK EXTERN_GCI_DEC(void)
GciSaveObjs(const OopType theOops[], int numOops);



--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.



--

--
You received this message because you are subscribed to the Google Groups "tODE" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
12345