[ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

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

[ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

tesonep@gmail.com
TL;DR;
======

For the anxious, you can get real headless vm and image from zero-conf.

$ wget get.pharo.org/64/80+vmHeadlessLatest | bash

Zero conf scripts remain unchanged for users.

However, if you are launching the VM by hand from the executable
instead of the launcher scripts (pharo and pharo-ui) as in

$ ./pharoexecutable Pharo.image

the image will launch in headless mode and will not open a window.
To launch it in headfull, you can use the --interactive argument after
the image, which will make the image open a window using SDL2.

$ ./pharoexecutable Pharo.image --interactive

Long version
============

Hi, this mail is the happy intermediate result of the work that us,
the Pharo Consortium Team, has been doing in the last couple of
months.
Our main objective is to have a real headless implementation of Pharo
where all the responsibility to open or not a World window (or other)
is handled by the image.
For doing so we have done a series of modifications in the image and
the VM side.
We consider this is the path that Pharo 8 and following versions
should follow, as it will severely improve server-side and command
line Pharo and in building custom desktop applications.

These modifications are available only in 64-bits machines (Windows,
OSX, and Linux).
ARM32 and 64bits headless is in the roadmap, but it is delayed because
we have prioritized our three major platforms for this first couple of
months.

All this work is based in Opensmalltalk-VM and Ronnie's initial work
on headless.
We are really grateful to all the contributors in the history of this
nice product.
To achieve a real headless VM we have brought modifications in the
source tree because most of the platform code to open and manipulate
windows is not required anymore.
Instead, we use the SDL2 library that implements a nice layer on top
of the OS and allows us to manage on the image side through FFI.

So this mail is now an open call for (beta?)testing.
The sources of the current VM we are building are in the headless branch in
  https://github.com/pharo-project/opensmalltalk-vm
And we have set up a CI that is both building and testing the VM in
  https://ci.inria.fr/pharo-ci-jenkins2/job/pharo-vm/job/headless/

For the future we have a lot of ideas, that will wait for another long
email or a beer-talk @ESUG.
We want to hear your ideas!!

Image-Side Improvements
=======================

- The image handles the creation or not of the main world window.
- We incorporated the idea of World renderer, where different backends
are used to render the world.
- We have 3 backends: VM support (compatibility with non-headless
VMs), and OSWindow with two backends: SDL and GTK3+.
- The modifications in the image are fully backward compatible with
the non-headless VM and are pushed since weeks in the latest 8.0
image.
- We move the handling of events to the image side when using SDL and
GTK3+, opening the door to a richer set of events and finer-grained
control over them.
- SDL and GTK versions are implemented using FFI calls.

VM-Side Improvements
====================

- VMMaker code migrated to Tonel thanks to Feenk and included in the
repository of the VM.
- Making VMMaker execute in Pharo 7 and 8.
- Removing GPL code from the VM repository (GDB).

- Slowly adding new tests for the JIT / Slang and VMGeneration.
- Restructuring of the source code.
- A new simpler CMake build.
- Generate VM code from Slang on each build.
- A CI process to validate (including the run of the tests in Pharo
and the ones adding to the VM).
- Simplification of the codebase.

- Maximize the reuse of code between the platforms (preferring the
standard versions over the platform-specific).
- Cleaning up duplicated code.
- All the plugins are now external plugins.
- The VM is now a dynamic library. This is a first step towards
embedding Pharo into other applications.
- The main executable is a thin frontend (you can change it or
implement your own).

- Removing unused plugins.
- Improved crash dump. Especially the crash dump works now in Windows 64bits.
- Dummy implementation of Security plugin (it is going away.... eventually).
- Cleanup of SSL, UUID, and Socket plugin.

- Cleanup of conditional code (Still to improve).
- Improving the types used in the functions (we have to be neat to be
multiplatform/multi-arch).
- Improving the lookup of modules
- Improving the logging of the VM
- Improving the handling of VM arguments


Thanks a lot for reading so long!!
We hope you enjoy the VM and please tell us all the problems you find!!

Pablo, Guille, and Esteban

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

Tudor Girba-2
Excellent news!

I should say that for GT we are currently using the minheadlessVM (Ronie’s work) out of the opensmalltalk-vm repo (https://bintray.com/opensmalltalk/vm/cog) and it works remarkably well.

We started to play with your minheadlessVM. So far it looks like there are differences, although I am sure they are not large.

So, what is the difference between the minheadlessVM built by you versus the one from opensmalltalk-vm?

Cheers,
Doru


> On Aug 8, 2019, at 9:53 AM, [hidden email] wrote:
>
> TL;DR;
> ======
>
> For the anxious, you can get real headless vm and image from zero-conf.
>
> $ wget get.pharo.org/64/80+vmHeadlessLatest | bash
>
> Zero conf scripts remain unchanged for users.
>
> However, if you are launching the VM by hand from the executable
> instead of the launcher scripts (pharo and pharo-ui) as in
>
> $ ./pharoexecutable Pharo.image
>
> the image will launch in headless mode and will not open a window.
> To launch it in headfull, you can use the --interactive argument after
> the image, which will make the image open a window using SDL2.
>
> $ ./pharoexecutable Pharo.image --interactive
>
> Long version
> ============
>
> Hi, this mail is the happy intermediate result of the work that us,
> the Pharo Consortium Team, has been doing in the last couple of
> months.
> Our main objective is to have a real headless implementation of Pharo
> where all the responsibility to open or not a World window (or other)
> is handled by the image.
> For doing so we have done a series of modifications in the image and
> the VM side.
> We consider this is the path that Pharo 8 and following versions
> should follow, as it will severely improve server-side and command
> line Pharo and in building custom desktop applications.
>
> These modifications are available only in 64-bits machines (Windows,
> OSX, and Linux).
> ARM32 and 64bits headless is in the roadmap, but it is delayed because
> we have prioritized our three major platforms for this first couple of
> months.
>
> All this work is based in Opensmalltalk-VM and Ronnie's initial work
> on headless.
> We are really grateful to all the contributors in the history of this
> nice product.
> To achieve a real headless VM we have brought modifications in the
> source tree because most of the platform code to open and manipulate
> windows is not required anymore.
> Instead, we use the SDL2 library that implements a nice layer on top
> of the OS and allows us to manage on the image side through FFI.
>
> So this mail is now an open call for (beta?)testing.
> The sources of the current VM we are building are in the headless branch in
>  https://github.com/pharo-project/opensmalltalk-vm
> And we have set up a CI that is both building and testing the VM in
>  https://ci.inria.fr/pharo-ci-jenkins2/job/pharo-vm/job/headless/
>
> For the future we have a lot of ideas, that will wait for another long
> email or a beer-talk @ESUG.
> We want to hear your ideas!!
>
> Image-Side Improvements
> =======================
>
> - The image handles the creation or not of the main world window.
> - We incorporated the idea of World renderer, where different backends
> are used to render the world.
> - We have 3 backends: VM support (compatibility with non-headless
> VMs), and OSWindow with two backends: SDL and GTK3+.
> - The modifications in the image are fully backward compatible with
> the non-headless VM and are pushed since weeks in the latest 8.0
> image.
> - We move the handling of events to the image side when using SDL and
> GTK3+, opening the door to a richer set of events and finer-grained
> control over them.
> - SDL and GTK versions are implemented using FFI calls.
>
> VM-Side Improvements
> ====================
>
> - VMMaker code migrated to Tonel thanks to Feenk and included in the
> repository of the VM.
> - Making VMMaker execute in Pharo 7 and 8.
> - Removing GPL code from the VM repository (GDB).
>
> - Slowly adding new tests for the JIT / Slang and VMGeneration.
> - Restructuring of the source code.
> - A new simpler CMake build.
> - Generate VM code from Slang on each build.
> - A CI process to validate (including the run of the tests in Pharo
> and the ones adding to the VM).
> - Simplification of the codebase.
>
> - Maximize the reuse of code between the platforms (preferring the
> standard versions over the platform-specific).
> - Cleaning up duplicated code.
> - All the plugins are now external plugins.
> - The VM is now a dynamic library. This is a first step towards
> embedding Pharo into other applications.
> - The main executable is a thin frontend (you can change it or
> implement your own).
>
> - Removing unused plugins.
> - Improved crash dump. Especially the crash dump works now in Windows 64bits.
> - Dummy implementation of Security plugin (it is going away.... eventually).
> - Cleanup of SSL, UUID, and Socket plugin.
>
> - Cleanup of conditional code (Still to improve).
> - Improving the types used in the functions (we have to be neat to be
> multiplatform/multi-arch).
> - Improving the lookup of modules
> - Improving the logging of the VM
> - Improving the handling of VM arguments
>
>
> Thanks a lot for reading so long!!
> We hope you enjoy the VM and please tell us all the problems you find!!
>
> Pablo, Guille, and Esteban
>

--
feenk.com

"Being happy is a matter of choice."







Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

Santiago Bragagnolo
In reply to this post by tesonep@gmail.com
Hey! I just see this email! This is exciting! 
<3 <3 <3 <3 

El jue., 8 ago. 2019 a las 9:54, [hidden email] (<[hidden email]>) escribió:
TL;DR;
======

For the anxious, you can get real headless vm and image from zero-conf.

$ wget get.pharo.org/64/80+vmHeadlessLatest | bash

Zero conf scripts remain unchanged for users.

However, if you are launching the VM by hand from the executable
instead of the launcher scripts (pharo and pharo-ui) as in

$ ./pharoexecutable Pharo.image

the image will launch in headless mode and will not open a window.
To launch it in headfull, you can use the --interactive argument after
the image, which will make the image open a window using SDL2.

$ ./pharoexecutable Pharo.image --interactive

Long version
============

Hi, this mail is the happy intermediate result of the work that us,
the Pharo Consortium Team, has been doing in the last couple of
months.
Our main objective is to have a real headless implementation of Pharo
where all the responsibility to open or not a World window (or other)
is handled by the image.
For doing so we have done a series of modifications in the image and
the VM side.
We consider this is the path that Pharo 8 and following versions
should follow, as it will severely improve server-side and command
line Pharo and in building custom desktop applications.

These modifications are available only in 64-bits machines (Windows,
OSX, and Linux).
ARM32 and 64bits headless is in the roadmap, but it is delayed because
we have prioritized our three major platforms for this first couple of
months.

All this work is based in Opensmalltalk-VM and Ronnie's initial work
on headless.
We are really grateful to all the contributors in the history of this
nice product.
To achieve a real headless VM we have brought modifications in the
source tree because most of the platform code to open and manipulate
windows is not required anymore.
Instead, we use the SDL2 library that implements a nice layer on top
of the OS and allows us to manage on the image side through FFI.

So this mail is now an open call for (beta?)testing.
The sources of the current VM we are building are in the headless branch in
  https://github.com/pharo-project/opensmalltalk-vm
And we have set up a CI that is both building and testing the VM in
  https://ci.inria.fr/pharo-ci-jenkins2/job/pharo-vm/job/headless/

For the future we have a lot of ideas, that will wait for another long
email or a beer-talk @ESUG.
We want to hear your ideas!!

Image-Side Improvements
=======================

- The image handles the creation or not of the main world window.
- We incorporated the idea of World renderer, where different backends
are used to render the world.
- We have 3 backends: VM support (compatibility with non-headless
VMs), and OSWindow with two backends: SDL and GTK3+.
- The modifications in the image are fully backward compatible with
the non-headless VM and are pushed since weeks in the latest 8.0
image.
- We move the handling of events to the image side when using SDL and
GTK3+, opening the door to a richer set of events and finer-grained
control over them.
- SDL and GTK versions are implemented using FFI calls.

VM-Side Improvements
====================

- VMMaker code migrated to Tonel thanks to Feenk and included in the
repository of the VM.
- Making VMMaker execute in Pharo 7 and 8.
- Removing GPL code from the VM repository (GDB).

- Slowly adding new tests for the JIT / Slang and VMGeneration.
- Restructuring of the source code.
- A new simpler CMake build.
- Generate VM code from Slang on each build.
- A CI process to validate (including the run of the tests in Pharo
and the ones adding to the VM).
- Simplification of the codebase.

- Maximize the reuse of code between the platforms (preferring the
standard versions over the platform-specific).
- Cleaning up duplicated code.
- All the plugins are now external plugins.
- The VM is now a dynamic library. This is a first step towards
embedding Pharo into other applications.
- The main executable is a thin frontend (you can change it or
implement your own).

- Removing unused plugins.
- Improved crash dump. Especially the crash dump works now in Windows 64bits.
- Dummy implementation of Security plugin (it is going away.... eventually).
- Cleanup of SSL, UUID, and Socket plugin.

- Cleanup of conditional code (Still to improve).
- Improving the types used in the functions (we have to be neat to be
multiplatform/multi-arch).
- Improving the lookup of modules
- Improving the logging of the VM
- Improving the handling of VM arguments


Thanks a lot for reading so long!!
We hope you enjoy the VM and please tell us all the problems you find!!

Pablo, Guille, and Esteban

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

ducasse
In reply to this post by Tudor Girba-2


> On 11 Aug 2019, at 13:19, Tudor Girba <[hidden email]> wrote:
>
> Excellent news!
>
> I should say that for GT we are currently using the minheadlessVM (Ronie’s work) out of the opensmalltalk-vm repo (https://bintray.com/opensmalltalk/vm/cog) and it works remarkably well.
>
> We started to play with your minheadlessVM. So far it looks like there are differences, although I am sure they are not large.

like what?

>
> So, what is the difference between the minheadlessVM built by you versus the one from opensmalltalk-vm?
>
> Cheers,
> Doru
>
>
>> On Aug 8, 2019, at 9:53 AM, [hidden email] wrote:
>>
>> TL;DR;
>> ======
>>
>> For the anxious, you can get real headless vm and image from zero-conf.
>>
>> $ wget get.pharo.org/64/80+vmHeadlessLatest | bash
>>
>> Zero conf scripts remain unchanged for users.
>>
>> However, if you are launching the VM by hand from the executable
>> instead of the launcher scripts (pharo and pharo-ui) as in
>>
>> $ ./pharoexecutable Pharo.image
>>
>> the image will launch in headless mode and will not open a window.
>> To launch it in headfull, you can use the --interactive argument after
>> the image, which will make the image open a window using SDL2.
>>
>> $ ./pharoexecutable Pharo.image --interactive
>>
>> Long version
>> ============
>>
>> Hi, this mail is the happy intermediate result of the work that us,
>> the Pharo Consortium Team, has been doing in the last couple of
>> months.
>> Our main objective is to have a real headless implementation of Pharo
>> where all the responsibility to open or not a World window (or other)
>> is handled by the image.
>> For doing so we have done a series of modifications in the image and
>> the VM side.
>> We consider this is the path that Pharo 8 and following versions
>> should follow, as it will severely improve server-side and command
>> line Pharo and in building custom desktop applications.
>>
>> These modifications are available only in 64-bits machines (Windows,
>> OSX, and Linux).
>> ARM32 and 64bits headless is in the roadmap, but it is delayed because
>> we have prioritized our three major platforms for this first couple of
>> months.
>>
>> All this work is based in Opensmalltalk-VM and Ronnie's initial work
>> on headless.
>> We are really grateful to all the contributors in the history of this
>> nice product.
>> To achieve a real headless VM we have brought modifications in the
>> source tree because most of the platform code to open and manipulate
>> windows is not required anymore.
>> Instead, we use the SDL2 library that implements a nice layer on top
>> of the OS and allows us to manage on the image side through FFI.
>>
>> So this mail is now an open call for (beta?)testing.
>> The sources of the current VM we are building are in the headless branch in
>> https://github.com/pharo-project/opensmalltalk-vm
>> And we have set up a CI that is both building and testing the VM in
>> https://ci.inria.fr/pharo-ci-jenkins2/job/pharo-vm/job/headless/
>>
>> For the future we have a lot of ideas, that will wait for another long
>> email or a beer-talk @ESUG.
>> We want to hear your ideas!!
>>
>> Image-Side Improvements
>> =======================
>>
>> - The image handles the creation or not of the main world window.
>> - We incorporated the idea of World renderer, where different backends
>> are used to render the world.
>> - We have 3 backends: VM support (compatibility with non-headless
>> VMs), and OSWindow with two backends: SDL and GTK3+.
>> - The modifications in the image are fully backward compatible with
>> the non-headless VM and are pushed since weeks in the latest 8.0
>> image.
>> - We move the handling of events to the image side when using SDL and
>> GTK3+, opening the door to a richer set of events and finer-grained
>> control over them.
>> - SDL and GTK versions are implemented using FFI calls.
>>
>> VM-Side Improvements
>> ====================
>>
>> - VMMaker code migrated to Tonel thanks to Feenk and included in the
>> repository of the VM.
>> - Making VMMaker execute in Pharo 7 and 8.
>> - Removing GPL code from the VM repository (GDB).
>>
>> - Slowly adding new tests for the JIT / Slang and VMGeneration.
>> - Restructuring of the source code.
>> - A new simpler CMake build.
>> - Generate VM code from Slang on each build.
>> - A CI process to validate (including the run of the tests in Pharo
>> and the ones adding to the VM).
>> - Simplification of the codebase.
>>
>> - Maximize the reuse of code between the platforms (preferring the
>> standard versions over the platform-specific).
>> - Cleaning up duplicated code.
>> - All the plugins are now external plugins.
>> - The VM is now a dynamic library. This is a first step towards
>> embedding Pharo into other applications.
>> - The main executable is a thin frontend (you can change it or
>> implement your own).
>>
>> - Removing unused plugins.
>> - Improved crash dump. Especially the crash dump works now in Windows 64bits.
>> - Dummy implementation of Security plugin (it is going away.... eventually).
>> - Cleanup of SSL, UUID, and Socket plugin.
>>
>> - Cleanup of conditional code (Still to improve).
>> - Improving the types used in the functions (we have to be neat to be
>> multiplatform/multi-arch).
>> - Improving the lookup of modules
>> - Improving the logging of the VM
>> - Improving the handling of VM arguments
>>
>>
>> Thanks a lot for reading so long!!
>> We hope you enjoy the VM and please tell us all the problems you find!!
>>
>> Pablo, Guille, and Esteban
>>
>
> --
> feenk.com
>
> "Being happy is a matter of choice."
>
>
>
>
>
>
>



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

Tudor Girba-2
Hi,



> On Aug 11, 2019, at 5:29 PM, ducasse <[hidden email]> wrote:
>
>
>
>> On 11 Aug 2019, at 13:19, Tudor Girba <[hidden email]> wrote:
>>
>> Excellent news!
>>
>> I should say that for GT we are currently using the minheadlessVM (Ronie’s work) out of the opensmalltalk-vm repo (https://bintray.com/opensmalltalk/vm/cog) and it works remarkably well.
>>
>> We started to play with your minheadlessVM. So far it looks like there are differences, although I am sure they are not large.
>
> like what?

I do not know yet, but running GT in headless opens the window with the one from opensmalltalk-vm, but not with the new one. We did not yet look into details, but we will.

Cheers,
Doru


>> So, what is the difference between the minheadlessVM built by you versus the one from opensmalltalk-vm?
>>
>> Cheers,
>> Doru
>>
>>
>>> On Aug 8, 2019, at 9:53 AM, [hidden email] wrote:
>>>
>>> TL;DR;
>>> ======
>>>
>>> For the anxious, you can get real headless vm and image from zero-conf.
>>>
>>> $ wget get.pharo.org/64/80+vmHeadlessLatest | bash
>>>
>>> Zero conf scripts remain unchanged for users.
>>>
>>> However, if you are launching the VM by hand from the executable
>>> instead of the launcher scripts (pharo and pharo-ui) as in
>>>
>>> $ ./pharoexecutable Pharo.image
>>>
>>> the image will launch in headless mode and will not open a window.
>>> To launch it in headfull, you can use the --interactive argument after
>>> the image, which will make the image open a window using SDL2.
>>>
>>> $ ./pharoexecutable Pharo.image --interactive
>>>
>>> Long version
>>> ============
>>>
>>> Hi, this mail is the happy intermediate result of the work that us,
>>> the Pharo Consortium Team, has been doing in the last couple of
>>> months.
>>> Our main objective is to have a real headless implementation of Pharo
>>> where all the responsibility to open or not a World window (or other)
>>> is handled by the image.
>>> For doing so we have done a series of modifications in the image and
>>> the VM side.
>>> We consider this is the path that Pharo 8 and following versions
>>> should follow, as it will severely improve server-side and command
>>> line Pharo and in building custom desktop applications.
>>>
>>> These modifications are available only in 64-bits machines (Windows,
>>> OSX, and Linux).
>>> ARM32 and 64bits headless is in the roadmap, but it is delayed because
>>> we have prioritized our three major platforms for this first couple of
>>> months.
>>>
>>> All this work is based in Opensmalltalk-VM and Ronnie's initial work
>>> on headless.
>>> We are really grateful to all the contributors in the history of this
>>> nice product.
>>> To achieve a real headless VM we have brought modifications in the
>>> source tree because most of the platform code to open and manipulate
>>> windows is not required anymore.
>>> Instead, we use the SDL2 library that implements a nice layer on top
>>> of the OS and allows us to manage on the image side through FFI.
>>>
>>> So this mail is now an open call for (beta?)testing.
>>> The sources of the current VM we are building are in the headless branch in
>>> https://github.com/pharo-project/opensmalltalk-vm
>>> And we have set up a CI that is both building and testing the VM in
>>> https://ci.inria.fr/pharo-ci-jenkins2/job/pharo-vm/job/headless/
>>>
>>> For the future we have a lot of ideas, that will wait for another long
>>> email or a beer-talk @ESUG.
>>> We want to hear your ideas!!
>>>
>>> Image-Side Improvements
>>> =======================
>>>
>>> - The image handles the creation or not of the main world window.
>>> - We incorporated the idea of World renderer, where different backends
>>> are used to render the world.
>>> - We have 3 backends: VM support (compatibility with non-headless
>>> VMs), and OSWindow with two backends: SDL and GTK3+.
>>> - The modifications in the image are fully backward compatible with
>>> the non-headless VM and are pushed since weeks in the latest 8.0
>>> image.
>>> - We move the handling of events to the image side when using SDL and
>>> GTK3+, opening the door to a richer set of events and finer-grained
>>> control over them.
>>> - SDL and GTK versions are implemented using FFI calls.
>>>
>>> VM-Side Improvements
>>> ====================
>>>
>>> - VMMaker code migrated to Tonel thanks to Feenk and included in the
>>> repository of the VM.
>>> - Making VMMaker execute in Pharo 7 and 8.
>>> - Removing GPL code from the VM repository (GDB).
>>>
>>> - Slowly adding new tests for the JIT / Slang and VMGeneration.
>>> - Restructuring of the source code.
>>> - A new simpler CMake build.
>>> - Generate VM code from Slang on each build.
>>> - A CI process to validate (including the run of the tests in Pharo
>>> and the ones adding to the VM).
>>> - Simplification of the codebase.
>>>
>>> - Maximize the reuse of code between the platforms (preferring the
>>> standard versions over the platform-specific).
>>> - Cleaning up duplicated code.
>>> - All the plugins are now external plugins.
>>> - The VM is now a dynamic library. This is a first step towards
>>> embedding Pharo into other applications.
>>> - The main executable is a thin frontend (you can change it or
>>> implement your own).
>>>
>>> - Removing unused plugins.
>>> - Improved crash dump. Especially the crash dump works now in Windows 64bits.
>>> - Dummy implementation of Security plugin (it is going away.... eventually).
>>> - Cleanup of SSL, UUID, and Socket plugin.
>>>
>>> - Cleanup of conditional code (Still to improve).
>>> - Improving the types used in the functions (we have to be neat to be
>>> multiplatform/multi-arch).
>>> - Improving the lookup of modules
>>> - Improving the logging of the VM
>>> - Improving the handling of VM arguments
>>>
>>>
>>> Thanks a lot for reading so long!!
>>> We hope you enjoy the VM and please tell us all the problems you find!!
>>>
>>> Pablo, Guille, and Esteban
>>>
>>
>> --
>> feenk.com
>>
>> "Being happy is a matter of choice."
>>
>>
>>
>>
>>
>>
>>
>
>
>

--
feenk.com

"Speaking louder won't make the point worthier."


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

tesonep@gmail.com
Hi Doru,
    can you give us more insight of the errors? Because there should
not be changes in the behavior of the VM. Maybe there are issues, we
have used the Pharo tests as a guarantee and we are laking some tests.

Cheers,
Pablo.

On Sun, Aug 11, 2019 at 9:04 PM Tudor Girba <[hidden email]> wrote:

>
> Hi,
>
>
>
> > On Aug 11, 2019, at 5:29 PM, ducasse <[hidden email]> wrote:
> >
> >
> >
> >> On 11 Aug 2019, at 13:19, Tudor Girba <[hidden email]> wrote:
> >>
> >> Excellent news!
> >>
> >> I should say that for GT we are currently using the minheadlessVM (Ronie’s work) out of the opensmalltalk-vm repo (https://bintray.com/opensmalltalk/vm/cog) and it works remarkably well.
> >>
> >> We started to play with your minheadlessVM. So far it looks like there are differences, although I am sure they are not large.
> >
> > like what?
>
> I do not know yet, but running GT in headless opens the window with the one from opensmalltalk-vm, but not with the new one. We did not yet look into details, but we will.
>
> Cheers,
> Doru
>
>
> >> So, what is the difference between the minheadlessVM built by you versus the one from opensmalltalk-vm?
> >>
> >> Cheers,
> >> Doru
> >>
> >>
> >>> On Aug 8, 2019, at 9:53 AM, [hidden email] wrote:
> >>>
> >>> TL;DR;
> >>> ======
> >>>
> >>> For the anxious, you can get real headless vm and image from zero-conf.
> >>>
> >>> $ wget get.pharo.org/64/80+vmHeadlessLatest | bash
> >>>
> >>> Zero conf scripts remain unchanged for users.
> >>>
> >>> However, if you are launching the VM by hand from the executable
> >>> instead of the launcher scripts (pharo and pharo-ui) as in
> >>>
> >>> $ ./pharoexecutable Pharo.image
> >>>
> >>> the image will launch in headless mode and will not open a window.
> >>> To launch it in headfull, you can use the --interactive argument after
> >>> the image, which will make the image open a window using SDL2.
> >>>
> >>> $ ./pharoexecutable Pharo.image --interactive
> >>>
> >>> Long version
> >>> ============
> >>>
> >>> Hi, this mail is the happy intermediate result of the work that us,
> >>> the Pharo Consortium Team, has been doing in the last couple of
> >>> months.
> >>> Our main objective is to have a real headless implementation of Pharo
> >>> where all the responsibility to open or not a World window (or other)
> >>> is handled by the image.
> >>> For doing so we have done a series of modifications in the image and
> >>> the VM side.
> >>> We consider this is the path that Pharo 8 and following versions
> >>> should follow, as it will severely improve server-side and command
> >>> line Pharo and in building custom desktop applications.
> >>>
> >>> These modifications are available only in 64-bits machines (Windows,
> >>> OSX, and Linux).
> >>> ARM32 and 64bits headless is in the roadmap, but it is delayed because
> >>> we have prioritized our three major platforms for this first couple of
> >>> months.
> >>>
> >>> All this work is based in Opensmalltalk-VM and Ronnie's initial work
> >>> on headless.
> >>> We are really grateful to all the contributors in the history of this
> >>> nice product.
> >>> To achieve a real headless VM we have brought modifications in the
> >>> source tree because most of the platform code to open and manipulate
> >>> windows is not required anymore.
> >>> Instead, we use the SDL2 library that implements a nice layer on top
> >>> of the OS and allows us to manage on the image side through FFI.
> >>>
> >>> So this mail is now an open call for (beta?)testing.
> >>> The sources of the current VM we are building are in the headless branch in
> >>> https://github.com/pharo-project/opensmalltalk-vm
> >>> And we have set up a CI that is both building and testing the VM in
> >>> https://ci.inria.fr/pharo-ci-jenkins2/job/pharo-vm/job/headless/
> >>>
> >>> For the future we have a lot of ideas, that will wait for another long
> >>> email or a beer-talk @ESUG.
> >>> We want to hear your ideas!!
> >>>
> >>> Image-Side Improvements
> >>> =======================
> >>>
> >>> - The image handles the creation or not of the main world window.
> >>> - We incorporated the idea of World renderer, where different backends
> >>> are used to render the world.
> >>> - We have 3 backends: VM support (compatibility with non-headless
> >>> VMs), and OSWindow with two backends: SDL and GTK3+.
> >>> - The modifications in the image are fully backward compatible with
> >>> the non-headless VM and are pushed since weeks in the latest 8.0
> >>> image.
> >>> - We move the handling of events to the image side when using SDL and
> >>> GTK3+, opening the door to a richer set of events and finer-grained
> >>> control over them.
> >>> - SDL and GTK versions are implemented using FFI calls.
> >>>
> >>> VM-Side Improvements
> >>> ====================
> >>>
> >>> - VMMaker code migrated to Tonel thanks to Feenk and included in the
> >>> repository of the VM.
> >>> - Making VMMaker execute in Pharo 7 and 8.
> >>> - Removing GPL code from the VM repository (GDB).
> >>>
> >>> - Slowly adding new tests for the JIT / Slang and VMGeneration.
> >>> - Restructuring of the source code.
> >>> - A new simpler CMake build.
> >>> - Generate VM code from Slang on each build.
> >>> - A CI process to validate (including the run of the tests in Pharo
> >>> and the ones adding to the VM).
> >>> - Simplification of the codebase.
> >>>
> >>> - Maximize the reuse of code between the platforms (preferring the
> >>> standard versions over the platform-specific).
> >>> - Cleaning up duplicated code.
> >>> - All the plugins are now external plugins.
> >>> - The VM is now a dynamic library. This is a first step towards
> >>> embedding Pharo into other applications.
> >>> - The main executable is a thin frontend (you can change it or
> >>> implement your own).
> >>>
> >>> - Removing unused plugins.
> >>> - Improved crash dump. Especially the crash dump works now in Windows 64bits.
> >>> - Dummy implementation of Security plugin (it is going away.... eventually).
> >>> - Cleanup of SSL, UUID, and Socket plugin.
> >>>
> >>> - Cleanup of conditional code (Still to improve).
> >>> - Improving the types used in the functions (we have to be neat to be
> >>> multiplatform/multi-arch).
> >>> - Improving the lookup of modules
> >>> - Improving the logging of the VM
> >>> - Improving the handling of VM arguments
> >>>
> >>>
> >>> Thanks a lot for reading so long!!
> >>> We hope you enjoy the VM and please tell us all the problems you find!!
> >>>
> >>> Pablo, Guille, and Esteban
> >>>
> >>
> >> --
> >> feenk.com
> >>
> >> "Being happy is a matter of choice."
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >
> >
> >
>
> --
> feenk.com
>
> "Speaking louder won't make the point worthier."
>
>


--
Pablo Tesone.
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

Tudor Girba-2
Hi,

Yes. We will be testing these days and we will come back with more details.

Two more questions:
- Is minheadlessVM now integrated in the regular VM binary or are the two different artifacts?
- Also are the platforms from https://github.com/pharo-project/opensmalltalk-vm/tree/pharo/platforms representative for minheadlessVM?

Cheers,
Doru



> On Aug 12, 2019, at 9:11 AM, [hidden email] wrote:
>
> Hi Doru,
>    can you give us more insight of the errors? Because there should
> not be changes in the behavior of the VM. Maybe there are issues, we
> have used the Pharo tests as a guarantee and we are laking some tests.
>
> Cheers,
> Pablo.
>
> On Sun, Aug 11, 2019 at 9:04 PM Tudor Girba <[hidden email]> wrote:
>>
>> Hi,
>>
>>
>>
>>> On Aug 11, 2019, at 5:29 PM, ducasse <[hidden email]> wrote:
>>>
>>>
>>>
>>>> On 11 Aug 2019, at 13:19, Tudor Girba <[hidden email]> wrote:
>>>>
>>>> Excellent news!
>>>>
>>>> I should say that for GT we are currently using the minheadlessVM (Ronie’s work) out of the opensmalltalk-vm repo (https://bintray.com/opensmalltalk/vm/cog) and it works remarkably well.
>>>>
>>>> We started to play with your minheadlessVM. So far it looks like there are differences, although I am sure they are not large.
>>>
>>> like what?
>>
>> I do not know yet, but running GT in headless opens the window with the one from opensmalltalk-vm, but not with the new one. We did not yet look into details, but we will.
>>
>> Cheers,
>> Doru
>>
>>
>>>> So, what is the difference between the minheadlessVM built by you versus the one from opensmalltalk-vm?
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>>
>>>>> On Aug 8, 2019, at 9:53 AM, [hidden email] wrote:
>>>>>
>>>>> TL;DR;
>>>>> ======
>>>>>
>>>>> For the anxious, you can get real headless vm and image from zero-conf.
>>>>>
>>>>> $ wget get.pharo.org/64/80+vmHeadlessLatest | bash
>>>>>
>>>>> Zero conf scripts remain unchanged for users.
>>>>>
>>>>> However, if you are launching the VM by hand from the executable
>>>>> instead of the launcher scripts (pharo and pharo-ui) as in
>>>>>
>>>>> $ ./pharoexecutable Pharo.image
>>>>>
>>>>> the image will launch in headless mode and will not open a window.
>>>>> To launch it in headfull, you can use the --interactive argument after
>>>>> the image, which will make the image open a window using SDL2.
>>>>>
>>>>> $ ./pharoexecutable Pharo.image --interactive
>>>>>
>>>>> Long version
>>>>> ============
>>>>>
>>>>> Hi, this mail is the happy intermediate result of the work that us,
>>>>> the Pharo Consortium Team, has been doing in the last couple of
>>>>> months.
>>>>> Our main objective is to have a real headless implementation of Pharo
>>>>> where all the responsibility to open or not a World window (or other)
>>>>> is handled by the image.
>>>>> For doing so we have done a series of modifications in the image and
>>>>> the VM side.
>>>>> We consider this is the path that Pharo 8 and following versions
>>>>> should follow, as it will severely improve server-side and command
>>>>> line Pharo and in building custom desktop applications.
>>>>>
>>>>> These modifications are available only in 64-bits machines (Windows,
>>>>> OSX, and Linux).
>>>>> ARM32 and 64bits headless is in the roadmap, but it is delayed because
>>>>> we have prioritized our three major platforms for this first couple of
>>>>> months.
>>>>>
>>>>> All this work is based in Opensmalltalk-VM and Ronnie's initial work
>>>>> on headless.
>>>>> We are really grateful to all the contributors in the history of this
>>>>> nice product.
>>>>> To achieve a real headless VM we have brought modifications in the
>>>>> source tree because most of the platform code to open and manipulate
>>>>> windows is not required anymore.
>>>>> Instead, we use the SDL2 library that implements a nice layer on top
>>>>> of the OS and allows us to manage on the image side through FFI.
>>>>>
>>>>> So this mail is now an open call for (beta?)testing.
>>>>> The sources of the current VM we are building are in the headless branch in
>>>>> https://github.com/pharo-project/opensmalltalk-vm
>>>>> And we have set up a CI that is both building and testing the VM in
>>>>> https://ci.inria.fr/pharo-ci-jenkins2/job/pharo-vm/job/headless/
>>>>>
>>>>> For the future we have a lot of ideas, that will wait for another long
>>>>> email or a beer-talk @ESUG.
>>>>> We want to hear your ideas!!
>>>>>
>>>>> Image-Side Improvements
>>>>> =======================
>>>>>
>>>>> - The image handles the creation or not of the main world window.
>>>>> - We incorporated the idea of World renderer, where different backends
>>>>> are used to render the world.
>>>>> - We have 3 backends: VM support (compatibility with non-headless
>>>>> VMs), and OSWindow with two backends: SDL and GTK3+.
>>>>> - The modifications in the image are fully backward compatible with
>>>>> the non-headless VM and are pushed since weeks in the latest 8.0
>>>>> image.
>>>>> - We move the handling of events to the image side when using SDL and
>>>>> GTK3+, opening the door to a richer set of events and finer-grained
>>>>> control over them.
>>>>> - SDL and GTK versions are implemented using FFI calls.
>>>>>
>>>>> VM-Side Improvements
>>>>> ====================
>>>>>
>>>>> - VMMaker code migrated to Tonel thanks to Feenk and included in the
>>>>> repository of the VM.
>>>>> - Making VMMaker execute in Pharo 7 and 8.
>>>>> - Removing GPL code from the VM repository (GDB).
>>>>>
>>>>> - Slowly adding new tests for the JIT / Slang and VMGeneration.
>>>>> - Restructuring of the source code.
>>>>> - A new simpler CMake build.
>>>>> - Generate VM code from Slang on each build.
>>>>> - A CI process to validate (including the run of the tests in Pharo
>>>>> and the ones adding to the VM).
>>>>> - Simplification of the codebase.
>>>>>
>>>>> - Maximize the reuse of code between the platforms (preferring the
>>>>> standard versions over the platform-specific).
>>>>> - Cleaning up duplicated code.
>>>>> - All the plugins are now external plugins.
>>>>> - The VM is now a dynamic library. This is a first step towards
>>>>> embedding Pharo into other applications.
>>>>> - The main executable is a thin frontend (you can change it or
>>>>> implement your own).
>>>>>
>>>>> - Removing unused plugins.
>>>>> - Improved crash dump. Especially the crash dump works now in Windows 64bits.
>>>>> - Dummy implementation of Security plugin (it is going away.... eventually).
>>>>> - Cleanup of SSL, UUID, and Socket plugin.
>>>>>
>>>>> - Cleanup of conditional code (Still to improve).
>>>>> - Improving the types used in the functions (we have to be neat to be
>>>>> multiplatform/multi-arch).
>>>>> - Improving the lookup of modules
>>>>> - Improving the logging of the VM
>>>>> - Improving the handling of VM arguments
>>>>>
>>>>>
>>>>> Thanks a lot for reading so long!!
>>>>> We hope you enjoy the VM and please tell us all the problems you find!!
>>>>>
>>>>> Pablo, Guille, and Esteban
>>>>>
>>>>
>>>> --
>>>> feenk.com
>>>>
>>>> "Being happy is a matter of choice."
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>> --
>> feenk.com
>>
>> "Speaking louder won't make the point worthier."
>>
>>
>
>
> --
> Pablo Tesone.
> [hidden email]
>

--
feenk.com

"What is more important: To be happy, or to make happy?"


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

tesonep@gmail.com
Hi,
    The executables are not the same.
    We have 2 different now: the Stock VM (that is downloaded by the
launcher, and it is the default download in Zero-conf), and the
headless VM (this is downloaded by zero-conf when using
vmLatestHeadless).

    Those platforms are not representative we currently have: OSX,
Windows, and Linux all 64bits. We are working in ARM 32bits.
    In the near future, I will work on validating different flavors of
Unix, but again It depends on the roadmap, and they are not there now.

    If someone requires some other platform we can talk to see how it
can fit in the roadmap.

Cheers,
Pablo

On Mon, Aug 12, 2019 at 10:03 AM Tudor Girba <[hidden email]> wrote:

>
> Hi,
>
> Yes. We will be testing these days and we will come back with more details.
>
> Two more questions:
> - Is minheadlessVM now integrated in the regular VM binary or are the two different artifacts?
> - Also are the platforms from https://github.com/pharo-project/opensmalltalk-vm/tree/pharo/platforms representative for minheadlessVM?
>
> Cheers,
> Doru
>
>
>
> > On Aug 12, 2019, at 9:11 AM, [hidden email] wrote:
> >
> > Hi Doru,
> >    can you give us more insight of the errors? Because there should
> > not be changes in the behavior of the VM. Maybe there are issues, we
> > have used the Pharo tests as a guarantee and we are laking some tests.
> >
> > Cheers,
> > Pablo.
> >
> > On Sun, Aug 11, 2019 at 9:04 PM Tudor Girba <[hidden email]> wrote:
> >>
> >> Hi,
> >>
> >>
> >>
> >>> On Aug 11, 2019, at 5:29 PM, ducasse <[hidden email]> wrote:
> >>>
> >>>
> >>>
> >>>> On 11 Aug 2019, at 13:19, Tudor Girba <[hidden email]> wrote:
> >>>>
> >>>> Excellent news!
> >>>>
> >>>> I should say that for GT we are currently using the minheadlessVM (Ronie’s work) out of the opensmalltalk-vm repo (https://bintray.com/opensmalltalk/vm/cog) and it works remarkably well.
> >>>>
> >>>> We started to play with your minheadlessVM. So far it looks like there are differences, although I am sure they are not large.
> >>>
> >>> like what?
> >>
> >> I do not know yet, but running GT in headless opens the window with the one from opensmalltalk-vm, but not with the new one. We did not yet look into details, but we will.
> >>
> >> Cheers,
> >> Doru
> >>
> >>
> >>>> So, what is the difference between the minheadlessVM built by you versus the one from opensmalltalk-vm?
> >>>>
> >>>> Cheers,
> >>>> Doru
> >>>>
> >>>>
> >>>>> On Aug 8, 2019, at 9:53 AM, [hidden email] wrote:
> >>>>>
> >>>>> TL;DR;
> >>>>> ======
> >>>>>
> >>>>> For the anxious, you can get real headless vm and image from zero-conf.
> >>>>>
> >>>>> $ wget get.pharo.org/64/80+vmHeadlessLatest | bash
> >>>>>
> >>>>> Zero conf scripts remain unchanged for users.
> >>>>>
> >>>>> However, if you are launching the VM by hand from the executable
> >>>>> instead of the launcher scripts (pharo and pharo-ui) as in
> >>>>>
> >>>>> $ ./pharoexecutable Pharo.image
> >>>>>
> >>>>> the image will launch in headless mode and will not open a window.
> >>>>> To launch it in headfull, you can use the --interactive argument after
> >>>>> the image, which will make the image open a window using SDL2.
> >>>>>
> >>>>> $ ./pharoexecutable Pharo.image --interactive
> >>>>>
> >>>>> Long version
> >>>>> ============
> >>>>>
> >>>>> Hi, this mail is the happy intermediate result of the work that us,
> >>>>> the Pharo Consortium Team, has been doing in the last couple of
> >>>>> months.
> >>>>> Our main objective is to have a real headless implementation of Pharo
> >>>>> where all the responsibility to open or not a World window (or other)
> >>>>> is handled by the image.
> >>>>> For doing so we have done a series of modifications in the image and
> >>>>> the VM side.
> >>>>> We consider this is the path that Pharo 8 and following versions
> >>>>> should follow, as it will severely improve server-side and command
> >>>>> line Pharo and in building custom desktop applications.
> >>>>>
> >>>>> These modifications are available only in 64-bits machines (Windows,
> >>>>> OSX, and Linux).
> >>>>> ARM32 and 64bits headless is in the roadmap, but it is delayed because
> >>>>> we have prioritized our three major platforms for this first couple of
> >>>>> months.
> >>>>>
> >>>>> All this work is based in Opensmalltalk-VM and Ronnie's initial work
> >>>>> on headless.
> >>>>> We are really grateful to all the contributors in the history of this
> >>>>> nice product.
> >>>>> To achieve a real headless VM we have brought modifications in the
> >>>>> source tree because most of the platform code to open and manipulate
> >>>>> windows is not required anymore.
> >>>>> Instead, we use the SDL2 library that implements a nice layer on top
> >>>>> of the OS and allows us to manage on the image side through FFI.
> >>>>>
> >>>>> So this mail is now an open call for (beta?)testing.
> >>>>> The sources of the current VM we are building are in the headless branch in
> >>>>> https://github.com/pharo-project/opensmalltalk-vm
> >>>>> And we have set up a CI that is both building and testing the VM in
> >>>>> https://ci.inria.fr/pharo-ci-jenkins2/job/pharo-vm/job/headless/
> >>>>>
> >>>>> For the future we have a lot of ideas, that will wait for another long
> >>>>> email or a beer-talk @ESUG.
> >>>>> We want to hear your ideas!!
> >>>>>
> >>>>> Image-Side Improvements
> >>>>> =======================
> >>>>>
> >>>>> - The image handles the creation or not of the main world window.
> >>>>> - We incorporated the idea of World renderer, where different backends
> >>>>> are used to render the world.
> >>>>> - We have 3 backends: VM support (compatibility with non-headless
> >>>>> VMs), and OSWindow with two backends: SDL and GTK3+.
> >>>>> - The modifications in the image are fully backward compatible with
> >>>>> the non-headless VM and are pushed since weeks in the latest 8.0
> >>>>> image.
> >>>>> - We move the handling of events to the image side when using SDL and
> >>>>> GTK3+, opening the door to a richer set of events and finer-grained
> >>>>> control over them.
> >>>>> - SDL and GTK versions are implemented using FFI calls.
> >>>>>
> >>>>> VM-Side Improvements
> >>>>> ====================
> >>>>>
> >>>>> - VMMaker code migrated to Tonel thanks to Feenk and included in the
> >>>>> repository of the VM.
> >>>>> - Making VMMaker execute in Pharo 7 and 8.
> >>>>> - Removing GPL code from the VM repository (GDB).
> >>>>>
> >>>>> - Slowly adding new tests for the JIT / Slang and VMGeneration.
> >>>>> - Restructuring of the source code.
> >>>>> - A new simpler CMake build.
> >>>>> - Generate VM code from Slang on each build.
> >>>>> - A CI process to validate (including the run of the tests in Pharo
> >>>>> and the ones adding to the VM).
> >>>>> - Simplification of the codebase.
> >>>>>
> >>>>> - Maximize the reuse of code between the platforms (preferring the
> >>>>> standard versions over the platform-specific).
> >>>>> - Cleaning up duplicated code.
> >>>>> - All the plugins are now external plugins.
> >>>>> - The VM is now a dynamic library. This is a first step towards
> >>>>> embedding Pharo into other applications.
> >>>>> - The main executable is a thin frontend (you can change it or
> >>>>> implement your own).
> >>>>>
> >>>>> - Removing unused plugins.
> >>>>> - Improved crash dump. Especially the crash dump works now in Windows 64bits.
> >>>>> - Dummy implementation of Security plugin (it is going away.... eventually).
> >>>>> - Cleanup of SSL, UUID, and Socket plugin.
> >>>>>
> >>>>> - Cleanup of conditional code (Still to improve).
> >>>>> - Improving the types used in the functions (we have to be neat to be
> >>>>> multiplatform/multi-arch).
> >>>>> - Improving the lookup of modules
> >>>>> - Improving the logging of the VM
> >>>>> - Improving the handling of VM arguments
> >>>>>
> >>>>>
> >>>>> Thanks a lot for reading so long!!
> >>>>> We hope you enjoy the VM and please tell us all the problems you find!!
> >>>>>
> >>>>> Pablo, Guille, and Esteban
> >>>>>
> >>>>
> >>>> --
> >>>> feenk.com
> >>>>
> >>>> "Being happy is a matter of choice."
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>>
> >>>
> >>
> >> --
> >> feenk.com
> >>
> >> "Speaking louder won't make the point worthier."
> >>
> >>
> >
> >
> > --
> > Pablo Tesone.
> > [hidden email]
> >
>
> --
> feenk.com
>
> "What is more important: To be happy, or to make happy?"
>
>


--
Pablo Tesone.
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

Tudor Girba-2
Hi,

Thanks for the answers!

Could you point me to where the platforms for minheadless are (which repository should we look at)? Also, to the build scripts that are used to build it?

Cheers,
Doru


> On Aug 12, 2019, at 10:56 AM, [hidden email] wrote:
>
> Hi,
>    The executables are not the same.
>    We have 2 different now: the Stock VM (that is downloaded by the
> launcher, and it is the default download in Zero-conf), and the
> headless VM (this is downloaded by zero-conf when using
> vmLatestHeadless).
>
>    Those platforms are not representative we currently have: OSX,
> Windows, and Linux all 64bits. We are working in ARM 32bits.
>    In the near future, I will work on validating different flavors of
> Unix, but again It depends on the roadmap, and they are not there now.
>
>    If someone requires some other platform we can talk to see how it
> can fit in the roadmap.
>
> Cheers,
> Pablo
>
> On Mon, Aug 12, 2019 at 10:03 AM Tudor Girba <[hidden email]> wrote:
>>
>> Hi,
>>
>> Yes. We will be testing these days and we will come back with more details.
>>
>> Two more questions:
>> - Is minheadlessVM now integrated in the regular VM binary or are the two different artifacts?
>> - Also are the platforms from https://github.com/pharo-project/opensmalltalk-vm/tree/pharo/platforms representative for minheadlessVM?
>>
>> Cheers,
>> Doru
>>
>>
>>
>>> On Aug 12, 2019, at 9:11 AM, [hidden email] wrote:
>>>
>>> Hi Doru,
>>>   can you give us more insight of the errors? Because there should
>>> not be changes in the behavior of the VM. Maybe there are issues, we
>>> have used the Pharo tests as a guarantee and we are laking some tests.
>>>
>>> Cheers,
>>> Pablo.
>>>
>>> On Sun, Aug 11, 2019 at 9:04 PM Tudor Girba <[hidden email]> wrote:
>>>>
>>>> Hi,
>>>>
>>>>
>>>>
>>>>> On Aug 11, 2019, at 5:29 PM, ducasse <[hidden email]> wrote:
>>>>>
>>>>>
>>>>>
>>>>>> On 11 Aug 2019, at 13:19, Tudor Girba <[hidden email]> wrote:
>>>>>>
>>>>>> Excellent news!
>>>>>>
>>>>>> I should say that for GT we are currently using the minheadlessVM (Ronie’s work) out of the opensmalltalk-vm repo (https://bintray.com/opensmalltalk/vm/cog) and it works remarkably well.
>>>>>>
>>>>>> We started to play with your minheadlessVM. So far it looks like there are differences, although I am sure they are not large.
>>>>>
>>>>> like what?
>>>>
>>>> I do not know yet, but running GT in headless opens the window with the one from opensmalltalk-vm, but not with the new one. We did not yet look into details, but we will.
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>>
>>>>>> So, what is the difference between the minheadlessVM built by you versus the one from opensmalltalk-vm?
>>>>>>
>>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>>> On Aug 8, 2019, at 9:53 AM, [hidden email] wrote:
>>>>>>>
>>>>>>> TL;DR;
>>>>>>> ======
>>>>>>>
>>>>>>> For the anxious, you can get real headless vm and image from zero-conf.
>>>>>>>
>>>>>>> $ wget get.pharo.org/64/80+vmHeadlessLatest | bash
>>>>>>>
>>>>>>> Zero conf scripts remain unchanged for users.
>>>>>>>
>>>>>>> However, if you are launching the VM by hand from the executable
>>>>>>> instead of the launcher scripts (pharo and pharo-ui) as in
>>>>>>>
>>>>>>> $ ./pharoexecutable Pharo.image
>>>>>>>
>>>>>>> the image will launch in headless mode and will not open a window.
>>>>>>> To launch it in headfull, you can use the --interactive argument after
>>>>>>> the image, which will make the image open a window using SDL2.
>>>>>>>
>>>>>>> $ ./pharoexecutable Pharo.image --interactive
>>>>>>>
>>>>>>> Long version
>>>>>>> ============
>>>>>>>
>>>>>>> Hi, this mail is the happy intermediate result of the work that us,
>>>>>>> the Pharo Consortium Team, has been doing in the last couple of
>>>>>>> months.
>>>>>>> Our main objective is to have a real headless implementation of Pharo
>>>>>>> where all the responsibility to open or not a World window (or other)
>>>>>>> is handled by the image.
>>>>>>> For doing so we have done a series of modifications in the image and
>>>>>>> the VM side.
>>>>>>> We consider this is the path that Pharo 8 and following versions
>>>>>>> should follow, as it will severely improve server-side and command
>>>>>>> line Pharo and in building custom desktop applications.
>>>>>>>
>>>>>>> These modifications are available only in 64-bits machines (Windows,
>>>>>>> OSX, and Linux).
>>>>>>> ARM32 and 64bits headless is in the roadmap, but it is delayed because
>>>>>>> we have prioritized our three major platforms for this first couple of
>>>>>>> months.
>>>>>>>
>>>>>>> All this work is based in Opensmalltalk-VM and Ronnie's initial work
>>>>>>> on headless.
>>>>>>> We are really grateful to all the contributors in the history of this
>>>>>>> nice product.
>>>>>>> To achieve a real headless VM we have brought modifications in the
>>>>>>> source tree because most of the platform code to open and manipulate
>>>>>>> windows is not required anymore.
>>>>>>> Instead, we use the SDL2 library that implements a nice layer on top
>>>>>>> of the OS and allows us to manage on the image side through FFI.
>>>>>>>
>>>>>>> So this mail is now an open call for (beta?)testing.
>>>>>>> The sources of the current VM we are building are in the headless branch in
>>>>>>> https://github.com/pharo-project/opensmalltalk-vm
>>>>>>> And we have set up a CI that is both building and testing the VM in
>>>>>>> https://ci.inria.fr/pharo-ci-jenkins2/job/pharo-vm/job/headless/
>>>>>>>
>>>>>>> For the future we have a lot of ideas, that will wait for another long
>>>>>>> email or a beer-talk @ESUG.
>>>>>>> We want to hear your ideas!!
>>>>>>>
>>>>>>> Image-Side Improvements
>>>>>>> =======================
>>>>>>>
>>>>>>> - The image handles the creation or not of the main world window.
>>>>>>> - We incorporated the idea of World renderer, where different backends
>>>>>>> are used to render the world.
>>>>>>> - We have 3 backends: VM support (compatibility with non-headless
>>>>>>> VMs), and OSWindow with two backends: SDL and GTK3+.
>>>>>>> - The modifications in the image are fully backward compatible with
>>>>>>> the non-headless VM and are pushed since weeks in the latest 8.0
>>>>>>> image.
>>>>>>> - We move the handling of events to the image side when using SDL and
>>>>>>> GTK3+, opening the door to a richer set of events and finer-grained
>>>>>>> control over them.
>>>>>>> - SDL and GTK versions are implemented using FFI calls.
>>>>>>>
>>>>>>> VM-Side Improvements
>>>>>>> ====================
>>>>>>>
>>>>>>> - VMMaker code migrated to Tonel thanks to Feenk and included in the
>>>>>>> repository of the VM.
>>>>>>> - Making VMMaker execute in Pharo 7 and 8.
>>>>>>> - Removing GPL code from the VM repository (GDB).
>>>>>>>
>>>>>>> - Slowly adding new tests for the JIT / Slang and VMGeneration.
>>>>>>> - Restructuring of the source code.
>>>>>>> - A new simpler CMake build.
>>>>>>> - Generate VM code from Slang on each build.
>>>>>>> - A CI process to validate (including the run of the tests in Pharo
>>>>>>> and the ones adding to the VM).
>>>>>>> - Simplification of the codebase.
>>>>>>>
>>>>>>> - Maximize the reuse of code between the platforms (preferring the
>>>>>>> standard versions over the platform-specific).
>>>>>>> - Cleaning up duplicated code.
>>>>>>> - All the plugins are now external plugins.
>>>>>>> - The VM is now a dynamic library. This is a first step towards
>>>>>>> embedding Pharo into other applications.
>>>>>>> - The main executable is a thin frontend (you can change it or
>>>>>>> implement your own).
>>>>>>>
>>>>>>> - Removing unused plugins.
>>>>>>> - Improved crash dump. Especially the crash dump works now in Windows 64bits.
>>>>>>> - Dummy implementation of Security plugin (it is going away.... eventually).
>>>>>>> - Cleanup of SSL, UUID, and Socket plugin.
>>>>>>>
>>>>>>> - Cleanup of conditional code (Still to improve).
>>>>>>> - Improving the types used in the functions (we have to be neat to be
>>>>>>> multiplatform/multi-arch).
>>>>>>> - Improving the lookup of modules
>>>>>>> - Improving the logging of the VM
>>>>>>> - Improving the handling of VM arguments
>>>>>>>
>>>>>>>
>>>>>>> Thanks a lot for reading so long!!
>>>>>>> We hope you enjoy the VM and please tell us all the problems you find!!
>>>>>>>
>>>>>>> Pablo, Guille, and Esteban
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> feenk.com
>>>>>>
>>>>>> "Being happy is a matter of choice."
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> feenk.com
>>>>
>>>> "Speaking louder won't make the point worthier."
>>>>
>>>>
>>>
>>>
>>> --
>>> Pablo Tesone.
>>> [hidden email]
>>>
>>
>> --
>> feenk.com
>>
>> "What is more important: To be happy, or to make happy?"
>>
>>
>
>
> --
> Pablo Tesone.
> [hidden email]
>

--
feenk.com

"The coherence of a trip is given by the clearness of the goal."








Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

tesonep@gmail.com
Hi,
   the repos is https://github.com/pharo-project/opensmalltalk-vm in
the headless branch

Cheers,
Pablo

On Mon, Aug 12, 2019 at 11:07 AM Tudor Girba <[hidden email]> wrote:

>
> Hi,
>
> Thanks for the answers!
>
> Could you point me to where the platforms for minheadless are (which repository should we look at)? Also, to the build scripts that are used to build it?
>
> Cheers,
> Doru
>
>
> > On Aug 12, 2019, at 10:56 AM, [hidden email] wrote:
> >
> > Hi,
> >    The executables are not the same.
> >    We have 2 different now: the Stock VM (that is downloaded by the
> > launcher, and it is the default download in Zero-conf), and the
> > headless VM (this is downloaded by zero-conf when using
> > vmLatestHeadless).
> >
> >    Those platforms are not representative we currently have: OSX,
> > Windows, and Linux all 64bits. We are working in ARM 32bits.
> >    In the near future, I will work on validating different flavors of
> > Unix, but again It depends on the roadmap, and they are not there now.
> >
> >    If someone requires some other platform we can talk to see how it
> > can fit in the roadmap.
> >
> > Cheers,
> > Pablo
> >
> > On Mon, Aug 12, 2019 at 10:03 AM Tudor Girba <[hidden email]> wrote:
> >>
> >> Hi,
> >>
> >> Yes. We will be testing these days and we will come back with more details.
> >>
> >> Two more questions:
> >> - Is minheadlessVM now integrated in the regular VM binary or are the two different artifacts?
> >> - Also are the platforms from https://github.com/pharo-project/opensmalltalk-vm/tree/pharo/platforms representative for minheadlessVM?
> >>
> >> Cheers,
> >> Doru
> >>
> >>
> >>
> >>> On Aug 12, 2019, at 9:11 AM, [hidden email] wrote:
> >>>
> >>> Hi Doru,
> >>>   can you give us more insight of the errors? Because there should
> >>> not be changes in the behavior of the VM. Maybe there are issues, we
> >>> have used the Pharo tests as a guarantee and we are laking some tests.
> >>>
> >>> Cheers,
> >>> Pablo.
> >>>
> >>> On Sun, Aug 11, 2019 at 9:04 PM Tudor Girba <[hidden email]> wrote:
> >>>>
> >>>> Hi,
> >>>>
> >>>>
> >>>>
> >>>>> On Aug 11, 2019, at 5:29 PM, ducasse <[hidden email]> wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>> On 11 Aug 2019, at 13:19, Tudor Girba <[hidden email]> wrote:
> >>>>>>
> >>>>>> Excellent news!
> >>>>>>
> >>>>>> I should say that for GT we are currently using the minheadlessVM (Ronie’s work) out of the opensmalltalk-vm repo (https://bintray.com/opensmalltalk/vm/cog) and it works remarkably well.
> >>>>>>
> >>>>>> We started to play with your minheadlessVM. So far it looks like there are differences, although I am sure they are not large.
> >>>>>
> >>>>> like what?
> >>>>
> >>>> I do not know yet, but running GT in headless opens the window with the one from opensmalltalk-vm, but not with the new one. We did not yet look into details, but we will.
> >>>>
> >>>> Cheers,
> >>>> Doru
> >>>>
> >>>>
> >>>>>> So, what is the difference between the minheadlessVM built by you versus the one from opensmalltalk-vm?
> >>>>>>
> >>>>>> Cheers,
> >>>>>> Doru
> >>>>>>
> >>>>>>
> >>>>>>> On Aug 8, 2019, at 9:53 AM, [hidden email] wrote:
> >>>>>>>
> >>>>>>> TL;DR;
> >>>>>>> ======
> >>>>>>>
> >>>>>>> For the anxious, you can get real headless vm and image from zero-conf.
> >>>>>>>
> >>>>>>> $ wget get.pharo.org/64/80+vmHeadlessLatest | bash
> >>>>>>>
> >>>>>>> Zero conf scripts remain unchanged for users.
> >>>>>>>
> >>>>>>> However, if you are launching the VM by hand from the executable
> >>>>>>> instead of the launcher scripts (pharo and pharo-ui) as in
> >>>>>>>
> >>>>>>> $ ./pharoexecutable Pharo.image
> >>>>>>>
> >>>>>>> the image will launch in headless mode and will not open a window.
> >>>>>>> To launch it in headfull, you can use the --interactive argument after
> >>>>>>> the image, which will make the image open a window using SDL2.
> >>>>>>>
> >>>>>>> $ ./pharoexecutable Pharo.image --interactive
> >>>>>>>
> >>>>>>> Long version
> >>>>>>> ============
> >>>>>>>
> >>>>>>> Hi, this mail is the happy intermediate result of the work that us,
> >>>>>>> the Pharo Consortium Team, has been doing in the last couple of
> >>>>>>> months.
> >>>>>>> Our main objective is to have a real headless implementation of Pharo
> >>>>>>> where all the responsibility to open or not a World window (or other)
> >>>>>>> is handled by the image.
> >>>>>>> For doing so we have done a series of modifications in the image and
> >>>>>>> the VM side.
> >>>>>>> We consider this is the path that Pharo 8 and following versions
> >>>>>>> should follow, as it will severely improve server-side and command
> >>>>>>> line Pharo and in building custom desktop applications.
> >>>>>>>
> >>>>>>> These modifications are available only in 64-bits machines (Windows,
> >>>>>>> OSX, and Linux).
> >>>>>>> ARM32 and 64bits headless is in the roadmap, but it is delayed because
> >>>>>>> we have prioritized our three major platforms for this first couple of
> >>>>>>> months.
> >>>>>>>
> >>>>>>> All this work is based in Opensmalltalk-VM and Ronnie's initial work
> >>>>>>> on headless.
> >>>>>>> We are really grateful to all the contributors in the history of this
> >>>>>>> nice product.
> >>>>>>> To achieve a real headless VM we have brought modifications in the
> >>>>>>> source tree because most of the platform code to open and manipulate
> >>>>>>> windows is not required anymore.
> >>>>>>> Instead, we use the SDL2 library that implements a nice layer on top
> >>>>>>> of the OS and allows us to manage on the image side through FFI.
> >>>>>>>
> >>>>>>> So this mail is now an open call for (beta?)testing.
> >>>>>>> The sources of the current VM we are building are in the headless branch in
> >>>>>>> https://github.com/pharo-project/opensmalltalk-vm
> >>>>>>> And we have set up a CI that is both building and testing the VM in
> >>>>>>> https://ci.inria.fr/pharo-ci-jenkins2/job/pharo-vm/job/headless/
> >>>>>>>
> >>>>>>> For the future we have a lot of ideas, that will wait for another long
> >>>>>>> email or a beer-talk @ESUG.
> >>>>>>> We want to hear your ideas!!
> >>>>>>>
> >>>>>>> Image-Side Improvements
> >>>>>>> =======================
> >>>>>>>
> >>>>>>> - The image handles the creation or not of the main world window.
> >>>>>>> - We incorporated the idea of World renderer, where different backends
> >>>>>>> are used to render the world.
> >>>>>>> - We have 3 backends: VM support (compatibility with non-headless
> >>>>>>> VMs), and OSWindow with two backends: SDL and GTK3+.
> >>>>>>> - The modifications in the image are fully backward compatible with
> >>>>>>> the non-headless VM and are pushed since weeks in the latest 8.0
> >>>>>>> image.
> >>>>>>> - We move the handling of events to the image side when using SDL and
> >>>>>>> GTK3+, opening the door to a richer set of events and finer-grained
> >>>>>>> control over them.
> >>>>>>> - SDL and GTK versions are implemented using FFI calls.
> >>>>>>>
> >>>>>>> VM-Side Improvements
> >>>>>>> ====================
> >>>>>>>
> >>>>>>> - VMMaker code migrated to Tonel thanks to Feenk and included in the
> >>>>>>> repository of the VM.
> >>>>>>> - Making VMMaker execute in Pharo 7 and 8.
> >>>>>>> - Removing GPL code from the VM repository (GDB).
> >>>>>>>
> >>>>>>> - Slowly adding new tests for the JIT / Slang and VMGeneration.
> >>>>>>> - Restructuring of the source code.
> >>>>>>> - A new simpler CMake build.
> >>>>>>> - Generate VM code from Slang on each build.
> >>>>>>> - A CI process to validate (including the run of the tests in Pharo
> >>>>>>> and the ones adding to the VM).
> >>>>>>> - Simplification of the codebase.
> >>>>>>>
> >>>>>>> - Maximize the reuse of code between the platforms (preferring the
> >>>>>>> standard versions over the platform-specific).
> >>>>>>> - Cleaning up duplicated code.
> >>>>>>> - All the plugins are now external plugins.
> >>>>>>> - The VM is now a dynamic library. This is a first step towards
> >>>>>>> embedding Pharo into other applications.
> >>>>>>> - The main executable is a thin frontend (you can change it or
> >>>>>>> implement your own).
> >>>>>>>
> >>>>>>> - Removing unused plugins.
> >>>>>>> - Improved crash dump. Especially the crash dump works now in Windows 64bits.
> >>>>>>> - Dummy implementation of Security plugin (it is going away.... eventually).
> >>>>>>> - Cleanup of SSL, UUID, and Socket plugin.
> >>>>>>>
> >>>>>>> - Cleanup of conditional code (Still to improve).
> >>>>>>> - Improving the types used in the functions (we have to be neat to be
> >>>>>>> multiplatform/multi-arch).
> >>>>>>> - Improving the lookup of modules
> >>>>>>> - Improving the logging of the VM
> >>>>>>> - Improving the handling of VM arguments
> >>>>>>>
> >>>>>>>
> >>>>>>> Thanks a lot for reading so long!!
> >>>>>>> We hope you enjoy the VM and please tell us all the problems you find!!
> >>>>>>>
> >>>>>>> Pablo, Guille, and Esteban
> >>>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> feenk.com
> >>>>>>
> >>>>>> "Being happy is a matter of choice."
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>> --
> >>>> feenk.com
> >>>>
> >>>> "Speaking louder won't make the point worthier."
> >>>>
> >>>>
> >>>
> >>>
> >>> --
> >>> Pablo Tesone.
> >>> [hidden email]
> >>>
> >>
> >> --
> >> feenk.com
> >>
> >> "What is more important: To be happy, or to make happy?"
> >>
> >>
> >
> >
> > --
> > Pablo Tesone.
> > [hidden email]
> >
>
> --
> feenk.com
>
> "The coherence of a trip is given by the clearness of the goal."
>
>
>
>
>
>
>
>


--
Pablo Tesone.
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] [ANN] Pharo Headless - Beta (Actually what is between Alpha and Beta)

Ben Coman


On Mon, 12 Aug 2019 at 17:59, [hidden email] <[hidden email]> wrote:
Hi,
   the repos is https://github.com/pharo-project/opensmalltalk-vm in
the headless branch

btw, to go directly to that branch...

I'm really glad to see smalltalksrc on github for its accessibility.  
The concern then is synchronization with the original Monticello repo.
Could a branch "headless-tracking-vmmaker" be created as a pure-mirror updated by a daily CI job
so Github Compare View  can be used to easily see differences (https://github.blog/2010-03-01-introducing-github-compare-view/)
This would make it easier for anyone to experiment locally merging in vmmaker updates without needing access to the particular conversion-tool being used.
That is, it would fan out better to potential contributors.   

It might be useful to similarly have an independent "headless-tracking-extracted".  
How is the extraction currently being done?  
Is it a script being run adhoc by particular people or is it run by a CI job?
Again it would fan out better to potential contributors to not need access to the extraction script.

cheers -ben