Re: [Pharo-users] Pharo6 bootstrap how to

2017-06-27 Thread Pavel Krivanek
Right now we do not have such source.

-- Pavel

2017-06-26 18:42 GMT+02:00 Hilaire :

> Do you have a page explaining the process so people can try out?
>
> Hilaire
>
> Le 26/06/2017 à 16:29, Pavel Krivanek a écrit :
> > You need to do it manually. You should probably start with own copy of
> > BaselineOfIDE and then try to remove packages you don't need. You should
> > do it slowly and check if you are still able to generate a working image.
> >
> > -- Pavel
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>


Re: [Pharo-users] Pharo6 bootstrap how to

2017-06-27 Thread Pavel Krivanek
2017-06-26 18:19 GMT+02:00 Tim Mackinnon :

> This is very interesting… what would you need in that image to use the
> remote debugging demo’d at Pharo Days 2017 - as I’m assuming for a server
> environment with a web-app, you could have a lean core image and then
> remotely attach to it to understand what was going on? With enough
> infrastructure to inspect objects etc, but locally you could look up things
> with GT tools?
>
> Or have I got the wrong end of the stick on this?
>

With Denis we are trying to clean all dependencies so the remote IDE will
be able to work on a small headless images.

Cheers,
-- Pavel


>
> Tim
>
> On 26 Jun 2017, at 15:29, Pavel Krivanek  wrote:
>
> You need to do it manually. You should probably start with own copy of
> BaselineOfIDE and then try to remove packages you don't need. You should do
> it slowly and check if you are still able to generate a working image.
>
> -- Pavel
>
> 2017-06-26 16:09 GMT+02:00 Hilaire :
>
>> So in pratical term, how do you create a baseline?
>>
>> Hilaire
>>
>> Le 26/06/2017 à 15:43, Pavel Krivanek a écrit :
>> > We have the BaselineOfBasicTools that is something in the middle. It
>> > already contains Workspace and Nautilus (but not GTPlayground).
>> > BaselineOfIDE corresponds to the standard Pharo distribution so you will
>> > not save space. You should probalby create own baseline and select what
>> > you need.
>> >
>> >
>> >
>> > For the later I really want to have an easier browser, something to
>> > build on GLamour, if I understand correctly. But it will be another
>> > topic, later.
>> >
>> >
>> > Glamour is part of BaselineOfIDE so you will need it or create own
>> baseline.
>> >
>>
>> --
>> Dr. Geo
>> http://drgeo.eu
>>
>>
>>
>
>


[Pharo-users] ZnConstants missing 511 in default Pharo 6.0 32 image?

2017-06-27 Thread Tim Mackinnon
Hi - I have been slowly working my way through some of the pharo components and 
tutorials and when trying out ZnEasy with a password protected api, I got a 
talkback  when I mistyped a password. 
It looks like ZnConstants in a fresh Pharo 6.0 32 image excludes 511 from its 
constants. The code looks correct (and its defined in the initialize method - ) 
but when I tried a ZnEasy call which returned 511 I got a walkback showing it 
as an unrecognized code? (The walkback is looking for 511 in ZnConstants 
httpStatusCodes).

Is there some problem in the build process, or is this some type of user error?

Tim


[Pharo-users] Using Iceberg to edit regular text files ?

2017-06-27 Thread Sven Van Caekenberghe
Is it possible to use Iceberg to edit regular text files directly in Pharo ?

Specifically I would like to be able to edit README.md and similar files. 
Especially when using a all-in-one, the repo on file becomes quite hidden, and 
the whole idea is to hide the command line anyway, so it feels as if that 
should have to be possible.

Maybe just open a File Browser on the right directory ?

Sven

PS: I also had the impression that class comment changes did not show up in the 
diff browser.




Re: [Pharo-users] ZnConstants missing 511 in default Pharo 6.0 32 image?

2017-06-27 Thread Juraj Kubelka
Hi,

I remember that Sven did some changes related to the constants in about month 
or two months ago. But, I do not think that it was integrated to the Pharo 6 
release.

Juraj

> El 27-06-2017, a las 15:50, Tim Mackinnon  escribió:
> 
> Hi - I have been slowly working my way through some of the pharo components 
> and tutorials and when trying out ZnEasy with a password protected api, I got 
> a talkback  when I mistyped a password. 
> It looks like ZnConstants in a fresh Pharo 6.0 32 image excludes 511 from its 
> constants. The code looks correct (and its defined in the initialize method - 
> ) but when I tried a ZnEasy call which returned 511 I got a walkback showing 
> it as an unrecognized code? (The walkback is looking for 511 in ZnConstants 
> httpStatusCodes).
> 
> Is there some problem in the build process, or is this some type of user 
> error?
> 
> Tim




Re: [Pharo-users] Using Iceberg to edit regular text files ?

2017-06-27 Thread Esteban Lorenzano
Hi, 

> On 27 Jun 2017, at 15:55, Sven Van Caekenberghe  wrote:
> 
> Is it possible to use Iceberg to edit regular text files directly in Pharo ?
> 
> Specifically I would like to be able to edit README.md and similar files. 
> Especially when using a all-in-one, the repo on file becomes quite hidden, 
> and the whole idea is to hide the command line anyway, so it feels as if that 
> should have to be possible.
> 
> Maybe just open a File Browser on the right directory ?

right now, yes. 
I want to add the possibility to edit/commit regular files from image but is 
not my priority now (it will arrive, one moment of this year). 


> 
> Sven
> 
> PS: I also had the impression that class comment changes did not show up in 
> the diff browser.

iceberg uses old diff mechanism from monticello. 
it *should* be there, but there may be a bug around…

Esteban

> 
> 




Re: [Pharo-users] ZnConstants missing 511 in default Pharo 6.0 32 image?

2017-06-27 Thread Sven Van Caekenberghe
> On 27 Jun 2017, at 16:02, Juraj Kubelka  wrote:
> 
> Hi,
> 
> I remember that Sven did some changes related to the constants in about month 
> or two months ago. But, I do not think that it was integrated to the Pharo 6 
> release.

Yeah, we forgot to put that in, it (the changed #initialize) is only in Zn 
#bleedingEdge.

The simplest patch for Pharo 6 would be to execute 

  ZnConstants initialize.

A full Zn sync would be too much I think.

> Juraj
> 
>> El 27-06-2017, a las 15:50, Tim Mackinnon  escribió:
>> 
>> Hi - I have been slowly working my way through some of the pharo components 
>> and tutorials and when trying out ZnEasy with a password protected api, I 
>> got a talkback  when I mistyped a password. 
>> It looks like ZnConstants in a fresh Pharo 6.0 32 image excludes 511 from 
>> its constants. The code looks correct (and its defined in the initialize 
>> method - ) but when I tried a ZnEasy call which returned 511 I got a 
>> walkback showing it as an unrecognized code? (The walkback is looking for 
>> 511 in ZnConstants httpStatusCodes).
>> 
>> Is there some problem in the build process, or is this some type of user 
>> error?
>> 
>> Tim
> 
> 




Re: [Pharo-users] ZnConstants missing 511 in default Pharo 6.0 32 image?

2017-06-27 Thread Sven Van Caekenberghe
Hi Tim,

> On 27 Jun 2017, at 15:50, Tim Mackinnon  wrote:
> 
> Hi - I have been slowly working my way through some of the pharo components 
> and tutorials and when trying out ZnEasy with a password protected api, I got 
> a talkback  when I mistyped a password. 
> It looks like ZnConstants in a fresh Pharo 6.0 32 image excludes 511 from its 
> constants. The code looks correct (and its defined in the initialize method - 
> ) but when I tried a ZnEasy call which returned 511 I got a walkback showing 
> it as an unrecognized code? (The walkback is looking for 511 in ZnConstants 
> httpStatusCodes).
> 
> Is there some problem in the build process, or is this some type of user 
> error?
> 
> Tim

You should get

  ZnStatusLine code: 511. "a ZnStatusLine(511 Network Authentication Required)"

If that is not the case, do

  ZnConstants initialize.

What does ZnConstants class>>#initialize look like for you ? 

The latest version should read like

initialize
"Forced source code change for automatic initialization: 20170510"

self initializeHTTPStatusCodes

Sven


Re: [Pharo-users] Using Iceberg to edit regular text files ?

2017-06-27 Thread Sven Van Caekenberghe
> On 27 Jun 2017, at 16:05, Esteban Lorenzano  wrote:
> 
> Hi, 
> 
>> On 27 Jun 2017, at 15:55, Sven Van Caekenberghe  wrote:
>> 
>> Is it possible to use Iceberg to edit regular text files directly in Pharo ?
>> 
>> Specifically I would like to be able to edit README.md and similar files. 
>> Especially when using a all-in-one, the repo on file becomes quite hidden, 
>> and the whole idea is to hide the command line anyway, so it feels as if 
>> that should have to be possible.
>> 
>> Maybe just open a File Browser on the right directory ?
> 
> right now, yes.

But is that an action you can do from Iceberg, like click a button or some menu 
item ? Did I miss it ?

> I want to add the possibility to edit/commit regular files from image but is 
> not my priority now (it will arrive, one moment of this year). 

Will Iceberg just pick the repo source files and skip the other resources when 
committing ?

It does pull all files in, and I lost one commit because it got overwritten (I 
edited the README.md in the web browser and it got lost after I committed some 
code).

>> Sven
>> 
>> PS: I also had the impression that class comment changes did not show up in 
>> the diff browser.
> 
> iceberg uses old diff mechanism from monticello. 
> it *should* be there, but there may be a bug around…
> 
> Esteban
> 
>> 
>> 
> 
> 




Re: [Pharo-users] Using Iceberg to edit regular text files ?

2017-06-27 Thread Esteban Lorenzano
> On 27 Jun 2017, at 16:11, Sven Van Caekenberghe  wrote:
> 
> 
>> On 27 Jun 2017, at 16:05, Esteban Lorenzano  wrote:
>> 
>> Hi, 
>> 
>>> On 27 Jun 2017, at 15:55, Sven Van Caekenberghe  wrote:
>>> 
>>> Is it possible to use Iceberg to edit regular text files directly in Pharo ?
>>> 
>>> Specifically I would like to be able to edit README.md and similar files. 
>>> Especially when using a all-in-one, the repo on file becomes quite hidden, 
>>> and the whole idea is to hide the command line anyway, so it feels as if 
>>> that should have to be possible.
>>> 
>>> Maybe just open a File Browser on the right directory ?
>> 
>> right now, yes.
> 
> But is that an action you can do from Iceberg, like click a button or some 
> menu item ? Did I miss it ?

no, I meant: right now yes, it is not possible :)

> 
>> I want to add the possibility to edit/commit regular files from image but is 
>> not my priority now (it will arrive, one moment of this year). 
> 
> Will Iceberg just pick the repo source files and skip the other resources 
> when committing ?

so far, it foes a “full repository commit”. 

> 
> It does pull all files in, and I lost one commit because it got overwritten 
> (I edited the README.md in the web browser and it got lost after I committed 
> some code).

yep. because is like a file export.
of course, all that can be improved :)

Esteban

> 
>>> Sven
>>> 
>>> PS: I also had the impression that class comment changes did not show up in 
>>> the diff browser.
>> 
>> iceberg uses old diff mechanism from monticello. 
>> it *should* be there, but there may be a bug around…
>> 
>> Esteban
>> 
>>> 
>>> 
>> 
>> 
> 
> 




[Pharo-users] Are we able to run pharo images in a read only environment?

2017-06-27 Thread Tim Mackinnon
Hi - I am trying to run a pharo image in lambda (as an experiment) - however I 
get an error from Pharo about not being able to write to the changes file?

As I am just evaluating some code - I’m not really coding, so don’t need a 
changes file - is there a command line option to not require it?

Also, am I running pharo the most efficient way - I’m using eval on the command 
line and referencing a class with a class method - but is this the best way?

Thanks,

Tim

"errorMessage": "Command failed: ./pharo Pharo.image eval \"Lambda processJSON: 
'{\"key3\":\"value3\",\"key2\":\"value2\",\"key1\":\"value1\"}'\"\n'Pharo 
cannot write to the changes file named /var/task/Pharo.changes.\n\nPlease check 
that you have write permission for this file.\n\nYou won''t be able to save 
this image correctly until you fix this.'\n\u001b[31mError: Can't find the 
requested 
origin\n\u001b[0mUnixResolver(PlatformResolver)>>cantFindOriginError\n[ self 
cantFindOriginError ] in 
UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: in Block: [ self 
cantFindOriginError 
]\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:\nUnixResolver>>home\n[
 self home / '.config' ] in UnixResolver>>preferences in Block: [ self home / 
'.config' 
]\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:\nUnixResolver>>preferences\nUnixResolver(FileSystemResolver)>>resolve:\nSystemResolver(FileSystemResolver)>>unknownOrigin:\nSystemResolver(FileSystemResolver)>>resolve:\nInteractiveResolver>>unknownOrigin:\n[
 self unknownOrigin: origin ] in InteractiveResolver>>resolve: in Block: [ self 
unknownOrigin: origin 
]\nIdentityDictionary(Dictionary)>>at:ifAbsent:\nInteractiveResolver>>resolve:\nFileLocator>>resolve\nFileLocator(AbstractFileReference)>>exists\nGlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>shouldCallPreviousPersistence\nGlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>ensure:\nGlobalIdentifier>>ensure\nGlobalIdentifier
 class>>initializeUniqueInstance\nGlobalIdentifier 
class>>uniqueInstance\nSystemSettingsPersistence class>>resumeSystemSettings\n[ 
:persistence | persistence resumeSystemSettings ] in 
PharoCommandLineHandler>>runPreferences in Block: [ :persistence | persistence 
resumeSystemSettings 
...etc...\nBlockClosure>>cull:\nSystemDictionary(Dictionary)>>at:ifPresent:\nSmalltalkImage>>at:ifPresent:\nPharoCommandLineHandler>>runPreferences\nPharoCommandLineHandler>>activate\nPharoCommandLineHandler
 class(CommandLineHandler class)>>activateWith:\n\u001b[0m",
  "errorType": "Error",
  "stackTrace": [
"'Pharo cannot write to the changes file named /var/task/Pharo.changes.",
"",
"Please check that you have write permission for this file.",
"",
"You won''t be able to save this image correctly until you fix this.'",
"\u001b[31mError: Can't find the requested origin",
"\u001b[0mUnixResolver(PlatformResolver)>>cantFindOriginError",
"[ self cantFindOriginError ] in 
UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: in Block: [ self 
cantFindOriginError ]",
"UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:",
"UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:",
"UnixResolver>>home",
"[ self home / '.config' ] in UnixResolver>>preferences in Block: [ self 
home / '.config' ]",
"UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:",
"UnixResolver>>preferences",
"UnixResolver(FileSystemResolver)>>resolve:",
"SystemResolver(FileSystemResolver)>>unknownOrigin:",
"SystemResolver(FileSystemResolver)>>resolve:",
"InteractiveResolver>>unknownOrigin:",
"[ self unknownOrigin: origin ] in InteractiveResolver>>resolve: in Block: 
[ self unknownOrigin: origin ]",
"IdentityDictionary(Dictionary)>>at:ifAbsent:",
"InteractiveResolver>>resolve:",
"FileLocator>>resolve",
"FileLocator(AbstractFileReference)>>exists",

"GlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>shouldCallPreviousPersistence",
"GlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>ensure:",
"GlobalIdentifier>>ensure",
"GlobalIdentifier class>>initializeUniqueInstance",
"GlobalIdentifier class>>uniqueInstance",
"SystemSettingsPersistence class>>resumeSystemSettings",
"[ :persistence | persistence resumeSystemSettings ] in 
PharoCommandLineHandler>>runPreferences in Block: [ :persistence | persistence 
resumeSystemSettings ...etc...",
"BlockClosure>>cull:",
"SystemDictionary(Dictionary)>>at:ifPresent:",
"SmalltalkImage>>at:ifPresent:",
"PharoCommandLineHandler>>runPreferences",
"PharoCommandLineHandler>>activate",
"PharoCommandLineHandler class(CommandLineHandler class)>>activateWith:",
"\u001b[0m",
"ChildProcess.exithandler (child_process.js:204:12)",
"emitTwo (events.js:106:13)",
"ChildProcess.emit (events.js:191:7)",
 

Re: [Pharo-users] ZnConstants missing 511 in default Pharo 6.0 32 image?

2017-06-27 Thread Tim Mackinnon
Yes ZnConstants initialize 
Works,

When I inspected the constants before this, it seemed to have everything except 
511 (the last one).

Is there a load error in Pharo - as if the initialise code is correct, and the 
images are built with a CI process - I’m wondering how it gets into that state?

Tim

> On 27 Jun 2017, at 15:02, Sven Van Caekenberghe  wrote:
> 
> Hi Tim,
> 
>> On 27 Jun 2017, at 15:50, Tim Mackinnon  wrote:
>> 
>> Hi - I have been slowly working my way through some of the pharo components 
>> and tutorials and when trying out ZnEasy with a password protected api, I 
>> got a talkback  when I mistyped a password. 
>> It looks like ZnConstants in a fresh Pharo 6.0 32 image excludes 511 from 
>> its constants. The code looks correct (and its defined in the initialize 
>> method - ) but when I tried a ZnEasy call which returned 511 I got a 
>> walkback showing it as an unrecognized code? (The walkback is looking for 
>> 511 in ZnConstants httpStatusCodes).
>> 
>> Is there some problem in the build process, or is this some type of user 
>> error?
>> 
>> Tim
> 
> You should get
> 
>  ZnStatusLine code: 511. "a ZnStatusLine(511 Network Authentication Required)"
> 
> If that is not the case, do
> 
>  ZnConstants initialize.
> 
> What does ZnConstants class>>#initialize look like for you ? 
> 
> The latest version should read like
> 
> initialize
>   "Forced source code change for automatic initialization: 20170510"
>   
>   self initializeHTTPStatusCodes
> 
> Sven




Re: [Pharo-users] ZnConstants missing 511 in default Pharo 6.0 32 image?

2017-06-27 Thread Sven Van Caekenberghe
> On 27 Jun 2017, at 18:30, Tim Mackinnon  wrote:
> 
> Yes ZnConstants initialize 
> Works,
> 
> When I inspected the constants before this, it seemed to have everything 
> except 511 (the last one).
> 
> Is there a load error in Pharo - as if the initialise code is correct, and 
> the images are built with a CI process - I’m wondering how it gets into that 
> state?

When a class is loaded, class side #initialize methods are run (so classes are 
re-initialized) if their source code changed (compared to what is already in 
the image). When 511 was added, the #initialize did not change, hence it was 
not run. That is why I currently add a comment like "Forced source code change 
for automatic initialization: 20170510" where I change the date when needed.

> Tim
> 
>> On 27 Jun 2017, at 15:02, Sven Van Caekenberghe  wrote:
>> 
>> Hi Tim,
>> 
>>> On 27 Jun 2017, at 15:50, Tim Mackinnon  wrote:
>>> 
>>> Hi - I have been slowly working my way through some of the pharo components 
>>> and tutorials and when trying out ZnEasy with a password protected api, I 
>>> got a talkback  when I mistyped a password. 
>>> It looks like ZnConstants in a fresh Pharo 6.0 32 image excludes 511 from 
>>> its constants. The code looks correct (and its defined in the initialize 
>>> method - ) but when I tried a ZnEasy call which returned 511 I got a 
>>> walkback showing it as an unrecognized code? (The walkback is looking for 
>>> 511 in ZnConstants httpStatusCodes).
>>> 
>>> Is there some problem in the build process, or is this some type of user 
>>> error?
>>> 
>>> Tim
>> 
>> You should get
>> 
>> ZnStatusLine code: 511. "a ZnStatusLine(511 Network Authentication Required)"
>> 
>> If that is not the case, do
>> 
>> ZnConstants initialize.
>> 
>> What does ZnConstants class>>#initialize look like for you ? 
>> 
>> The latest version should read like
>> 
>> initialize
>>  "Forced source code change for automatic initialization: 20170510"
>>  
>>  self initializeHTTPStatusCodes
>> 
>> Sven
> 
> 




Re: [Pharo-users] Pharo6 bootstrap how to

2017-06-27 Thread Hilaire
It will be helpfull, because from here I don't understand not much how I
should get started. But I guess it is too early in the process as things
may still be moving.



Le 27/06/2017 à 13:02, Pavel Krivanek a écrit :
> Right now we do not have such source.
> 
> -- Pavel

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




Re: [Pharo-users] Are we able to run pharo images in a read only environment?

2017-06-27 Thread Esteban A. Maringolo
Interesting experiment.

It would be good to know how fast does the image boot and start
execution in the context of a service billed at the sub second scale.


Esteban A. Maringolo


2017-06-27 13:05 GMT-03:00 Tim Mackinnon :
> Hi - I am trying to run a pharo image in lambda (as an experiment) - however
> I get an error from Pharo about not being able to write to the changes file?
>
> As I am just evaluating some code - I’m not really coding, so don’t need a
> changes file - is there a command line option to not require it?
>
> Also, am I running pharo the most efficient way - I’m using eval on the
> command line and referencing a class with a class method - but is this the
> best way?
>
> Thanks,
>
> Tim
>
> "errorMessage": "Command failed: ./pharo Pharo.image eval \"Lambda
> processJSON:
> '{\"key3\":\"value3\",\"key2\":\"value2\",\"key1\":\"value1\"}'\"\n'Pharo
> cannot write to the changes file named /var/task/Pharo.changes.\n\nPlease
> check that you have write permission for this file.\n\nYou won''t be able to
> save this image correctly until you fix this.'\n\u001b[31mError: Can't find
> the requested
> origin\n\u001b[0mUnixResolver(PlatformResolver)>>cantFindOriginError\n[ self
> cantFindOriginError ] in
> UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: in Block: [
> self cantFindOriginError
> ]\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:\nUnixResolver>>home\n[
> self home / '.config' ] in UnixResolver>>preferences in Block: [ self home /
> '.config'
> ]\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:\nUnixResolver>>preferences\nUnixResolver(FileSystemResolver)>>resolve:\nSystemResolver(FileSystemResolver)>>unknownOrigin:\nSystemResolver(FileSystemResolver)>>resolve:\nInteractiveResolver>>unknownOrigin:\n[
> self unknownOrigin: origin ] in InteractiveResolver>>resolve: in Block: [
> self unknownOrigin: origin
> ]\nIdentityDictionary(Dictionary)>>at:ifAbsent:\nInteractiveResolver>>resolve:\nFileLocator>>resolve\nFileLocator(AbstractFileReference)>>exists\nGlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>shouldCallPreviousPersistence\nGlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>ensure:\nGlobalIdentifier>>ensure\nGlobalIdentifier
> class>>initializeUniqueInstance\nGlobalIdentifier
> class>>uniqueInstance\nSystemSettingsPersistence
> class>>resumeSystemSettings\n[ :persistence | persistence
> resumeSystemSettings ] in PharoCommandLineHandler>>runPreferences in Block:
> [ :persistence | persistence resumeSystemSettings
> ...etc...\nBlockClosure>>cull:\nSystemDictionary(Dictionary)>>at:ifPresent:\nSmalltalkImage>>at:ifPresent:\nPharoCommandLineHandler>>runPreferences\nPharoCommandLineHandler>>activate\nPharoCommandLineHandler
> class(CommandLineHandler class)>>activateWith:\n\u001b[0m",
>   "errorType": "Error",
>   "stackTrace": [
> "'Pharo cannot write to the changes file named
> /var/task/Pharo.changes.",
> "",
> "Please check that you have write permission for this file.",
> "",
> "You won''t be able to save this image correctly until you fix this.'",
> "\u001b[31mError: Can't find the requested origin",
> "\u001b[0mUnixResolver(PlatformResolver)>>cantFindOriginError",
> "[ self cantFindOriginError ] in
> UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: in Block: [
> self cantFindOriginError ]",
> "UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:",
> "UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:",
> "UnixResolver>>home",
> "[ self home / '.config' ] in UnixResolver>>preferences in Block: [ self
> home / '.config' ]",
> "UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:",
> "UnixResolver>>preferences",
> "UnixResolver(FileSystemResolver)>>resolve:",
> "SystemResolver(FileSystemResolver)>>unknownOrigin:",
> "SystemResolver(FileSystemResolver)>>resolve:",
> "InteractiveResolver>>unknownOrigin:",
> "[ self unknownOrigin: origin ] in InteractiveResolver>>resolve: in
> Block: [ self unknownOrigin: origin ]",
> "IdentityDictionary(Dictionary)>>at:ifAbsent:",
> "InteractiveResolver>>resolve:",
> "FileLocator>>resolve",
> "FileLocator(AbstractFileReference)>>exists",
>
> "GlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>shouldCallPreviousPersistence",
> "GlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>ensure:",
> "GlobalIdentifier>>ensure",
> "GlobalIdentifier class>>initializeUniqueInstance",
> "GlobalIdentifier class>>uniqueInstance",
> "SystemSettingsPersistence class>>resumeSystemSettings",
> "[ :persistence | persistence resumeSystemSettings ] in
> PharoCommandLineHandler>>runPreferences in Block: [ :persistence |
> persistence resumeSystemSettings ...etc...",
> "BlockClosure>>cull:",
> "SystemDictionary(Dictionary)>>at:ifPresent:",
> "Sm

Re: [Pharo-users] Are we able to run pharo images in a read only environment?

2017-06-27 Thread Sven Van Caekenberghe
> On 27 Jun 2017, at 21:00, Esteban A. Maringolo  wrote:
> 
> Interesting experiment.
> 
> It would be good to know how fast does the image boot and start
> execution in the context of a service billed at the sub second scale.

Sadly I have the impression we lost some speed:

~/pharo64$ ./pharo Pharo.image printVersion
[version] 6.0 #60499

~/pharo64$ time ./pharo Pharo.image eval '42 factorial'
14050061177528798985431426062445115699363840

real0m1.276s
user0m0.985s
sys 0m0.171s

while before

~/pharo/build$ ../bin/pharo Pharo.image printVersion
[version] 4.0 #40620

$ time ../bin/pharo Pharo.image eval '42 factorial'
14050061177528798985431426062445115699363840

real0m0.526s
user0m0.434s
sys 0m0.045s

But it is really hard to find the cause.

That being said, these lambda servers can only work well if they keep instances 
alive for longer when there is enough traffic.

> Esteban A. Maringolo
> 
> 
> 2017-06-27 13:05 GMT-03:00 Tim Mackinnon :
>> Hi - I am trying to run a pharo image in lambda (as an experiment) - however
>> I get an error from Pharo about not being able to write to the changes file?
>> 
>> As I am just evaluating some code - I’m not really coding, so don’t need a
>> changes file - is there a command line option to not require it?
>> 
>> Also, am I running pharo the most efficient way - I’m using eval on the
>> command line and referencing a class with a class method - but is this the
>> best way?
>> 
>> Thanks,
>> 
>> Tim
>> 
>> "errorMessage": "Command failed: ./pharo Pharo.image eval \"Lambda
>> processJSON:
>> '{\"key3\":\"value3\",\"key2\":\"value2\",\"key1\":\"value1\"}'\"\n'Pharo
>> cannot write to the changes file named /var/task/Pharo.changes.\n\nPlease
>> check that you have write permission for this file.\n\nYou won''t be able to
>> save this image correctly until you fix this.'\n\u001b[31mError: Can't find
>> the requested
>> origin\n\u001b[0mUnixResolver(PlatformResolver)>>cantFindOriginError\n[ self
>> cantFindOriginError ] in
>> UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: in Block: [
>> self cantFindOriginError
>> ]\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:\nUnixResolver>>home\n[
>> self home / '.config' ] in UnixResolver>>preferences in Block: [ self home /
>> '.config'
>> ]\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:\nUnixResolver>>preferences\nUnixResolver(FileSystemResolver)>>resolve:\nSystemResolver(FileSystemResolver)>>unknownOrigin:\nSystemResolver(FileSystemResolver)>>resolve:\nInteractiveResolver>>unknownOrigin:\n[
>> self unknownOrigin: origin ] in InteractiveResolver>>resolve: in Block: [
>> self unknownOrigin: origin
>> ]\nIdentityDictionary(Dictionary)>>at:ifAbsent:\nInteractiveResolver>>resolve:\nFileLocator>>resolve\nFileLocator(AbstractFileReference)>>exists\nGlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>shouldCallPreviousPersistence\nGlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>ensure:\nGlobalIdentifier>>ensure\nGlobalIdentifier
>> class>>initializeUniqueInstance\nGlobalIdentifier
>> class>>uniqueInstance\nSystemSettingsPersistence
>> class>>resumeSystemSettings\n[ :persistence | persistence
>> resumeSystemSettings ] in PharoCommandLineHandler>>runPreferences in Block:
>> [ :persistence | persistence resumeSystemSettings
>> ...etc...\nBlockClosure>>cull:\nSystemDictionary(Dictionary)>>at:ifPresent:\nSmalltalkImage>>at:ifPresent:\nPharoCommandLineHandler>>runPreferences\nPharoCommandLineHandler>>activate\nPharoCommandLineHandler
>> class(CommandLineHandler class)>>activateWith:\n\u001b[0m",
>>  "errorType": "Error",
>>  "stackTrace": [
>>"'Pharo cannot write to the changes file named
>> /var/task/Pharo.changes.",
>>"",
>>"Please check that you have write permission for this file.",
>>"",
>>"You won''t be able to save this image correctly until you fix this.'",
>>"\u001b[31mError: Can't find the requested origin",
>>"\u001b[0mUnixResolver(PlatformResolver)>>cantFindOriginError",
>>"[ self cantFindOriginError ] in
>> UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: in Block: [
>> self cantFindOriginError ]",
>>"UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:",
>>"UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:",
>>"UnixResolver>>home",
>>"[ self home / '.config' ] in UnixResolver>>preferences in Block: [ self
>> home / '.config' ]",
>>"UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:",
>>"UnixResolver>>preferences",
>>"UnixResolver(FileSystemResolver)>>resolve:",
>>"SystemResolver(FileSystemResolver)>>unknownOrigin:",
>>"SystemResolver(FileSystemResolver)>>resolve:",
>>"InteractiveResolver>>unknownOrigin:",
>>"[ self unknownOrigin: origin ] in InteractiveResolver>>resolve: in
>> Block: [ self unknownOrigin: origin ]",
>>   

Re: [Pharo-users] Are we able to run pharo images in a read only environment?

2017-06-27 Thread Sven Van Caekenberghe
> On 27 Jun 2017, at 18:05, Tim Mackinnon  wrote:
> 
> Hi - I am trying to run a pharo image in lambda (as an experiment) - however 
> I get an error from Pharo about not being able to write to the changes file?
> 
> As I am just evaluating some code - I’m not really coding, so don’t need a 
> changes file - is there a command line option to not require it?

That is really strange, it should just work (it does for me using the zero 
config scripts).

I would try to use absolute (resolved) paths as much as possible.

> Also, am I running pharo the most efficient way - I’m using eval on the 
> command line and referencing a class with a class method - but is this the 
> best way?

Yes, that is ok.

> Thanks,
> 
> Tim
> 
> "errorMessage": "Command failed: ./pharo Pharo.image eval \"Lambda 
> processJSON: 
> '{\"key3\":\"value3\",\"key2\":\"value2\",\"key1\":\"value1\"}'\"\n'Pharo 
> cannot write to the changes file named /var/task/Pharo.changes.\n\nPlease 
> check that you have write permission for this file.\n\nYou won''t be able to 
> save this image correctly until you fix this.'\n\u001b[31mError: Can't find 
> the requested 
> origin\n\u001b[0mUnixResolver(PlatformResolver)>>cantFindOriginError\n[ self 
> cantFindOriginError ] in 
> UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: in Block: [ 
> self cantFindOriginError 
> ]\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:\nUnixResolver>>home\n[
>  self home / '.config' ] in UnixResolver>>preferences in Block: [ self home / 
> '.config' 
> ]\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:\nUnixResolver>>preferences\nUnixResolver(FileSystemResolver)>>resolve:\nSystemResolver(FileSystemResolver)>>unknownOrigin:\nSystemResolver(FileSystemResolver)>>resolve:\nInteractiveResolver>>unknownOrigin:\n[
>  self unknownOrigin: origin ] in InteractiveResolver>>resolve: in Block: [ 
> self unknownOrigin: origin 
> ]\nIdentityDictionary(Dictionary)>>at:ifAbsent:\nInteractiveResolver>>resolve:\nFileLocator>>resolve\nFileLocator(AbstractFileReference)>>exists\nGlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>shouldCallPreviousPersistence\nGlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>ensure:\nGlobalIdentifier>>ensure\nGlobalIdentifier
>  class>>initializeUniqueInstance\nGlobalIdentifier 
> class>>uniqueInstance\nSystemSettingsPersistence 
> class>>resumeSystemSettings\n[ :persistence | persistence 
> resumeSystemSettings ] in PharoCommandLineHandler>>runPreferences in Block: [ 
> :persistence | persistence resumeSystemSettings 
> ...etc...\nBlockClosure>>cull:\nSystemDictionary(Dictionary)>>at:ifPresent:\nSmalltalkImage>>at:ifPresent:\nPharoCommandLineHandler>>runPreferences\nPharoCommandLineHandler>>activate\nPharoCommandLineHandler
>  class(CommandLineHandler class)>>activateWith:\n\u001b[0m",
>   "errorType": "Error",
>   "stackTrace": [
> "'Pharo cannot write to the changes file named /var/task/Pharo.changes.",
> "",
> "Please check that you have write permission for this file.",
> "",
> "You won''t be able to save this image correctly until you fix this.'",
> "\u001b[31mError: Can't find the requested origin",
> "\u001b[0mUnixResolver(PlatformResolver)>>cantFindOriginError",
> "[ self cantFindOriginError ] in 
> UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: in Block: [ 
> self cantFindOriginError ]",
> "UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:",
> "UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:",
> "UnixResolver>>home",
> "[ self home / '.config' ] in UnixResolver>>preferences in Block: [ self 
> home / '.config' ]",
> "UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:",
> "UnixResolver>>preferences",
> "UnixResolver(FileSystemResolver)>>resolve:",
> "SystemResolver(FileSystemResolver)>>unknownOrigin:",
> "SystemResolver(FileSystemResolver)>>resolve:",
> "InteractiveResolver>>unknownOrigin:",
> "[ self unknownOrigin: origin ] in InteractiveResolver>>resolve: in 
> Block: [ self unknownOrigin: origin ]",
> "IdentityDictionary(Dictionary)>>at:ifAbsent:",
> "InteractiveResolver>>resolve:",
> "FileLocator>>resolve",
> "FileLocator(AbstractFileReference)>>exists",
> 
> "GlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>shouldCallPreviousPersistence",
> "GlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>ensure:",
> "GlobalIdentifier>>ensure",
> "GlobalIdentifier class>>initializeUniqueInstance",
> "GlobalIdentifier class>>uniqueInstance",
> "SystemSettingsPersistence class>>resumeSystemSettings",
> "[ :persistence | persistence resumeSystemSettings ] in 
> PharoCommandLineHandler>>runPreferences in Block: [ :persistence | 
> persistence resumeSystemSettings ...etc...",
> "BlockClosure>>cull:",
> "SystemDicti

Re: [Pharo-users] Are we able to run pharo images in a read only environment?

2017-06-27 Thread Esteban A. Maringolo
2017-06-27 16:15 GMT-03:00 Sven Van Caekenberghe :
>> On 27 Jun 2017, at 21:00, Esteban A. Maringolo  wrote:

>> It would be good to know how fast does the image boot and start
>> execution in the context of a service billed at the sub second scale.
>
> Sadly I have the impression we lost some speed:

[SNIP]

> But it is really hard to find the cause.
>
> That being said, these lambda servers can only work well if they keep 
> instances alive for longer when there is enough traffic.

AFAIU the purpose of AWS Lambda is to have "fire and forget" kind of
functions, mainly stateless consumers of single purpose functions,
with "infinite" transparent scalability.

Like for processing ads clicks/impressions, receiving data from lots
of mobile/IoT devices, etc.

Regards,

Esteban A. Maringolo



Re: [Pharo-users] PharoCloud drops VM hosting and focuses on Ephemeric Cloud

2017-06-27 Thread mikefilonov
Hi Yuriy,

>So is it for static applications only?

Short answer is "no".

The ephemeric cloud only restricts saving files to local disk. This means,
only Image persistence is not working with Ephemeric cloud.

However, any other form of persistence works. You can connect Images in
Ephemeric cloud to databases (ex.:
http://docs.swarm.pharocloud.com/article/usecase_do_mongo ), file stores,
REST API services... Basically, in ephemeric cloud only code is static, but
data is not.

If you have a concrete use case, contact me at supp...@pharocloud.com (or in
pharo discordapp chat) and we can discuss options for you project.




--
View this message in context: 
http://forum.world.st/PharoCloud-drops-VM-hosting-and-focuses-on-Ephemeric-Cloud-tp4950562p4952727.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] PharoJS

2017-06-27 Thread Craig Latta
Hi--

 Aik-Siong writes:

> Craig Latta is doing something interesting[1] with SqueakJS which is
> an optimized Smalltalk VM in JavaScript and HTML5. It is supposedly
> able to run Smalltalk fast inside the browser and access the
> JavaScript world freely. I think this route will benefit greatly from
> WebAssembly.

 I'm also making it run Pharo.


 thanks,

-C

[1] https://caffeine.js.org

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177 (SMS ok)
+ 1 415  287 3547 (no SMS)



Re: [Pharo-users] ZnConstants missing 511 in default Pharo 6.0 32 image?

2017-06-27 Thread Tim Mackinnon
Ah - I see. Is this where the minimal images would help? As in CI would just 
take a base image and just load zn  and hence run the new initialise anyway and 
so avoid this?

I'm a bit confused how how base images are built to even have this problem
In a world of CI?

Tim

Sent from my iPhone

> On 27 Jun 2017, at 17:55, Sven Van Caekenberghe  wrote:
> 
> 
>> On 27 Jun 2017, at 18:30, Tim Mackinnon  wrote:
>> 
>> Yes ZnConstants initialize 
>> Works,
>> 
>> When I inspected the constants before this, it seemed to have everything 
>> except 511 (the last one).
>> 
>> Is there a load error in Pharo - as if the initialise code is correct, and 
>> the images are built with a CI process - I’m wondering how it gets into that 
>> state?
> 
> When a class is loaded, class side #initialize methods are run (so classes 
> are re-initialized) if their source code changed (compared to what is already 
> in the image). When 511 was added, the #initialize did not change, hence it 
> was not run. That is why I currently add a comment like "Forced source code 
> change for automatic initialization: 20170510" where I change the date when 
> needed.
> 
>> Tim
>> 
>>> On 27 Jun 2017, at 15:02, Sven Van Caekenberghe  wrote:
>>> 
>>> Hi Tim,
>>> 
 On 27 Jun 2017, at 15:50, Tim Mackinnon  wrote:
 
 Hi - I have been slowly working my way through some of the pharo 
 components and tutorials and when trying out ZnEasy with a password 
 protected api, I got a talkback  when I mistyped a password. 
 It looks like ZnConstants in a fresh Pharo 6.0 32 image excludes 511 from 
 its constants. The code looks correct (and its defined in the initialize 
 method - ) but when I tried a ZnEasy call which returned 511 I got a 
 walkback showing it as an unrecognized code? (The walkback is looking for 
 511 in ZnConstants httpStatusCodes).
 
 Is there some problem in the build process, or is this some type of user 
 error?
 
 Tim
>>> 
>>> You should get
>>> 
>>> ZnStatusLine code: 511. "a ZnStatusLine(511 Network Authentication 
>>> Required)"
>>> 
>>> If that is not the case, do
>>> 
>>> ZnConstants initialize.
>>> 
>>> What does ZnConstants class>>#initialize look like for you ? 
>>> 
>>> The latest version should read like
>>> 
>>> initialize
>>>"Forced source code change for automatic initialization: 20170510"
>>>
>>>self initializeHTTPStatusCodes
>>> 
>>> Sven
>> 
>> 
> 
> 




Re: [Pharo-users] Pharo6 bootstrap how to

2017-06-27 Thread Tim Mackinnon
This is great work - I think ultimately we can show the strengths of Smalltalk 
on images running in unusual places.

Tim

Sent from my iPhone

> On 27 Jun 2017, at 12:05, Pavel Krivanek  wrote:
> 
> 
> 
> 2017-06-26 18:19 GMT+02:00 Tim Mackinnon :
>> This is very interesting… what would you need in that image to use the 
>> remote debugging demo’d at Pharo Days 2017 - as I’m assuming for a server 
>> environment with a web-app, you could have a lean core image and then 
>> remotely attach to it to understand what was going on? With enough 
>> infrastructure to inspect objects etc, but locally you could look up things 
>> with GT tools?
>> 
>> Or have I got the wrong end of the stick on this?
> 
> With Denis we are trying to clean all dependencies so the remote IDE will be 
> able to work on a small headless images. 
> 
> Cheers,
> -- Pavel
>  
>> 
>> Tim
>> 
>>> On 26 Jun 2017, at 15:29, Pavel Krivanek  wrote:
>>> 
>>> You need to do it manually. You should probably start with own copy of 
>>> BaselineOfIDE and then try to remove packages you don't need. You should do 
>>> it slowly and check if you are still able to generate a working image.
>>> 
>>> -- Pavel
>>> 
>>> 2017-06-26 16:09 GMT+02:00 Hilaire :
 So in pratical term, how do you create a baseline?
 
 Hilaire
 
 Le 26/06/2017 à 15:43, Pavel Krivanek a écrit :
 > We have the BaselineOfBasicTools that is something in the middle. It
 > already contains Workspace and Nautilus (but not GTPlayground).
 > BaselineOfIDE corresponds to the standard Pharo distribution so you will
 > not save space. You should probalby create own baseline and select what
 > you need.
 >
 >
 >
 > For the later I really want to have an easier browser, something to
 > build on GLamour, if I understand correctly. But it will be another
 > topic, later.
 >
 >
 > Glamour is part of BaselineOfIDE so you will need it or create own 
 > baseline.
 >
 
 --
 Dr. Geo
 http://drgeo.eu
 
 
>>> 
>> 
> 


Re: [Pharo-users] Are we able to run pharo images in a read only environment?

2017-06-27 Thread Tim Mackinnon
Hi Sven, I'm curious how you are running your image.

I am following this tutorial - 
https://aws.amazon.com/blogs/compute/scripting-languages-for-aws-lambda-running-php-ruby-and-go/

And am running pharo like the GO example by exec'ing via node js.

My aim was to write an Alexa service in pharo vs nodejs like I have been doing.

I was assuming I can call pharo via the eval option and stringify the Jaon 
Alexa Paramus and return a result via Stdout... well in theory, and the work to 
make pharo play better in wider ecosystem.

It should work, and it seems you did make it work... but how?

Like you, I am wondering when I run it on an ec2 instance (non lambda), why it 
takes so long to load? It feels like it can be faster?

Tim

Sent from my iPhone



Sent from my iPhone
> On 27 Jun 2017, at 20:21, Sven Van Caekenberghe  wrote:
> 
> 
>> On 27 Jun 2017, at 18:05, Tim Mackinnon  wrote:
>> 
>> Hi - I am trying to run a pharo image in lambda (as an experiment) - however 
>> I get an error from Pharo about not being able to write to the changes file?
>> 
>> As I am just evaluating some code - I’m not really coding, so don’t need a 
>> changes file - is there a command line option to not require it?
> 
> That is really strange, it should just work (it does for me using the zero 
> config scripts).
> 
> I would try to use absolute (resolved) paths as much as possible.
> 
>> Also, am I running pharo the most efficient way - I’m using eval on the 
>> command line and referencing a class with a class method - but is this the 
>> best way?
> 
> Yes, that is ok.
> 
>> Thanks,
>> 
>> Tim
>> 
>> "errorMessage": "Command failed: ./pharo Pharo.image eval \"Lambda 
>> processJSON: 
>> '{\"key3\":\"value3\",\"key2\":\"value2\",\"key1\":\"value1\"}'\"\n'Pharo 
>> cannot write to the changes file named /var/task/Pharo.changes.\n\nPlease 
>> check that you have write permission for this file.\n\nYou won''t be able to 
>> save this image correctly until you fix this.'\n\u001b[31mError: Can't find 
>> the requested 
>> origin\n\u001b[0mUnixResolver(PlatformResolver)>>cantFindOriginError\n[ self 
>> cantFindOriginError ] in 
>> UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: in Block: [ 
>> self cantFindOriginError 
>> ]\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:\nUnixResolver>>home\n[
>>  self home / '.config' ] in UnixResolver>>preferences in Block: [ self home 
>> / '.config' 
>> ]\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:\nUnixResolver>>preferences\nUnixResolver(FileSystemResolver)>>resolve:\nSystemResolver(FileSystemResolver)>>unknownOrigin:\nSystemResolver(FileSystemResolver)>>resolve:\nInteractiveResolver>>unknownOrigin:\n[
>>  self unknownOrigin: origin ] in InteractiveResolver>>resolve: in Block: [ 
>> self unknownOrigin: origin 
>> ]\nIdentityDictionary(Dictionary)>>at:ifAbsent:\nInteractiveResolver>>resolve:\nFileLocator>>resolve\nFileLocator(AbstractFileReference)>>exists\nGlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>shouldCallPreviousPersistence\nGlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>ensure:\nGlobalIdentifier>>ensure\nGlobalIdentifier
>>  class>>initializeUniqueInstance\nGlobalIdentifier 
>> class>>uniqueInstance\nSystemSettingsPersistence 
>> class>>resumeSystemSettings\n[ :persistence | persistence 
>> resumeSystemSettings ] in PharoCommandLineHandler>>runPreferences in Block: 
>> [ :persistence | persistence resumeSystemSettings 
>> ...etc...\nBlockClosure>>cull:\nSystemDictionary(Dictionary)>>at:ifPresent:\nSmalltalkImage>>at:ifPresent:\nPharoCommandLineHandler>>runPreferences\nPharoCommandLineHandler>>activate\nPharoCommandLineHandler
>>  class(CommandLineHandler class)>>activateWith:\n\u001b[0m",
>>  "errorType": "Error",
>>  "stackTrace": [
>>"'Pharo cannot write to the changes file named /var/task/Pharo.changes.",
>>"",
>>"Please check that you have write permission for this file.",
>>"",
>>"You won''t be able to save this image correctly until you fix this.'",
>>"\u001b[31mError: Can't find the requested origin",
>>"\u001b[0mUnixResolver(PlatformResolver)>>cantFindOriginError",
>>"[ self cantFindOriginError ] in 
>> UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: in Block: [ 
>> self cantFindOriginError ]",
>>"UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:",
>>"UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:",
>>"UnixResolver>>home",
>>"[ self home / '.config' ] in UnixResolver>>preferences in Block: [ self 
>> home / '.config' ]",
>>"UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:",
>>"UnixResolver>>preferences",
>>"UnixResolver(FileSystemResolver)>>resolve:",
>>"SystemResolver(FileSystemResolver)>>unknownOrigin:",
>>"SystemResolver(FileSystemResolver)>>resolve:",
>>"InteractiveResolver>>unknownOrigin:",
>>