Re: Unity Happens One Step at a Time (was Re: Porting my programs from Squeak 3.10.2 to 3.5)

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

Re: Unity Happens One Step at a Time (was Re: Porting my programs from Squeak 3.10.2 to 3.5)

Jakob Reschke
Hello,

Here is what I had to do to have the Pharo launcher launch a Squeak image:

- Download and extract a Squeak VM and a supported image with .changes.
- Download and install the latest Pharo Launcher release.
- Start the launcher.
- Open Settings > Pharo Launcher > edit the folder paths to my likings.
- Click Store Settings at the top right.
- Move the Squeak VM directory below the VM directory entered in the
settings. Do not move the image yet.
- Press shift+return, type vmExecutableName and open the method
WindowsResolver>>#vmExecutableName.
- Change WindowsResolver>>#vmExecutableName to return 'Squeak.exe'.
- Close the system browser window.
- Press the VMs button on the top right. It should now list the Squeak
VM, for example 'squeak.cog.spur_win64x64_202003021730'. Close the VMs
window.
- Press Import at the top, choose the extracted image. It will be
moved to the images directory from the Settings!
- The image should now appear in the main list of the launcher window.
- In the new directory of the image, put a file named "pharo.version"
with the contents "0" next to the image. This will prevent the
launcher from trying to find out the Pharo version of the image by
running a pharo-version.st script with --headless on the image. Squeak
does not support this.
- Back in the launcher, in the combo box next to the Launch button at
the top, drop down the list and select Edit Configurations.
- For the Default configuration, select your Squeak VM instead of
"0-x64" on the right. The latter would try and fail to download a
fitting Pharo VM again.
- Close the window with "Save & Select".
- Now I am able to launch the Squeak image.

To preserve the changes to the launcher image:
- Press shift+return, enter Playground and press return to open a Workspace.
- Evaluate the following: Smalltalk snapshot: true andQuit: true.

Kind regards,
Jakob


Am Mi., 2. Sept. 2020 um 18:20 Uhr schrieb Sean DeNigris
<[hidden email]>:

>
> I've been pontificating about unity between dialects, convinced more than ever that we need each other and have more of a simple (not easy) communication problem than anything else, and pestering the principals of various communities, so I decided to put some concrete action behind it - some "skin in the game" as we say in the U.S.
>
> After reading Trygve's frustration with Squeak image/VM management, and Eliot's mention of Pharo's solution, I've extended PharoLauncher to manage and run Squeak (and GToolkit) VMs/images.
>
> The current limitation vs. launching standard Pharo images is that you have to download the VMs and images and manually install them due to differences in URL and other conventions. However once the files are in place, you can create templates allowing images to be created at will from different Squeak versions and automatically run with the correct VM. Auto-installation could probably be done if someone cares enough but it scratched my itch for the moment to manage GT images. I’m sure Cuis support could be added, but the hooks are now available and someone more familiar with its VM/image installation might have an easier time.
>
> Until my latest PR [1] is merged, brave souls can play with it and give feedback by loading my issue branch [2] into the latest Launcher release [3]. NB only tested on Mac.
>
> It seemed Trygve was at his wits' end, but maybe this and other small gestures will let him know how important he is to our community if not motivate him to resume his important work.
>
> I challenge you, as a member of our wider Squeak/Pharo/Cuis family: what small action can you take today that unites us rather than divides us? We can be each others' supporters even if technical, vision and other differences keep our codebases somewhat distinct. I believe the seeds of wars are planted when I lack the grace to give those around me the benefit of the doubt that they mean well and are trying their best. There is more than enough of that already in the world. Let’s invent a *better* future…
>
> Your brother,
> Sean
>
> 1. https://github.com/pharo-project/pharo-launcher/pull/503
> 2. https://github.com/seandenigris/pharo-launcher/tree/enh_vm-image-custom-hooks
> 3. https://pharo.org/download
>

Reply | Threaded
Open this post in threaded view
|

Re: Unity Happens One Step at a Time (was Re: Porting my programs from Squeak 3.10.2 to 3.5)

Kjell Godo
could this text be included in this Squeak PharoLauncher somehow as a help text

On Fri, Sep 25, 2020 at 14:03 Jakob Reschke <[hidden email]> wrote:
Hello,

Here is what I had to do to have the Pharo launcher launch a Squeak image:

- Download and extract a Squeak VM and a supported image with .changes.
- Download and install the latest Pharo Launcher release.
- Start the launcher.
- Open Settings > Pharo Launcher > edit the folder paths to my likings.
- Click Store Settings at the top right.
- Move the Squeak VM directory below the VM directory entered in the
settings. Do not move the image yet.
- Press shift+return, type vmExecutableName and open the method
WindowsResolver>>#vmExecutableName.
- Change WindowsResolver>>#vmExecutableName to return 'Squeak.exe'.
- Close the system browser window.
- Press the VMs button on the top right. It should now list the Squeak
VM, for example 'squeak.cog.spur_win64x64_202003021730'. Close the VMs
window.
- Press Import at the top, choose the extracted image. It will be
moved to the images directory from the Settings!
- The image should now appear in the main list of the launcher window.
- In the new directory of the image, put a file named "pharo.version"
with the contents "0" next to the image. This will prevent the
launcher from trying to find out the Pharo version of the image by
running a pharo-version.st script with --headless on the image. Squeak
does not support this.
- Back in the launcher, in the combo box next to the Launch button at
the top, drop down the list and select Edit Configurations.
- For the Default configuration, select your Squeak VM instead of
"0-x64" on the right. The latter would try and fail to download a
fitting Pharo VM again.
- Close the window with "Save & Select".
- Now I am able to launch the Squeak image.

To preserve the changes to the launcher image:
- Press shift+return, enter Playground and press return to open a Workspace.
- Evaluate the following: Smalltalk snapshot: true andQuit: true.

Kind regards,
Jakob


Am Mi., 2. Sept. 2020 um 18:20 Uhr schrieb Sean DeNigris
<[hidden email]>:
>
> I've been pontificating about unity between dialects, convinced more than ever that we need each other and have more of a simple (not easy) communication problem than anything else, and pestering the principals of various communities, so I decided to put some concrete action behind it - some "skin in the game" as we say in the U.S.
>
> After reading Trygve's frustration with Squeak image/VM management, and Eliot's mention of Pharo's solution, I've extended PharoLauncher to manage and run Squeak (and GToolkit) VMs/images.
>
> The current limitation vs. launching standard Pharo images is that you have to download the VMs and images and manually install them due to differences in URL and other conventions. However once the files are in place, you can create templates allowing images to be created at will from different Squeak versions and automatically run with the correct VM. Auto-installation could probably be done if someone cares enough but it scratched my itch for the moment to manage GT images. I’m sure Cuis support could be added, but the hooks are now available and someone more familiar with its VM/image installation might have an easier time.
>
> Until my latest PR [1] is merged, brave souls can play with it and give feedback by loading my issue branch [2] into the latest Launcher release [3]. NB only tested on Mac.
>
> It seemed Trygve was at his wits' end, but maybe this and other small gestures will let him know how important he is to our community if not motivate him to resume his important work.
>
> I challenge you, as a member of our wider Squeak/Pharo/Cuis family: what small action can you take today that unites us rather than divides us? We can be each others' supporters even if technical, vision and other differences keep our codebases somewhat distinct. I believe the seeds of wars are planted when I lack the grace to give those around me the benefit of the doubt that they mean well and are trying their best. There is more than enough of that already in the world. Let’s invent a *better* future…
>
> Your brother,
> Sean
>
> 1. https://github.com/pharo-project/pharo-launcher/pull/503
> 2. https://github.com/seandenigris/pharo-launcher/tree/enh_vm-image-custom-hooks
> 3. https://pharo.org/download
>



Reply | Threaded
Open this post in threaded view
|

Re: Unity Happens One Step at a Time (was Re: Porting my programs from Squeak 3.10.2 to 3.5)

Squeak - Dev mailing list
In reply to this post by Jakob Reschke

Jakob

Thank you. I have it launching squeak6.0 alpha.

very promising!


---- On Fri, 25 Sep 2020 17:03:36 -0400 Jakob Reschke <[hidden email]> wrote ----

Hello,

Here is what I had to do to have the Pharo launcher launch a Squeak image:

- Download and extract a Squeak VM and a supported image with .changes.
- Download and install the latest Pharo Launcher release.
- Start the launcher.
- Open Settings > Pharo Launcher > edit the folder paths to my likings.
- Click Store Settings at the top right.
- Move the Squeak VM directory below the VM directory entered in the
settings. Do not move the image yet.
- Press shift+return, type vmExecutableName and open the method
WindowsResolver>>#vmExecutableName.
- Change WindowsResolver>>#vmExecutableName to return 'Squeak.exe'.
- Close the system browser window.
- Press the VMs button on the top right. It should now list the Squeak
VM, for example 'squeak.cog.spur_win64x64_202003021730'. Close the VMs
window.
- Press Import at the top, choose the extracted image. It will be
moved to the images directory from the Settings!
- The image should now appear in the main list of the launcher window.
- In the new directory of the image, put a file named "pharo.version"
with the contents "0" next to the image. This will prevent the
launcher from trying to find out the Pharo version of the image by
running a pharo-version.st script with --headless on the image. Squeak
does not support this.
- Back in the launcher, in the combo box next to the Launch button at
the top, drop down the list and select Edit Configurations.
- For the Default configuration, select your Squeak VM instead of
"0-x64" on the right. The latter would try and fail to download a
fitting Pharo VM again.
- Close the window with "Save & Select".
- Now I am able to launch the Squeak image.

To preserve the changes to the launcher image:
- Press shift+return, enter Playground and press return to open a Workspace.
- Evaluate the following: Smalltalk snapshot: true andQuit: true.

Kind regards,
Jakob


Am Mi., 2. Sept. 2020 um 18:20 Uhr schrieb Sean DeNigris
<[hidden email]>:

>
> I've been pontificating about unity between dialects, convinced more than ever that we need each other and have more of a simple (not easy) communication problem than anything else, and pestering the principals of various communities, so I decided to put some concrete action behind it - some "skin in the game" as we say in the U.S.
>
> After reading Trygve's frustration with Squeak image/VM management, and Eliot's mention of Pharo's solution, I've extended PharoLauncher to manage and run Squeak (and GToolkit) VMs/images.
>
> The current limitation vs. launching standard Pharo images is that you have to download the VMs and images and manually install them due to differences in URL and other conventions. However once the files are in place, you can create templates allowing images to be created at will from different Squeak versions and automatically run with the correct VM. Auto-installation could probably be done if someone cares enough but it scratched my itch for the moment to manage GT images. I’m sure Cuis support could be added, but the hooks are now available and someone more familiar with its VM/image installation might have an easier time.
>
> Until my latest PR [1] is merged, brave souls can play with it and give feedback by loading my issue branch [2] into the latest Launcher release [3]. NB only tested on Mac.
>
> It seemed Trygve was at his wits' end, but maybe this and other small gestures will let him know how important he is to our community if not motivate him to resume his important work.
>
> I challenge you, as a member of our wider Squeak/Pharo/Cuis family: what small action can you take today that unites us rather than divides us? We can be each others' supporters even if technical, vision and other differences keep our codebases somewhat distinct. I believe the seeds of wars are planted when I lack the grace to give those around me the benefit of the doubt that they mean well and are trying their best. There is more than enough of that already in the world. Let’s invent a *better* future…
>
> Your brother,
> Sean
>
> 1. https://github.com/pharo-project/pharo-launcher/pull/503
> 2. https://github.com/seandenigris/pharo-launcher/tree/enh_vm-image-custom-hooks
> 3. https://pharo.org/download
>





Reply | Threaded
Open this post in threaded view
|

Re: Unity Happens One Step at a Time (was Re: Porting my programs from Squeak 3.10.2 to 3.5)

Squeak - Dev mailing list
In reply to this post by Jakob Reschke
Hi Jakob

An update for your instructions for non-windows users.

- Press shift+return, type vmExecutableName and open the method
WindowsResolver>>#vmExecutableName.
- Change WindowsResolver>>#vmExecutableName to return 'Squeak.exe'.

Is 
- Press shift+return, type vmExecutableName and open the method
UnixResolver>>#vmExecutableName.
- Change UnixResolver>>#vmExecutableName to return 'squeak'.


I found an "interesting" side effect.


I had hoped to have a squeaklauncher and a pharolauncher coexist as separate apps.

However, after I got squeakluancher running, my pharolauncher was launching the squeaklauncher.

The two executables where in completely separate directories

/home/wm/usr/src/smalltalk/squeaklauncher 

and

/home/wm/usr/src/smalltalk/pharolauncher

re-installs of PharoLauncher only confused matters.

It appears that the Settings are shared "globally" somehow. I could not find a file that stored them.

Meager attempts to get it to launch both kinds of images failed.

anyhoo, thanks for your work.









Reply | Threaded
Open this post in threaded view
|

Re: Unity Happens One Step at a Time (was Re: Porting my programs from Squeak 3.10.2 to 3.5)

Squeak - Dev mailing list
In reply to this post by Jakob Reschke
Hi Jakob


The pharo-launcher and pharo store their settings (on linux) in ~/.config/pharo and ~/.config/pharo-launcher  respectivelly.

this explains the shared state between squeaklauncher and pharolauncher.


cordially,

t



Reply | Threaded
Open this post in threaded view
|

Re: Unity Happens One Step at a Time (was Re: Porting my programs from Squeak 3.10.2 to 3.5)

Squeak - Dev mailing list
In reply to this post by Jakob Reschke
Hi folks...


I seem to have succesfully disentantangled squeaklauncher and pharolauncher.


First off, regarding
To preserve the changes to the launcher image:
- Press shift+return, enter Playground and press return to open a Workspace.
- Evaluate the following: Smalltalk snapshot: true andQuit: true.
There appears to be an Easter egg in the launcher image.
Click at the bottom right corner and the pharo menu for the image running the Launcher app will show up and you can open finders, browsers, etc.


The process is generally...

create duplicate of .config/pharo* folders to contain the settings
create a ~/Squeak directory to mirror the ~/Pharo directory.
Create a /home/xyz/usr/src/smalltalk/squeaklauncher and /home/xyz/usr/src/smalltalk/pharolauncher  to contain the separate executables.

launch the squeaklauncher.

then...


Here is a copy-n-paste of my running notes (it duplicates some of the steps above).

unzip Pharo-Launcher.zip
mv pharo-launcher to squeak-launcher.

In ~/.config/...
cp -Rv pharo  squeak
cp -Rv pharo-launcher squeak-launcher

In ~/ directory, cp -Rv Pharo Squeak

launch squeak-launcher

open the settings browser.

change paths to reflect the separate squeak-browser stuff.

click in bottom right of the World to open the Pharo tools->Browser (or whatever it is called)

Find PhLSettingsBrowser
Class side, change folder to squeak-launcher.

modify 
UnixResolver and PlatformResolver
launcherUserFilesLocation
"Documents folder is not a standard on Unix. Put files in the $HOME directory"
^ self home / 'Squeak'


I can now run the two applications independently without clobbering each other.

hth.

t



Reply | Threaded
Open this post in threaded view
|

Re: Unity Happens One Step at a Time (was Re: Porting my programs from Squeak 3.10.2 to 3.5)

Squeak - Dev mailing list
In reply to this post by Kjell Godo
Update....


The launcher is able to differentiate between vm versions.

I just downloaded squeak.cog.spur_linux64x64_202009271755.tar.gz   and placed it in the ~/Squeak/vms/ directory via the import process.

Then in squeaklauncher, the vm's button shows the new vm and its date.

So now, we can run different vms for the images we import by changing the configuration on the fly if desired.


During the 'vm's' button view, I got that vmExecuatable error...I don't know if that is because I forgot to save the pharo image or if there is a subtle bug somewhere.


anyhoo, kinda handy, nifty tool to muck about with.

cheers.





Reply | Threaded
Open this post in threaded view
|

Re: Unity Happens One Step at a Time (was Re: Porting my programs from Squeak 3.10.2 to 3.5)

Squeak - Dev mailing list
In reply to this post by Jakob Reschke
Excellent idea and doable!

Modify existing pharo app? 

Seems simplest route. Pharo team ok with that?



---- On Mon, 28 Sep 2020 03:22:16 -0400 [hidden email] wrote ----

Hi all.

Something like an "OpenSmalltalk Launcher" would be nice. :-) Integrating, Squeak, Cuis, Pharo, ...

Best,
Marcel

Am 25.09.2020 23:04:00 schrieb Jakob Reschke <[hidden email]>:

Hello,

Here is what I had to do to have the Pharo launcher launch a Squeak image:

- Download and extract a Squeak VM and a supported image with .changes.
- Download and install the latest Pharo Launcher release.
- Start the launcher.
- Open Settings > Pharo Launcher > edit the folder paths to my likings.
- Click Store Settings at the top right.
- Move the Squeak VM directory below the VM directory entered in the
settings. Do not move the image yet.
- Press shift+return, type vmExecutableName and open the method
WindowsResolver>>#vmExecutableName.
- Change WindowsResolver>>#vmExecutableName to return 'Squeak.exe'.
- Close the system browser window.
- Press the VMs button on the top right. It should now list the Squeak
VM, for example 'squeak.cog.spur_win64x64_202003021730'. Close the VMs
window.
- Press Import at the top, choose the extracted image. It will be
moved to the images directory from the Settings!
- The image should now appear in the main list of the launcher window.
- In the new directory of the image, put a file named "pharo.version"
with the contents "0" next to the image. This will prevent the
launcher from trying to find out the Pharo version of the image by
running a pharo-version.st script with --headless on the image. Squeak
does not support this.
- Back in the launcher, in the combo box next to the Launch button at
the top, drop down the list and select Edit Configurations.
- For the Default configuration, select your Squeak VM instead of
"0-x64" on the right. The latter would try and fail to download a
fitting Pharo VM again.
- Close the window with "Save & Select".
- Now I am able to launch the Squeak image.

To preserve the changes to the launcher image:
- Press shift+return, enter Playground and press return to open a Workspace.
- Evaluate the following: Smalltalk snapshot: true andQuit: true.

Kind regards,
Jakob


Am Mi., 2. Sept. 2020 um 18:20 Uhr schrieb Sean DeNigris
:

>
> I've been pontificating about unity between dialects, convinced more than ever that we need each other and have more of a simple (not easy) communication problem than anything else, and pestering the principals of various communities, so I decided to put some concrete action behind it - some "skin in the game" as we say in the U.S.
>
> After reading Trygve's frustration with Squeak image/VM management, and Eliot's mention of Pharo's solution, I've extended PharoLauncher to manage and run Squeak (and GToolkit) VMs/images.
>
> The current limitation vs. launching standard Pharo images is that you have to download the VMs and images and manually install them due to differences in URL and other conventions. However once the files are in place, you can create templates allowing images to be created at will from different Squeak versions and automatically run with the correct VM. Auto-installation could probably be done if someone cares enough but it scratched my itch for the moment to manage GT images. I’m sure Cuis support could be added, but the hooks are now available and someone more familiar with its VM/image installation might have an easier time.
>
> Until my latest PR [1] is merged, brave souls can play with it and give feedback by loading my issue branch [2] into the latest Launcher release [3]. NB only tested on Mac.
>
> It seemed Trygve was at his wits' end, but maybe this and other small gestures will let him know how important he is to our community if not motivate him to resume his important work.
>
> I challenge you, as a member of our wider Squeak/Pharo/Cuis family: what small action can you take today that unites us rather than divides us? We can be each others' supporters even if technical, vision and other differences keep our codebases somewhat distinct. I believe the seeds of wars are planted when I lack the grace to give those around me the benefit of the doubt that they mean well and are trying their best. There is more than enough of that already in the world. Let’s invent a *better* future…
>
> Your brother,
> Sean
>
> 1. https://github.com/pharo-project/pharo-launcher/pull/503
> 2. https://github.com/seandenigris/pharo-launcher/tree/enh_vm-image-custom-hooks
> 3. https://pharo.org/download
>





Reply | Threaded
Open this post in threaded view
|

Re: Unity Happens One Step at a Time (was Re: Porting my programs from Squeak 3.10.2 to 3.5)

marcel.taeumel
This repository could be easily created: https://github.com/OpenSmalltalk/opensmalltalk-launcher

Best,
Marcel

Am 28.09.2020 10:27:37 schrieb gettimothy via Squeak-dev <[hidden email]>:

Excellent idea and doable!

Modify existing pharo app? 

Seems simplest route. Pharo team ok with that?



---- On Mon, 28 Sep 2020 03:22:16 -0400 [hidden email] wrote ----

Hi all.

Something like an "OpenSmalltalk Launcher" would be nice. :-) Integrating, Squeak, Cuis, Pharo, ...

Best,
Marcel

Am 25.09.2020 23:04:00 schrieb Jakob Reschke <[hidden email]>:

Hello,

Here is what I had to do to have the Pharo launcher launch a Squeak image:

- Download and extract a Squeak VM and a supported image with .changes.
- Download and install the latest Pharo Launcher release.
- Start the launcher.
- Open Settings > Pharo Launcher > edit the folder paths to my likings.
- Click Store Settings at the top right.
- Move the Squeak VM directory below the VM directory entered in the
settings. Do not move the image yet.
- Press shift+return, type vmExecutableName and open the method
WindowsResolver>>#vmExecutableName.
- Change WindowsResolver>>#vmExecutableName to return 'Squeak.exe'.
- Close the system browser window.
- Press the VMs button on the top right. It should now list the Squeak
VM, for example 'squeak.cog.spur_win64x64_202003021730'. Close the VMs
window.
- Press Import at the top, choose the extracted image. It will be
moved to the images directory from the Settings!
- The image should now appear in the main list of the launcher window.
- In the new directory of the image, put a file named "pharo.version"
with the contents "0" next to the image. This will prevent the
launcher from trying to find out the Pharo version of the image by
running a pharo-version.st script with --headless on the image. Squeak
does not support this.
- Back in the launcher, in the combo box next to the Launch button at
the top, drop down the list and select Edit Configurations.
- For the Default configuration, select your Squeak VM instead of
"0-x64" on the right. The latter would try and fail to download a
fitting Pharo VM again.
- Close the window with "Save & Select".
- Now I am able to launch the Squeak image.

To preserve the changes to the launcher image:
- Press shift+return, enter Playground and press return to open a Workspace.
- Evaluate the following: Smalltalk snapshot: true andQuit: true.

Kind regards,
Jakob


Am Mi., 2. Sept. 2020 um 18:20 Uhr schrieb Sean DeNigris
:

>
> I've been pontificating about unity between dialects, convinced more than ever that we need each other and have more of a simple (not easy) communication problem than anything else, and pestering the principals of various communities, so I decided to put some concrete action behind it - some "skin in the game" as we say in the U.S.
>
> After reading Trygve's frustration with Squeak image/VM management, and Eliot's mention of Pharo's solution, I've extended PharoLauncher to manage and run Squeak (and GToolkit) VMs/images.
>
> The current limitation vs. launching standard Pharo images is that you have to download the VMs and images and manually install them due to differences in URL and other conventions. However once the files are in place, you can create templates allowing images to be created at will from different Squeak versions and automatically run with the correct VM. Auto-installation could probably be done if someone cares enough but it scratched my itch for the moment to manage GT images. I’m sure Cuis support could be added, but the hooks are now available and someone more familiar with its VM/image installation might have an easier time.
>
> Until my latest PR [1] is merged, brave souls can play with it and give feedback by loading my issue branch [2] into the latest Launcher release [3]. NB only tested on Mac.
>
> It seemed Trygve was at his wits' end, but maybe this and other small gestures will let him know how important he is to our community if not motivate him to resume his important work.
>
> I challenge you, as a member of our wider Squeak/Pharo/Cuis family: what small action can you take today that unites us rather than divides us? We can be each others' supporters even if technical, vision and other differences keep our codebases somewhat distinct. I believe the seeds of wars are planted when I lack the grace to give those around me the benefit of the doubt that they mean well and are trying their best. There is more than enough of that already in the world. Let’s invent a *better* future…
>
> Your brother,
> Sean
>
> 1. https://github.com/pharo-project/pharo-launcher/pull/503
> 2. https://github.com/seandenigris/pharo-launcher/tree/enh_vm-image-custom-hooks
> 3. https://pharo.org/download
>