Re: [Pharo-users] Pharo6 bootstrap how to
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-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?
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 ?
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?
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 ?
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?
> 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?
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 ?
> 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 ?
> 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?
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?
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?
> 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
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?
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?
> 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?
> 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 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
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
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?
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
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?
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:",
>>
