[Pharo-users] Where do I find a Pillar syntax summary?

2017-08-22 Thread H. Hirzel
Hello

There is a  tutorial for the Pillar document writing system [1]. The
Pharo 6 catalog entry shows that the Pillar syntax goes back to the
Pier CMS syntax of Lukas Renggli [2].

There is a syntax summary for the Pier CMS

  http://www.piercms.com/doc/syntax   [3]

I assume that most this still applies for Pillar?
But I can imagine that there have here been updates / changes / extensions.

I am looking for a Pillar syntax summary ("cheat sheet").
Is this available somewhere?

Kind regards

Hannes




[1] 
https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/PillarChap/Pillar.html

[2]  Pharo 6.1 catalog entry for Pillar

Pillar is a wiki-like syntax, its document model, a parser for it, and
a set of exporters (e.g., HTML, LaTeX, Markdown...). Pillar is
primarily used as the wiki syntax behind the *Pier
CMS>http://piercms.com*. Pillar is also being used to write books:
e.g., *the Enterprise Pharo book>http://books.pharo.org/*.

The original creator of Pillar (formerly known as ''the syntax behind
the Pier CMS'') is Lukas Renggli. Nevertheless, *Damien
Cassou>damien.cas...@inria.fr* is now the maintainer. The website is
at *http://www.smalltalkhub.com/#!/~Pier/Pillar*. Issues should be
reported to *https://github.com/pillar-markup/pillar/issues*


[3] http://wiki.squeak.org/squeak/3700 has some information about Pier.
It refers to a Smallwiki mailing list which is active.

https://www.list.inf.unibe.ch/pipermail/smallwiki/

e.g. https://www.list.inf.unibe.ch/pipermail/smallwiki/2016-November/008051.html
with an announcment 'Pier3 with latest Pillar'



[Pharo-users] [Wanted] Newsletter topics and "takeovers"

2017-08-22 Thread Marcus Denker
Hi,

As you for sure know, we have now a good monthly rhythm with the newsletter.


http://us11.campaign-archive1.com/home/?u=6f667565c2569234585a7be77&id=048680a940
 


And the number of subscribers is growing!

If you have ideas for the next newsletters (August is done and will be posted 
soon, but we need
content for September and later…)

We need both small and larger items. Example for smaller news:
- announcements of new libraries 
- new releasese
- links to videos
- links to blog posts

And larger items. These have not just the title and link, but a short 
description and if possible a picture.
(If you look at the older newsletters it should be clear what is needed).

Another idea I had: we could even have “complete takeover’ of a newsletter by 
someone who wants to
edit a newsletter for one specific topic. This can be about one project, or 
just a “theme”  (e.g. 
“cloud deployment with Pharo”)

if you are interested —> send a mail to bo...@pharo.org 


Marcus

Re: [Pharo-users] Where do I find a Pillar syntax summary?

2017-08-22 Thread Stephane Ducasse
I do not know about a stylesheet.

Stef

On Tue, Aug 22, 2017 at 9:25 AM, H. Hirzel  wrote:
> Hello
>
> There is a  tutorial for the Pillar document writing system [1]. The
> Pharo 6 catalog entry shows that the Pillar syntax goes back to the
> Pier CMS syntax of Lukas Renggli [2].
>
> There is a syntax summary for the Pier CMS
>
>   http://www.piercms.com/doc/syntax   [3]
>
> I assume that most this still applies for Pillar?
> But I can imagine that there have here been updates / changes / extensions.
>
> I am looking for a Pillar syntax summary ("cheat sheet").
> Is this available somewhere?
>
> Kind regards
>
> Hannes
>
>
>
>
> [1] 
> https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/PillarChap/Pillar.html
>
> [2]  Pharo 6.1 catalog entry for Pillar
>
> Pillar is a wiki-like syntax, its document model, a parser for it, and
> a set of exporters (e.g., HTML, LaTeX, Markdown...). Pillar is
> primarily used as the wiki syntax behind the *Pier
> CMS>http://piercms.com*. Pillar is also being used to write books:
> e.g., *the Enterprise Pharo book>http://books.pharo.org/*.
>
> The original creator of Pillar (formerly known as ''the syntax behind
> the Pier CMS'') is Lukas Renggli. Nevertheless, *Damien
> Cassou>damien.cas...@inria.fr* is now the maintainer. The website is
> at *http://www.smalltalkhub.com/#!/~Pier/Pillar*. Issues should be
> reported to *https://github.com/pillar-markup/pillar/issues*
>
>
> [3] http://wiki.squeak.org/squeak/3700 has some information about Pier.
> It refers to a Smallwiki mailing list which is active.
>
> https://www.list.inf.unibe.ch/pipermail/smallwiki/
>
> e.g. 
> https://www.list.inf.unibe.ch/pipermail/smallwiki/2016-November/008051.html
> with an announcment 'Pier3 with latest Pillar'
>



[Pharo-users] Glorp: Is there some way to do insert-or-update?

2017-08-22 Thread Herby Vojčík

Hello!

Is there some way to do insert-or-update operation (that is, roughly, to 
be able to register an object with possibly existing primary key(s) and 
let it be written regardless?


Thanks, Herby

P.S.: Use case - I want to have log of USER-DEVICE pairing with last 
timestamp and 'enabled' field that would be set to false once push 
notification fails - but set to true once user actually logs from the 
device (again). I don't want to have many historical records, so I want 
to have USER+DEVICE to be a composed primary key. Which means it is 
inserted first time, but possibly updated later.




Re: [Pharo-users] Teapot and Mustache in Pharo 6?

2017-08-22 Thread Stephane Ducasse
You have a also mustaside a bridge between mustache and seaside.


On Mon, Aug 21, 2017 at 5:52 PM, H. Hirzel  wrote:
> Hello
>
> The TeaPot documentation [1] references Mustache [2] in the section
>
>   4.1. Response Transformers [3]
>
> There is an example for a JSON transformation but none for Mustache.
>
> Where do I find some information how to use Mustache together with Teapot?
>
> Regards
> Hannes
>
>
>
>
> [1]
> https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/Teapot/Teapot.html
>
> [2] 
> https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/Mustache/Mustache.html
>
>
> [3] The responsibility of a response transformer is to convert the
> output of the action block to HTML and to set the content-type of the
> response. Some response transformers require external packages (e.g.,
> NeoJSON, STON, Mustache).
>
> [4] Adapted example
>
> TLWebserver teapot  GET: '/jsonlist' -> #(1 2 3 4); output: #json.
>



Re: [Pharo-users] Where is the installation log? Installing FileMan into Pharo 6.0-60510, which is 6.1.

2017-08-22 Thread Stephane Ducasse
FileSystem is much better than Fileman. Fileman is a library from the
past from my point of view.


On Mon, Aug 21, 2017 at 3:18 PM, H. Hirzel  wrote:
> 'WordMenu -> 'Tools' -> 'Transcript'  :-)
>
> The Transcript window needs to be open.
>
> Then it shows
>
> ...RETRY->ConfigurationOfFileMan
> ...RETRY->ConfigurationOfFileMan
> gofer repository error: 'GoferRepositoryError: Could not access
> http://www.squeaksource.com/MetacelloRepository/FileMan:
> ZnHttpUnsuccessful: 404 Not Found'...ignoring
> ...FAILED->ConfigurationOfFileManCould not resolve:
> ConfigurationOfFileMan [ConfigurationOfFileMan]
>
>
> I.e. there is no   http://www.squeaksource.com/MetacelloRepository/FileMan
>
>
> http://www.squeaksource.com/MetacelloRepository
>
> contains several
> ConfigurationOfFileMan
> files.
>
> The latest is 
> http://www.squeaksource.com/MetacelloRepository/ConfigurationOfFileMan-mu.9.mcz
>
> A newer version is needed in the repository
>   http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main
>
> enriched with the three methods
>
> #catalogDescription
> #catalogContactInfo
> #catalogKeywords
>
> mentioned in
>
>  http://catalog.pharo.org/catalog/note-for-developers
>
> In addition three tests need to be fixed.
>
> --Hannes
>
> On 8/21/17, H. Hirzel  wrote:
>> The terminal window from which I started pharo 6.0-60510/6.1 is open.
>>
>> No stdout, stderr messages (Ubuntu 14.04) -- Squeak has them.
>>
>> I was also searching for stdout in the 'Settings browser'.
>>
>> On 8/21/17, Herby Vojčík  wrote:
>>> H. Hirzel wrote:
 Hello

 I wanted to install the FileMan package through the catalog into Pharo
 6.0-60510 (a.k.a 6.1).

 FileMan is library used by Cuis Smalltalk and  also available for
 other Smalltalk dialects -  http://wiki.squeak.org/squeak/6333.

 There is a FileMan entry in the catalog, but no description and 6.0
 compatibility tag. So I tried that installation.

 For two seconds then there was a note at the lower left corner of the
 screen that there was an installation problem.

 I wonder where I do find the installation log? This is necessary  in
 such cases in order to spot the problem.
>>>
>>> I would look into stdout, stderr (in Windows they are saved to file) and
>>> .changes file.
>>>

 However in this case the solution was to go for the README of

  https://github.com/mumez/FileMan

 It has


  Gofer it
url: 'http://squeaksource.com/MetacelloRepository';
package: 'ConfigurationOfFileMan';
load.
  (Smalltalk at: #ConfigurationOfFileMan) perform: #load.


 Then 13 out of 16 tests pass.

 Regards

 Hannes

>>>
>>>
>>>
>>
>



Re: [Pharo-users] How do I get a list of all packages in the catalog with a 6.0 tag?

2017-08-22 Thread Stephane Ducasse
You can use the Catalog Browser?
In tools.
Is it not what you are looking for?

Stef

On Mon, Aug 21, 2017 at 3:58 PM, H. Hirzel  wrote:
> Thank you!
>
>
> "Produce a list of Pharo 6 catalog entries (tag: 'Pharo 6.0') in
> markdown format"
>
> | catalog |
> catalog :=  CatalogProvider default retrieveProjects select: [ :x |
> (x at: 'repositoryUrl') =
> 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main' ].
>
> Transcript show: '# Pharo 6 catalog list'; cr.
>
> (catalog asSortedCollection: [ :a :b | (a at: 'name') < (b at: 'name')
> ]) do: [ :entry | Transcript show: '## ', (entry at: 'name') ; cr;
> show:  (entry at: 'description'); cr;cr.
> Transcript show: 'keywords: '.
> (entry at: 'keywords') sorted do: [ :keyword | Transcript show:
> keyword; space ].
> Transcript cr; cr].
>
> Transcript show: '# Pharo 6 catalog list - description is missing'; cr.
>
> (catalog asSortedCollection: [ :a :b | (a at: 'name') < (b at: 'name') ])
> do: [:entry | (entry at: 'description') ifNil: [ Transcript show: '-
> ', (entry at: 'name'); cr ]
> ].
>
>
> --Hannes
>
> On 8/21/17, Pierce Ng  wrote:
>> On Mon, Aug 21, 2017 at 11:06:36AM +0200, H. Hirzel wrote:
>>> What is the code snippet to get a list of all packages with a '6.0'
>>> tag and their description?
>>
>> "CatalogProject availableRepositoryURLStrings" gives:
>>
>>   #('http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main'
>> 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo30/main'
>> 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo40/main'
>> 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo50/main'
>> 'http://www.squeaksource.com/MetacelloRepository')
>>
>> "CatalogProvider default retrieveProjects" gives an array of 456 items.
>> Each
>> item is a dictionary with a "repositoryUrl" key which matches one of the
>> above
>> strings. Therefore:
>>
>>   CatalogProvider default retrieveProjects select: [ :x |
>> (x at: 'repositoryUrl') =
>> 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main' ]
>>
>>
>>> In Squeak I would just bring up the halo menu, then open an inspector
>>> on the Catalog Browser window and see what model is attached.
>>>
>>> How do I do this in Pharo these days?
>>
>> On Linux, shift-ctrl click the window, then from the menu select debug...
>> inspect model.
>>
>> Pierce
>>
>>
>>
>



Re: [Pharo-users] Minimizing an Application

2017-08-22 Thread horrido
If you start with a minimal imaqe, it's not obvious to me how you'd add a
missing class and pull in all of its dependencies (which can be voluminous).
And for a large application, there could be many, many missing classes. This
sounds rather arduous.


Tim Mackinnon wrote
> There has been a lot of great work on this front on the Pharo side from
> the "team" and PharoLambda has made use of it (although it's a tiny
> project).
> 
> My footprint is ~22mb including vm & image. And leaving out sources.
> 
> The ./scripts directory has the example of how to do it, along side the
> .gitlab-ci.yml file.
> 
> Unlike the commercial distributions (and this may have changed recently),
> there is a minimal image you can have download, which has enough to
> bootstrap loading your project via metacello. There are no browser tools
> or morphic things in the starting image I have chosen.
> 
> You can potentially get smaller - but it's a decent result. The only bit I
> added was to remove testcases (optional), and clear down metacello.
> 
> It's probably worthy of a blog post - but honestly the running example is
> pretty straight forward.
> 
> The commercial tools all have a decent "strip dead code" tool, that does a
> similar thing in reverse - which is equally a decent way of approaching
> the problem and can lead to even tinier results.
> 
> Tim
> 
> Sent from my iPhone
> 
>> On 21 Aug 2017, at 21:25, horrido <

> horrido.hobbies@

> > wrote:
>> 
>> I received this comment on Facebook:
>> 
>> Smalltalk is a fantastic language and its development environment can't
>> be
>> beat... But the documentation for the many open source implementations is
>> contradictory or confusing or missing. I can't speak for the commercial
>> versions. Without an experienced mentor it is not possible to create a
>> complex app. And even when you have done so, *I know no way to strip out
>> the
>> unused part of the image as well as the embedded source code*.
>> -
>> 
>> This issue of stripping out unused code seems to recur a lot. And truth
>> be
>> told, I've never seen a clear explanation of how to do this. Can someone
>> provide clear direction? Is this documented anywhere? I'd like to use the
>> information in future to assuage other people's concerns.
>> 
>> Thanks.
>> 
>> 
>> 
>> --
>> View this message in context:
>> http://forum.world.st/Minimizing-an-Application-tp4963262.html
>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>





--
View this message in context: 
http://forum.world.st/Minimizing-an-Application-tp4963262p4963349.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] Where do I find a Pillar syntax summary?

2017-08-22 Thread Cyril Ferlicot D.
Le 22/08/2017 à 09:25, H. Hirzel a écrit :
> Hello
> 
> There is a  tutorial for the Pillar document writing system [1]. The
> Pharo 6 catalog entry shows that the Pillar syntax goes back to the
> Pier CMS syntax of Lukas Renggli [2].
> 
> There is a syntax summary for the Pier CMS
> 
>   http://www.piercms.com/doc/syntax   [3]
> 
> I assume that most this still applies for Pillar?
> But I can imagine that there have here been updates / changes / extensions.
> 
> I am looking for a Pillar syntax summary ("cheat sheet").
> Is this available somewhere?
> 
> Kind regards
> 
> Hannes
> 
> 

Hi!

For everything before 2015 there is this one:

https://www.cheatography.com/benjaminvanryseghem/cheat-sheets/pillar/

But everything added after 2015 there is none :( Also there was a change
of syntax on the links but I don't remember which one. The correct
syntax should be in the PDF you referenced in [1].

I'll add an issue to the Pillar repo to create such a sheet but I will
not have the time to do it. (At least not now)

> 
> 
> [1] 
> https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/PillarChap/Pillar.html
> 
> [2]  Pharo 6.1 catalog entry for Pillar
> 
> Pillar is a wiki-like syntax, its document model, a parser for it, and
> a set of exporters (e.g., HTML, LaTeX, Markdown...). Pillar is
> primarily used as the wiki syntax behind the *Pier
> CMS>http://piercms.com*. Pillar is also being used to write books:
> e.g., *the Enterprise Pharo book>http://books.pharo.org/*.
> 
> The original creator of Pillar (formerly known as ''the syntax behind
> the Pier CMS'') is Lukas Renggli. Nevertheless, *Damien
> Cassou>damien.cas...@inria.fr* is now the maintainer. The website is
> at *http://www.smalltalkhub.com/#!/~Pier/Pillar*. Issues should be
> reported to *https://github.com/pillar-markup/pillar/issues*
> 
> 
> [3] http://wiki.squeak.org/squeak/3700 has some information about Pier.
> It refers to a Smallwiki mailing list which is active.
> 
> https://www.list.inf.unibe.ch/pipermail/smallwiki/
> 
> e.g. 
> https://www.list.inf.unibe.ch/pipermail/smallwiki/2016-November/008051.html
> with an announcment 'Pier3 with latest Pillar'
> 


-- 
Cyril Ferlicot
https://ferlicot.fr

http://www.synectique.eu
2 rue Jacques Prévert 01,
59650 Villeneuve d'ascq France



signature.asc
Description: OpenPGP digital signature


Re: [Pharo-users] [Pharo-dev] TechTalk Dates for the rest of 2017

2017-08-22 Thread Alexandre Bergel
>> I'm not sure Pharo tech talk is the good place but would love to see such a 
>> presentation. 
>> 
> Why not? I am sure Alex will have some code in there.. " programming, from 
> scratch, a small artificial intelligence”
> if done with Pharo would be a very nice thing todo for the tech talk.

Yes, that is the plan. It could be a very practical lecture, with a lot of 
coding (but not many lines of code).

Alexandre

> 
>> Maybe you can do a Google or Twitch live video about that ?
>> 
> Yes, that at one of the pre-defined tech talk dates.
> 
>   Marcus
> 
> 




Re: [Pharo-users] Where do I find a Pillar syntax summary?

2017-08-22 Thread Stephane Ducasse
Cyril
I imagine that you refer to link ref with *@...*
Yes we should probably produce a stylesheet.

Now I'm busy finishing the new lecture.

Since we could not reproduce the Pillar image for Pharo 40 (because of
a bug in metacello) luc
pushed the Pharo mooc to Pharo 50.

Luc created a makefile producer from the pillar.conf and friday we will
do a day with damien on having the new makefile on all the booklets + travis.
So that I can have one way to do things for all the project.
I want to deprecate all the postBuild.sh creation in all the projects.

But lecture first

Stef

On Tue, Aug 22, 2017 at 12:56 PM, Cyril Ferlicot D.
 wrote:
> Le 22/08/2017 à 09:25, H. Hirzel a écrit :
>> Hello
>>
>> There is a  tutorial for the Pillar document writing system [1]. The
>> Pharo 6 catalog entry shows that the Pillar syntax goes back to the
>> Pier CMS syntax of Lukas Renggli [2].
>>
>> There is a syntax summary for the Pier CMS
>>
>>   http://www.piercms.com/doc/syntax   [3]
>>
>> I assume that most this still applies for Pillar?
>> But I can imagine that there have here been updates / changes / extensions.
>>
>> I am looking for a Pillar syntax summary ("cheat sheet").
>> Is this available somewhere?
>>
>> Kind regards
>>
>> Hannes
>>
>>
>
> Hi!
>
> For everything before 2015 there is this one:
>
> https://www.cheatography.com/benjaminvanryseghem/cheat-sheets/pillar/
>
> But everything added after 2015 there is none :( Also there was a change
> of syntax on the links but I don't remember which one. The correct
> syntax should be in the PDF you referenced in [1].
>
> I'll add an issue to the Pillar repo to create such a sheet but I will
> not have the time to do it. (At least not now)
>
>>
>>
>> [1] 
>> https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/PillarChap/Pillar.html
>>
>> [2]  Pharo 6.1 catalog entry for Pillar
>>
>> Pillar is a wiki-like syntax, its document model, a parser for it, and
>> a set of exporters (e.g., HTML, LaTeX, Markdown...). Pillar is
>> primarily used as the wiki syntax behind the *Pier
>> CMS>http://piercms.com*. Pillar is also being used to write books:
>> e.g., *the Enterprise Pharo book>http://books.pharo.org/*.
>>
>> The original creator of Pillar (formerly known as ''the syntax behind
>> the Pier CMS'') is Lukas Renggli. Nevertheless, *Damien
>> Cassou>damien.cas...@inria.fr* is now the maintainer. The website is
>> at *http://www.smalltalkhub.com/#!/~Pier/Pillar*. Issues should be
>> reported to *https://github.com/pillar-markup/pillar/issues*
>>
>>
>> [3] http://wiki.squeak.org/squeak/3700 has some information about Pier.
>> It refers to a Smallwiki mailing list which is active.
>>
>> https://www.list.inf.unibe.ch/pipermail/smallwiki/
>>
>> e.g. 
>> https://www.list.inf.unibe.ch/pipermail/smallwiki/2016-November/008051.html
>> with an announcment 'Pier3 with latest Pillar'
>>
>
>
> --
> Cyril Ferlicot
> https://ferlicot.fr
>
> http://www.synectique.eu
> 2 rue Jacques Prévert 01,
> 59650 Villeneuve d'ascq France
>



Re: [Pharo-users] Minimizing an Application

2017-08-22 Thread Stephane Ducasse
Hi Richard,

If you make sure that you have a seed and maps of dependencies for all
the packages you use then
you can build daily your project with a integration farm. I worked
with Envy and I was used to load in one click
a working or deployed image. And it worked.
Then working on the granularity of your packages and their
dependencies you can control what you deploy.
We are going in that direction for Pharo because we believe it is the
way for most projects.

So in the future we will get PharoSeed and Pharo as two images we
maintain and deploy but people will build their own based on
PharoSeed.

Now guillermo is his PhD developed also a shrinking system that can
produce hyper specialised
image (and quite small we got up to 11k image for 2 + 3). We could
produce a WebCounter Seaside app in 500 k. Now such scenarios are more
for advanced and specific use.

Stef




On Tue, Aug 22, 2017 at 12:46 PM, horrido  wrote:
> If you start with a minimal imaqe, it's not obvious to me how you'd add a
> missing class and pull in all of its dependencies (which can be voluminous).
> And for a large application, there could be many, many missing classes. This
> sounds rather arduous.
>
>
> Tim Mackinnon wrote
>> There has been a lot of great work on this front on the Pharo side from
>> the "team" and PharoLambda has made use of it (although it's a tiny
>> project).
>>
>> My footprint is ~22mb including vm & image. And leaving out sources.
>>
>> The ./scripts directory has the example of how to do it, along side the
>> .gitlab-ci.yml file.
>>
>> Unlike the commercial distributions (and this may have changed recently),
>> there is a minimal image you can have download, which has enough to
>> bootstrap loading your project via metacello. There are no browser tools
>> or morphic things in the starting image I have chosen.
>>
>> You can potentially get smaller - but it's a decent result. The only bit I
>> added was to remove testcases (optional), and clear down metacello.
>>
>> It's probably worthy of a blog post - but honestly the running example is
>> pretty straight forward.
>>
>> The commercial tools all have a decent "strip dead code" tool, that does a
>> similar thing in reverse - which is equally a decent way of approaching
>> the problem and can lead to even tinier results.
>>
>> Tim
>>
>> Sent from my iPhone
>>
>>> On 21 Aug 2017, at 21:25, horrido <
>
>> horrido.hobbies@
>
>> > wrote:
>>>
>>> I received this comment on Facebook:
>>>
>>> Smalltalk is a fantastic language and its development environment can't
>>> be
>>> beat... But the documentation for the many open source implementations is
>>> contradictory or confusing or missing. I can't speak for the commercial
>>> versions. Without an experienced mentor it is not possible to create a
>>> complex app. And even when you have done so, *I know no way to strip out
>>> the
>>> unused part of the image as well as the embedded source code*.
>>> -
>>>
>>> This issue of stripping out unused code seems to recur a lot. And truth
>>> be
>>> told, I've never seen a clear explanation of how to do this. Can someone
>>> provide clear direction? Is this documented anywhere? I'd like to use the
>>> information in future to assuage other people's concerns.
>>>
>>> Thanks.
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://forum.world.st/Minimizing-an-Application-tp4963262.html
>>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>>
>
>
>
>
>
> --
> View this message in context: 
> http://forum.world.st/Minimizing-an-Application-tp4963262p4963349.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>



Re: [Pharo-users] YAML parser (2017)

2017-08-22 Thread Stephane Ducasse
Hi Hannes

you should report this to doru.

Stef

On Sat, Aug 19, 2017 at 8:36 PM, H. Hirzel  wrote:
> On 8/19/17, Peter Uhnak  wrote:
>> On Sat, Aug 19, 2017 at 02:45:28PM +0200, H. Hirzel wrote:
>>> Peter, thanks for the confirmation that in your installation of the
>>> PetitYAML grammar all tests are green.
>>>
>>> I wonder how you did it.
>>
>> As I've said, you need to update PetitParser; if there's no appropriate
>> catalog entry, then ConfigurationOfPetitParser loadBleeding edge, or
>> manually via Monticello Browser (the same way you loaded PetitYAML).
>>
>> Peter
>
> Thanks, loading ConfigurationOfPetitParser-TudorGirba.80 through the
> Monticello Browser (not the catalog) into Pharo 6 and then
>
>ConfigurationOfPetitParser load
>
> did the job. Now all PetitYAML grammar tests are grenen.
>
> --Hannes



Re: [Pharo-users] [Pillar] Installed the Pillar document preparation system into 6.1, how do I start using it?

2017-08-22 Thread Stephane Ducasse
Yes we need input (but most importantly time). I will allocate time
because Pillar is important for me.

On Fri, Aug 18, 2017 at 10:18 PM, Cyril Ferlicot
 wrote:
>
> On ven. 18 août 2017 at 22:09, H. Hirzel  wrote:
>>
>> Exactly.
>>
>> Section 7 of
>>
>> https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/PillarChap/Pillar.html
>>
>> has an example
>>
>>
>> | wiki |
>> wiki := '!My Document'.
>> PRPillarParser parse: wiki
>>
>>
>> Or
>>
>> PRPillarParser parse: (FileSystem workingDirectory / 'foo.pillar')
>> readStream
>>
>>
>> and then
>>
>>
>> PRHTMLWriter write: document
>>
>>
>> This put together gives
>>
>> PRHTMLWriter write: (
>> PRPillarParser parse: (FileSystem workingDirectory /
>> 'welcome.pillar')
>> )
>>
>>
>> If I inspect the result of this expression I get the HTML string.
>>
>> Thank you Cyril. This is what I was looking for.
>>
>> --Hannes
>
>
>
> Happy to see it still works :)
>
> I know there was work on Pillar after I wrote this. Maybe there is some
> functionalities that will need more than those simple examples. By I am not
> sure and I know that Stephane want to simplify it further.
> --
> Cyril Ferlicot
> https://ferlicot.fr
>
> http://www.synectique.eu
> 2 rue Jacques Prévert 01,
> 59650 Villeneuve d'ascq France



Re: [Pharo-users] [Pharo-dev] [ANN] Pharo 6.1 (summer) released!

2017-08-22 Thread Marcus Denker

> On 18 Aug 2017, at 09:56, Marcus Denker  wrote:
> 
>> 
>> What I think would have been good is to list all the updates that where done 
>> between
>> releasing 6.0 and 6.1 *as part of the changelog* of 6.1 (even though they 
>> were already 
>> in the image that you got a minute before Pharo6.1 was released, as they 
>> where released as
>> hot fixes before).
>> 
> 
> The changelog of things done between releasing 6.0 and the release of 6.1:
> 

I added a link to the complete changeling to 
http://pharo.org/news/pharo6.1-released 


Marcus



Re: [Pharo-users] [Pharo-dev] TechTalk Dates for the rest of 2017

2017-08-22 Thread Marcus Denker

> On 22 Aug 2017, at 13:02, Alexandre Bergel  wrote:
> 
>>> I'm not sure Pharo tech talk is the good place but would love to see such a 
>>> presentation. 
>>> 
>> Why not? I am sure Alex will have some code in there.. " programming, from 
>> scratch, a small artificial intelligence”
>> if done with Pharo would be a very nice thing todo for the tech talk.
> 
> Yes, that is the plan. It could be a very practical lecture, with a lot of 
> coding (but not many lines of code).
> 

I added it for October 17th:

https://association.pharo.org/event-2642664


Marcus


Re: [Pharo-users] Minimizing an Application

2017-08-22 Thread Esteban A. Maringolo
VAST provided such image deployment tool, where you could save the
deployment instructions, as whether to include/exclude certain
packages, classes, methods, etc.  It was great, although it wasn't
"easy" to work with.

Dolphin Smalltalk has an Image Stripper, that does something like
that, but by "removing" stuff from a copy of the image, it worked
really well in practice and was super easy to use. Also, you can
decide what "SessionManager" will be used in the deployed image, for a
normal development image, it is DevelopmentSessionManger, but for a
web app it could be a CommandLineSessionManager, or if you have a GUI
desktop app, it could be your own session manager class.

But what I liked the most was VisualSmalltalk's SLL (Smalltalk's
Linked Library), where you could "link" your application with true
modules, that were binary. You explicitly specify its contents
(classes, methods, pools, etc.) when building (compiling), and could
be replaced without having to redeploy everything. It could lead to
some dependency hell if done wrong, but not more than any other module
solution. And they were very compact.

In my Pharo deployments, since they are web applications, I always
deployed the whole image in the server, built from a vanilla one, but
without stripping anything.

Regards,

Esteban A. Maringolo


2017-08-22 0:22 GMT-03:00 Richard Sargent :
> VA Smalltalk doesn't strip an image; it builds a new image based on
> application dependencies. With VA's packaging functionality, you are more
> likely to get a packaging error that reports you are trying to use something
> that isn't reachable according to the defined dependencies.
>
> I admit that except for the first few years, most of my early Smalltalk
> experience involved ENVY and VA/VisualAge Smalltalk. Still, I prefer it's
> practice of building an image based on what you have told it to include.
>
> On Aug 21, 2017 15:22, "Tim Mackinnon"  wrote:
>>
>> There has been a lot of great work on this front on the Pharo side from
>> the "team" and PharoLambda has made use of it (although it's a tiny
>> project).
>>
>> My footprint is ~22mb including vm & image. And leaving out sources.
>>
>> The ./scripts directory has the example of how to do it, along side the
>> .gitlab-ci.yml file.
>>
>> Unlike the commercial distributions (and this may have changed recently),
>> there is a minimal image you can have download, which has enough to
>> bootstrap loading your project via metacello. There are no browser tools or
>> morphic things in the starting image I have chosen.
>>
>> You can potentially get smaller - but it's a decent result. The only bit I
>> added was to remove testcases (optional), and clear down metacello.
>>
>> It's probably worthy of a blog post - but honestly the running example is
>> pretty straight forward.
>>
>> The commercial tools all have a decent "strip dead code" tool, that does a
>> similar thing in reverse - which is equally a decent way of approaching the
>> problem and can lead to even tinier results.
>>
>> Tim
>>
>> Sent from my iPhone
>>
>> On 21 Aug 2017, at 21:25, horrido  wrote:
>>
>> I received this comment on Facebook:
>>
>> Smalltalk is a fantastic language and its development environment can't be
>> beat... But the documentation for the many open source implementations is
>> contradictory or confusing or missing. I can't speak for the commercial
>> versions. Without an experienced mentor it is not possible to create a
>> complex app. And even when you have done so, *I know no way to strip out
>> the
>> unused part of the image as well as the embedded source code*.
>> -
>>
>> This issue of stripping out unused code seems to recur a lot. And truth be
>> told, I've never seen a clear explanation of how to do this. Can someone
>> provide clear direction? Is this documented anywhere? I'd like to use the
>> information in future to assuage other people's concerns.
>>
>> Thanks.
>>
>>
>>
>> --
>> View this message in context:
>> http://forum.world.st/Minimizing-an-Application-tp4963262.html
>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>
>



Re: [Pharo-users] Parser failure on FFI pragmas declaration in Pharo 5

2017-08-22 Thread bdurin
Hi Hannes,

Thanks for your help! I agree that loading in Pharo 4 (I guess) and
following your recipe works and is easy.
My concern is not specific to ZeroMQ though. In fact I discovered that
ZeroMQ package is just a very low-level bindings of Zeromq C API whereas I
thought it was something more like the python bindings of 0mq that provides
higher-level abstractions that are more useful. Besides the problem of
persisting the state of a 0mq application in the image is quite hard to
solve (and this was noted by the author of the Zeromq package). So I
probably shall go with python this time.
Beyond the specific problem of Zeromq package, I think there is something
inconsistent in trying to develop Smalltalk/Pharo as a self-contained
environment and not being able to load old code. In other languages, text
editor or IDE are external tools but they usually open any source code.
(That is why the title of my note is "Parser failure on FFI pragmas
declaration in Pharo 5" and not "Cannot load ZeroMQ package source code".) 
I also wanted to point out that for people that are used to programming and
as such could rapidly wander in corner areas of the language, I felt a tool
/ a procedure to manage dependencies and versions was missing.

Regards,
Bruno



--
View this message in context: 
http://forum.world.st/Parser-failure-on-FFI-pragmas-declaration-in-Pharo-5-tp4961737p4963381.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] Parser failure on FFI pragmas declaration in Pharo 5

2017-08-22 Thread Stephane Ducasse
Bruno

There was a huge change in the FFI (in fact it was rewritten from the
ground) and you face a case where we were not backward compatible.
Nobody reported it to us before.

Now if you unzip the mcz you get the pharo text in plain mode.
It does not solve the problem of parsing but in that case you are
exactly in the same situation than other languages or I did not
understand your problem.

We are managing version and dependencies since years :) luckily.
The part that is missing is that every package loaded in the pharo
image cannot be used as dependent for external packages because of
lack of metadata.
We are working on having metadata for any package (being inside Pharo
or external).

I do not know what is used in ZeroMQ.
Now two questions:
- what are the abstractions that the python binding offers?
- what is the state of a 0mq application? Because we can serialise and
reload execution stack.
So the only things that we cannot serialize are active process so far.

Stef


On Tue, Aug 22, 2017 at 4:35 PM, bdurin  wrote:
> Hi Hannes,
>
> Thanks for your help! I agree that loading in Pharo 4 (I guess) and
> following your recipe works and is easy.
> My concern is not specific to ZeroMQ though. In fact I discovered that
> ZeroMQ package is just a very low-level bindings of Zeromq C API whereas I
> thought it was something more like the python bindings of 0mq that provides
> higher-level abstractions that are more useful. Besides the problem of
> persisting the state of a 0mq application in the image is quite hard to
> solve (and this was noted by the author of the Zeromq package). So I
> probably shall go with python this time.
> Beyond the specific problem of Zeromq package, I think there is something
> inconsistent in trying to develop Smalltalk/Pharo as a self-contained
> environment and not being able to load old code. In other languages, text
> editor or IDE are external tools but they usually open any source code.
> (That is why the title of my note is "Parser failure on FFI pragmas
> declaration in Pharo 5" and not "Cannot load ZeroMQ package source code".)
> I also wanted to point out that for people that are used to programming and
> as such could rapidly wander in corner areas of the language, I felt a tool
> / a procedure to manage dependencies and versions was missing.
>
> Regards,
> Bruno
>
>
>
> --
> View this message in context: 
> http://forum.world.st/Parser-failure-on-FFI-pragmas-declaration-in-Pharo-5-tp4961737p4963381.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>



Re: [Pharo-users] Parser failure on FFI pragmas declaration in Pharo 5

2017-08-22 Thread Marcus Denker

> 
> On Tue, Aug 22, 2017 at 4:35 PM, bdurin  wrote:
>> Hi Hannes,
>> 
>> Thanks for your help! I agree that loading in Pharo 4 (I guess) and
>> following your recipe works and is easy.
>> My concern is not specific to ZeroMQ though. In fact I discovered that
>> ZeroMQ package is just a very low-level bindings of Zeromq C API whereas I
>> thought it was something more like the python bindings of 0mq that provides
>> higher-level abstractions that are more useful. Besides the problem of
>> persisting the state of a 0mq application in the image is quite hard to
>> solve (and this was noted by the author of the Zeromq package). So I
>> probably shall go with python this time.
>> Beyond the specific problem of Zeromq package, I think there is something
>> inconsistent in trying to develop Smalltalk/Pharo as a self-contained
>> environment and not being able to load old code. In other languages, text
>> editor or IDE are external tools but they usually open any source code.
>> (That is why the title of my note is "Parser failure on FFI pragmas
>> declaration in Pharo 5" and not "Cannot load ZeroMQ package source code".)
>> I also wanted to point out that for people that are used to programming and
>> as such could rapidly wander in corner areas of the language, I felt a tool
>> / a procedure to manage dependencies and versions was missing.

I am working on and off on an experiment to allow to load (and compile!) 
syntactically
wrong code.
(the idea is that it compiles a runtime error what would normally be a static 
syntax error,
this is available by turning on the "Allow code with syntax errors” Setting).

This might not solve the FFI problem (need to look at that), but it will make 
loading strange
code easier…

Marcus


Re: [Pharo-users] Parser failure on FFI pragmas declaration in Pharo 5

2017-08-22 Thread Stephane Ducasse
Tx for the report


On Wed, Aug 16, 2017 at 11:31 PM, bdurin  wrote:
> Hi,
>
> I stumbled upon what seems to me a strange issue in Pharo 5. The RBParser
> fails to correctly parse the legacy FFI pragmas. This completely breaks down
> the browser, the inspector and debugger (because as far as I understand all
> use RBParser to correctly highlight syntax). I had the image crashed and
> some red boxes at some point while insisting to inspect and debug. Overall
> this is not a big issue but it raises some more general bells to me.
>
> In order to reproduce this:
> - load the official Pharo 5 (curl get.pharo.org/50+vm | bash)
> - launch the image (./pharo-ui Pharo.image &)
> - add the following repository
> MCSmalltalkhubRepository
> owner: 'panuw'
> project: 'zeromq'
> user: ''
> password: ''
> - load the last versions of ZeroMQ and ConfigurationOfZeroMQ (not sure if
> the latter is needed)
> - open a Nautilus Browser and look at the class method apiZmqBind:to: of the
> ZmqApi class in the ZeroMQ package: you get a MessageNotUnderstood error
> (receiver of keywords is nil). You can get past this by clicking on
> "Abandon" but the source code is displayed in a corrupted way:
> apiZmqBind: s
> ocket to: endpoint  - repeat a few times by looking at other methods until you get a red box:
> then you cannot look at source code any more with this browser. If you are
> obstinate and "lucky" you will succeed in crashing the image.
> - you can pin the problem by running in a Playground
> RBParser parseFaultyMethod: 'apiZmqBind: socket to: endpoint
> 
> ^self externalCallFailed'.
> and you'll see that the pragmas is not correctly parsed. (The root cause is
> that the legacy adapter RBFFICallPragma does not follow the API defined by
> its super class RBPragmaNode (selector, arguments, positions) and so is not
> a properly defined node. I corrected the problem by computing and setting
> the corresponding instance variables.)



> 1) As a beginner at Pharo, I find it difficult to deal with the various
> versions of Pharo. ZeroMQ is the (only) Smalltalk-Pharo binding for zmq. It
> dates back to Feb 2014 so I expected it to work in Pharo as of 3 years and a
> half later (Pharo 6 dates back to June 2017).

We maintain actively 2 versions on 5 OSes.
On many system old libraries do not work on new versions.
By definition I never believe that a version of Mac OS 9 is working on
Mac OS 11 and Mac has a lot of money.
A lot more than us.


> I naively tried to load the package in a Pharo 6 image and it failed because
> of a syntax error. As I had read a lot about the various FFI mechanisms, I
> quickly understood that it must be because the FFI declarations in pragma
> are not supported anymore.

They still are but you probably hit an edge case.

> I then loaded the package in a Pharo 5 image and I got the error that I
> described. After finding the error and solving it, I guess that the FFI
> declaration in pragma was barely supported in Pharo 5, which has already
> switched to UFFI and that it is something dating back to Pharo 4. (I did not
> try with Pharo 4 as I do not want to work with versions before 5).

Normally we took care to be backward compatible to ease moving from
one version to the other
one. Esteban was on vacation and I asked him to have a look.


> Is there a way to know for a package what the compatible Pharo version is?
> It seems that currently I have to look at dates, look at the features used
> by the package and look for the history of development (fortunately the
> mailing lists are easy to search) to understand which version is likely to
> work.

People should
- publish their package in the catalog of a given version.
- have test
- have a configuration because this configuration list also the
version of Pharo.


> Are not deprecations a bit too fast if a package written 3 years ago cannot
> work in the latest Pharo version and trigger bugs in Pharo 5, which dates
> back to May 2016 (so only a bit more than 2 years after)?

This is not a deprecation. This is probably just a case that was not handle.
We spent 8 months developing a new FFI and there is still points to be added.

> I find it a bit too fast as compared to mainstream languages. To my mind,
> either deprecations should be slower or a version/dependencies system should
> be there to help users.

Please do not generalise from one case.
We pay attention to make sure that people can move. Now

>
> 2) Another question about versions: Pharo 6 is out since June, Pharo 7 is
> under development. What is the status of Pharo 5? Already history or still
> relevant?

We do not actively back port fix to Pharo 50. But you can execute
Pharo 50 and we build regularly vms.



> I am asking because I corrected the problem of FFI declaration in pragma,
> but it seems to me that it is not useful to publish this change as starting
> from Pharo 6 this way to do

Re: [Pharo-users] Parser failure on FFI pragmas declaration in Pharo 5

2017-08-22 Thread Stephane Ducasse
Hi

in fact I was wrong we do not support pragma for FFI and we could have
deprecated them but we did not.

Stef

On Tue, Aug 22, 2017 at 5:15 PM, Stephane Ducasse
 wrote:
> Tx for the report
>
>
> On Wed, Aug 16, 2017 at 11:31 PM, bdurin  wrote:
>> Hi,
>>
>> I stumbled upon what seems to me a strange issue in Pharo 5. The RBParser
>> fails to correctly parse the legacy FFI pragmas. This completely breaks down
>> the browser, the inspector and debugger (because as far as I understand all
>> use RBParser to correctly highlight syntax). I had the image crashed and
>> some red boxes at some point while insisting to inspect and debug. Overall
>> this is not a big issue but it raises some more general bells to me.
>>
>> In order to reproduce this:
>> - load the official Pharo 5 (curl get.pharo.org/50+vm | bash)
>> - launch the image (./pharo-ui Pharo.image &)
>> - add the following repository
>> MCSmalltalkhubRepository
>> owner: 'panuw'
>> project: 'zeromq'
>> user: ''
>> password: ''
>> - load the last versions of ZeroMQ and ConfigurationOfZeroMQ (not sure if
>> the latter is needed)
>> - open a Nautilus Browser and look at the class method apiZmqBind:to: of the
>> ZmqApi class in the ZeroMQ package: you get a MessageNotUnderstood error
>> (receiver of keywords is nil). You can get past this by clicking on
>> "Abandon" but the source code is displayed in a corrupted way:
>> apiZmqBind: s
>> ocket to: endpoint > - repeat a few times by looking at other methods until you get a red box:
>> then you cannot look at source code any more with this browser. If you are
>> obstinate and "lucky" you will succeed in crashing the image.
>> - you can pin the problem by running in a Playground
>> RBParser parseFaultyMethod: 'apiZmqBind: socket to: endpoint
>> 
>> ^self externalCallFailed'.
>> and you'll see that the pragmas is not correctly parsed. (The root cause is
>> that the legacy adapter RBFFICallPragma does not follow the API defined by
>> its super class RBPragmaNode (selector, arguments, positions) and so is not
>> a properly defined node. I corrected the problem by computing and setting
>> the corresponding instance variables.)
>
>
>
>> 1) As a beginner at Pharo, I find it difficult to deal with the various
>> versions of Pharo. ZeroMQ is the (only) Smalltalk-Pharo binding for zmq. It
>> dates back to Feb 2014 so I expected it to work in Pharo as of 3 years and a
>> half later (Pharo 6 dates back to June 2017).
>
> We maintain actively 2 versions on 5 OSes.
> On many system old libraries do not work on new versions.
> By definition I never believe that a version of Mac OS 9 is working on
> Mac OS 11 and Mac has a lot of money.
> A lot more than us.
>
>
>> I naively tried to load the package in a Pharo 6 image and it failed because
>> of a syntax error. As I had read a lot about the various FFI mechanisms, I
>> quickly understood that it must be because the FFI declarations in pragma
>> are not supported anymore.
>
> They still are but you probably hit an edge case.
>
>> I then loaded the package in a Pharo 5 image and I got the error that I
>> described. After finding the error and solving it, I guess that the FFI
>> declaration in pragma was barely supported in Pharo 5, which has already
>> switched to UFFI and that it is something dating back to Pharo 4. (I did not
>> try with Pharo 4 as I do not want to work with versions before 5).
>
> Normally we took care to be backward compatible to ease moving from
> one version to the other
> one. Esteban was on vacation and I asked him to have a look.
>
>
>> Is there a way to know for a package what the compatible Pharo version is?
>> It seems that currently I have to look at dates, look at the features used
>> by the package and look for the history of development (fortunately the
>> mailing lists are easy to search) to understand which version is likely to
>> work.
>
> People should
> - publish their package in the catalog of a given version.
> - have test
> - have a configuration because this configuration list also the
> version of Pharo.
>
>
>> Are not deprecations a bit too fast if a package written 3 years ago cannot
>> work in the latest Pharo version and trigger bugs in Pharo 5, which dates
>> back to May 2016 (so only a bit more than 2 years after)?
>
> This is not a deprecation. This is probably just a case that was not handle.
> We spent 8 months developing a new FFI and there is still points to be added.
>
>> I find it a bit too fast as compared to mainstream languages. To my mind,
>> either deprecations should be slower or a version/dependencies system should
>> be there to help users.
>
> Please do not generalise from one case.
> We pay attention to make sure that people can move. Now
>
>>
>> 2) Another question about versions: Pharo 6 is out since June, Pharo 7 is
>> under development. What is the status of Pharo 5? Already history or still
>> re

Re: [Pharo-users] The Wisdom of the Crowd Redux

2017-08-22 Thread Ben Coman
nice article. thanks for sharing.
cheers -ben

On Tue, Aug 22, 2017 at 4:14 AM, horrido  wrote:

> I'm glad people in the programming community are recognizing the value of
> Smalltalk:  The Wisdom of the Crowd
>   . I
> was very pleasantly surprised by this.
>
>
>
> --
> View this message in context: http://forum.world.st/The-
> Wisdom-of-the-Crowd-Redux-tp4963261.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] [Pharo-dev] TechTalk Dates for the rest of 2017

2017-08-22 Thread Ben Coman
I have an interest.
cheers -ben

On Tue, Aug 22, 2017 at 12:38 AM, Alexandre Bergel 
wrote:

> Hi!
>
> I am currently giving a lecture on Neural Networks and Genetic
> Algorithm/Programming.
> Maybe I could turn this into an express 2 hours mini-lecture. Would this
> work?
>
> Anyone is interesting in programming, from scratch, a small artificial
> intelligence?
>
> Cheers,
> Alexandre
>
>
> > On Aug 21, 2017, at 10:32 AM, Marcus Denker 
> wrote:
> >
> > Hi,
> >
> > We have added dates for tech talk discussions / Demos for the rest of
> 2017:
> >   https://association.pharo.org/events
> >
> > We need to find some topics. In the past we had often formal “talks” or
> demos about
> > a topic with discussion afterwards, but a more relaxed form of just an
> open discussion
> > about a topic is possible, too,
> >
> > If you like to lead one of the dates (all but the November dates are
> available still), this
> > would be great.
> >
> > If a date does find a topic, we keep it as an open discussion round.
> >
> >   Marcus
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>


Re: [Pharo-users] [ANN] Pharo wiki , is here

2017-08-22 Thread Dimitris Chloupis
Ok I restructured the wiki , giving it a table of contents.

Added Pharo 6 Catalog projects
Added PettitParser2
Added a sections for How tos , and a couple of them
Added a news section
Added a link to Grafoscopio homepage at its Catalaog section
Added a wikis section with a link to Astares Pharo wiki

Keep your suggestions coming , thank you Hirzel

https://squarebracketassociates.github.io/PharoWiki/


On Mon, Aug 21, 2017 at 7:19 PM H. Hirzel  wrote:

> Please add the reference to the PetitParser2 book
>
> https://kursjan.github.io/petitparser2/pillar-book/build/book.html
>
> On 8/21/17, H. Hirzel  wrote:
> > And this one produces a catalog list in markdown format
> >
> > "Produce a list of Pharo 6 catalog entries (tag: 'Pharo 6.0')"
> > | catalog |
> > catalog :=  CatalogProvider default retrieveProjects select: [ :x |
> > (x at: 'repositoryUrl') =
> > 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main' ].
> >
> > Transcript show: '# Pharo 6 catalog list'; cr.
> >
> > (catalog asSortedCollection: [ :a :b | (a at: 'name') < (b at: 'name')
> > ]) do: [ :entry | Transcript show: '## ', (entry at: 'name') ; cr;
> >   show:  (entry at: 'description'); cr;cr.
> >   Transcript show: 'keywords: '.
> >   (entry at: 'keywords') sorted do: [ :keyword | Transcript show:
> > keyword; space ].
> >   Transcript cr; cr].
> >
> > Transcript show: '# Pharo 6 catalog list - description is missing'; cr.
> >
> > (catalog asSortedCollection: [ :a :b | (a at: 'name') < (b at: 'name') ])
> > do: [:entry | (entry at: 'description') ifNil: [ Transcript show: '-
> > ', (entry at: 'name'); cr ]
> >   ].
> >
> >
> >
> 
> >
> >
> > # Pharo 6 catalog list
> > ## Animation
> > Adds a delay operator turning any message send into a smooth transition.
> >
> > keywords: animation fun time
> >
> > ## Artefact
> > Artefact is a library to generate PDF documents. It provides a
> > document model and support the generation of PDF
> >
> > keywords: PDF document layout
> >
> > ## AstaresDistribution
> > Several Pharo goodies like Pomodoro, DesktopManager, QuickAccess,
> > HubCap, ScriptManager, ... written by Torsten Bergmann (astares.com)
> > bundled for easy installation
> >
> > keywords: custom distribution goodies pharo
> >
> > ## Atlas
> > A Python bridge (IPC - stream sockets) for Pharo, allowing Pharo to
> > use Python libraries , mix with Python code and vice versa
> >
> > keywords: Atlas IPC atlas pharo python sockets
> >
> > ## BitmapCharacterSet
> > BitmapCharacterSet is a set for characters that uses a bitmap for
> > storing wide characters and an array of truth values for byte
> > characters. Used by XMLParser.
> >
> > keywords: character collection set unicode
> >
> > ## Bootstrap
> > "Bootstrap for Seaside" is a project combining Seaside and Twitter
> > Bootstrap and easily use them to write professional looking web
> > applications.
> >
> > keywords: Bootstrap HTML Seaside query web
> >
> > ## Bugzilla
> > Pharo wrapper for Bugzilla REST API
> >
> > keywords: api bugzilla rest
> >
> > ## CPPBridge
> > CPP is a library that allows Pharo to share memory with a C++
> > application. This means that both can share the exact same data and
> > modify it. This also can allow Pharo and C++ to exacute one another
> > library and code. Example provided
> >
> > keywords: ++ ++ C IPC bridge c cpp file mapped memory shared
> >
> > ## Calypso
> > Calypso is a new system browser based on new navigation model
> >
> > keywords: IDE systemBrowser
> >
> > ## CheatSheet
> >
> > Pharo Cheat Sheet.
> >
> > Project main page: *
> http://www.smalltalkhub.com/#!/~PharoExtras/CheatSheet*
> >
> > keywords: examples syntax
> >
> > ## ChronosManager
> > ChronosManager is a time managment tool based on the pomodoro
> > technique offering a stopwatch and timer for keeping track of time
> > with tasks and goals
> >
> > keywords: ChronosManager managment pomodoro time
> >
> > ## Citezen
> > Citezen is a library to parse, query and manage bibtex scientific
> > citations.
> >
> > keywords: bibtex latex parser printer query
> >
> > ## CommandShell
> > nil
> >
> > keywords:
> >
> > ## Commander
> > Commander models application actions as first class objects.
> >
> > Every action is implemented as separate command class (subclass of
> > CmdCommand) with #execute method and all state required for execution.
> >
> > Commands are reusable objects and applications provide various ways to
> > access them. Such information is attached to command classes as
> > activator objects. Currently there are three types of activators:
> > - CmdShortcutCommandActivator
> > - CmdContextMenuCommandActivator
> > - CmdDragAndDropCommandActivator
> >
> > Activators are declared in command class side methods marked with
> > pragma #commandActivator. For example following method will allow
> > RenamePackageCommand to be executed by shortcut in possible system
> > br

Re: [Pharo-users] [ANN] Pharo wiki , is here

2017-08-22 Thread Dimitris Chloupis
Also if someone else wants to come and port the content to asteres wiki,
its just markdown with a tons of parsers for it around I am sure it will be
trivial for one that understands how swiki works. Plus markdown is very
simple syntax anyway. I care more about the content, if ones wants to wrap
it around a much better pharo software I certainly would not complain.

For example maybe we can have a wiki tool from inside Pharo image that
gives easy access to my wiki , we have the tools to deal with github repos
already and parsing markdown is rather trivia.

My goal is to take all this unknown documentation like astares wiki, all
these hidden gems and expose them to the users because I think the mailing
list and the web is very easy to hide things or difficult to find them.
This way we can have a main hub that keeps all this content easily
accessible inside a nicely structured table of contents with simple links
and nothing gets lost. In a format that is very easy to contribute, modify
and improve and port to whatever software we want ;)

On Mon, Aug 21, 2017 at 10:57 PM Dimitris Chloupis 
wrote:

> Yes Torsten wiki is in a very good state and very well made :)
>
> Will definitely link to it and use it as source
>
> As I said , I like to keep this as simple as possible, we are already
> hosted on github for documentation. A wiki there will be easier to find and
> easier to use and easier to maintain.
>
> On Mon, Aug 21, 2017 at 4:20 PM Esteban A. Maringolo 
> wrote:
>
>> In my previous company we ran Swiki served wikis for most of our
>> customers during years of uninterrupted uptime, it has proven to be
>> really stable, and a single image could handle lots of simultaneous
>> users.
>>
>> We ended up moving to Atlassian Confluence because of a better
>> granularity of user permissions and some "enterprisey" features, but
>> we all missed the simplicity of Swiki. To migrate the content from
>> Swiki to Confluence what we did was to implement a crawler/spider that
>> navigated the wiki contents and recreated the pages in the new server
>> (with some replacements because of different syntax).
>>
>> So if Torsten's wiki has lots of contents (I wasn't aware of it), and
>> most people want to move to a new wiki server, we should consider
>> recovering Swiki's content.  It's a fun project as well (if you have
>> the time).
>>
>> Regards,
>>
>> Esteban A. Maringolo
>>
>>
>> 2017-08-20 6:43 GMT-03:00 Torsten Bergmann :
>> >>> Many seemed to like the idea of a Pharo wiki , I like it too. I
>> created
>> >>> one, can be found here and super easy to contribute to.
>> >>>
>> >>> https://github.com/SquareBracketAssociates/PharoWiki
>> >
>> > I still prefer to have one based on Smalltalk and as there never was an
>> official one
>> > maintain my own private hosted Pharo wiki since 2015
>> >
>> >http://wiki.astares.com/pharo
>> >
>> > including lots of useful informations.
>> >
>> > It us a Swiki server ("Winterlong" release) - so it is based on Squeak
>> + Comanche.
>> > http://wiki.squeak.org/swiki/
>> >
>> > I once offered it to the community but there were doubts as Swiki is
>> not more
>> > maintained and a Pharo solutions would be preferable.
>> >
>> > Unfortunately there never was a Pharo based wiki implementation
>> although we have all the bits
>> > and pieces (Pillar, Teapot/Tealight, Zinc, ...) to write one.
>> >
>> > I have several swikis running over the years and all of them run very
>> very stable and
>> > without any problems. Even in case of trouble they are easy to repair
>> and extend as the
>> > content is written into XML files.
>> >
>> > Also it has an UNZIP and go concept - so it is easy to install/run and
>> maintain or move
>> > to a different server. Squeak community is running their swiki for
>> years already.
>> > The only problem there is that it is not well maintained and lost of
>> pages are outdated
>> > - but this is a problem independent from the wiki technology used.
>> >
>> > So creating a wiki is quick and easy - be able to maintain up to date
>> infos another issue.
>> >
>> > Thanks
>> > T.
>> >
>> >
>> >
>> >
>> >
>>
>>


Re: [Pharo-users] [ANN] Pharo wiki , is here

2017-08-22 Thread Stephane Ducasse
You should add the script that generate the list of catalog items so
that we can update it.

On Tue, Aug 22, 2017 at 8:18 PM, Dimitris Chloupis
 wrote:
> Ok I restructured the wiki , giving it a table of contents.
>
> Added Pharo 6 Catalog projects
> Added PettitParser2
> Added a sections for How tos , and a couple of them
> Added a news section
> Added a link to Grafoscopio homepage at its Catalaog section
> Added a wikis section with a link to Astares Pharo wiki
>
> Keep your suggestions coming , thank you Hirzel
>
> https://squarebracketassociates.github.io/PharoWiki/
>
>
> On Mon, Aug 21, 2017 at 7:19 PM H. Hirzel  wrote:
>>
>> Please add the reference to the PetitParser2 book
>>
>> https://kursjan.github.io/petitparser2/pillar-book/build/book.html
>>
>> On 8/21/17, H. Hirzel  wrote:
>> > And this one produces a catalog list in markdown format
>> >
>> > "Produce a list of Pharo 6 catalog entries (tag: 'Pharo 6.0')"
>> > | catalog |
>> > catalog :=  CatalogProvider default retrieveProjects select: [ :x |
>> > (x at: 'repositoryUrl') =
>> > 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main' ].
>> >
>> > Transcript show: '# Pharo 6 catalog list'; cr.
>> >
>> > (catalog asSortedCollection: [ :a :b | (a at: 'name') < (b at: 'name')
>> > ]) do: [ :entry | Transcript show: '## ', (entry at: 'name') ; cr;
>> >   show:  (entry at: 'description'); cr;cr.
>> >   Transcript show: 'keywords: '.
>> >   (entry at: 'keywords') sorted do: [ :keyword | Transcript show:
>> > keyword; space ].
>> >   Transcript cr; cr].
>> >
>> > Transcript show: '# Pharo 6 catalog list - description is missing'; cr.
>> >
>> > (catalog asSortedCollection: [ :a :b | (a at: 'name') < (b at: 'name')
>> > ])
>> > do: [:entry | (entry at: 'description') ifNil: [ Transcript show: '-
>> > ', (entry at: 'name'); cr ]
>> >   ].
>> >
>> >
>> >
>> > 
>> >
>> >
>> > # Pharo 6 catalog list
>> > ## Animation
>> > Adds a delay operator turning any message send into a smooth transition.
>> >
>> > keywords: animation fun time
>> >
>> > ## Artefact
>> > Artefact is a library to generate PDF documents. It provides a
>> > document model and support the generation of PDF
>> >
>> > keywords: PDF document layout
>> >
>> > ## AstaresDistribution
>> > Several Pharo goodies like Pomodoro, DesktopManager, QuickAccess,
>> > HubCap, ScriptManager, ... written by Torsten Bergmann (astares.com)
>> > bundled for easy installation
>> >
>> > keywords: custom distribution goodies pharo
>> >
>> > ## Atlas
>> > A Python bridge (IPC - stream sockets) for Pharo, allowing Pharo to
>> > use Python libraries , mix with Python code and vice versa
>> >
>> > keywords: Atlas IPC atlas pharo python sockets
>> >
>> > ## BitmapCharacterSet
>> > BitmapCharacterSet is a set for characters that uses a bitmap for
>> > storing wide characters and an array of truth values for byte
>> > characters. Used by XMLParser.
>> >
>> > keywords: character collection set unicode
>> >
>> > ## Bootstrap
>> > "Bootstrap for Seaside" is a project combining Seaside and Twitter
>> > Bootstrap and easily use them to write professional looking web
>> > applications.
>> >
>> > keywords: Bootstrap HTML Seaside query web
>> >
>> > ## Bugzilla
>> > Pharo wrapper for Bugzilla REST API
>> >
>> > keywords: api bugzilla rest
>> >
>> > ## CPPBridge
>> > CPP is a library that allows Pharo to share memory with a C++
>> > application. This means that both can share the exact same data and
>> > modify it. This also can allow Pharo and C++ to exacute one another
>> > library and code. Example provided
>> >
>> > keywords: ++ ++ C IPC bridge c cpp file mapped memory shared
>> >
>> > ## Calypso
>> > Calypso is a new system browser based on new navigation model
>> >
>> > keywords: IDE systemBrowser
>> >
>> > ## CheatSheet
>> >
>> > Pharo Cheat Sheet.
>> >
>> > Project main page:
>> > *http://www.smalltalkhub.com/#!/~PharoExtras/CheatSheet*
>> >
>> > keywords: examples syntax
>> >
>> > ## ChronosManager
>> > ChronosManager is a time managment tool based on the pomodoro
>> > technique offering a stopwatch and timer for keeping track of time
>> > with tasks and goals
>> >
>> > keywords: ChronosManager managment pomodoro time
>> >
>> > ## Citezen
>> > Citezen is a library to parse, query and manage bibtex scientific
>> > citations.
>> >
>> > keywords: bibtex latex parser printer query
>> >
>> > ## CommandShell
>> > nil
>> >
>> > keywords:
>> >
>> > ## Commander
>> > Commander models application actions as first class objects.
>> >
>> > Every action is implemented as separate command class (subclass of
>> > CmdCommand) with #execute method and all state required for execution.
>> >
>> > Commands are reusable objects and applications provide various ways to
>> > access them. Such information is attached to command classes as
>> > activator objects. Currently there are three types of activators:
>> > - CmdShor

Re: [Pharo-users] [ANN] Pharo wiki , is here

2017-08-22 Thread Dimitris Chloupis
absolutely

done !

https://github.com/SquareBracketAssociates/PharoWiki/blob/master/contents/projects.md

On Tue, Aug 22, 2017 at 10:28 PM Stephane Ducasse 
wrote:

> You should add the script that generate the list of catalog items so
> that we can update it.
>
> On Tue, Aug 22, 2017 at 8:18 PM, Dimitris Chloupis
>  wrote:
> > Ok I restructured the wiki , giving it a table of contents.
> >
> > Added Pharo 6 Catalog projects
> > Added PettitParser2
> > Added a sections for How tos , and a couple of them
> > Added a news section
> > Added a link to Grafoscopio homepage at its Catalaog section
> > Added a wikis section with a link to Astares Pharo wiki
> >
> > Keep your suggestions coming , thank you Hirzel
> >
> > https://squarebracketassociates.github.io/PharoWiki/
> >
> >
> > On Mon, Aug 21, 2017 at 7:19 PM H. Hirzel 
> wrote:
> >>
> >> Please add the reference to the PetitParser2 book
> >>
> >> https://kursjan.github.io/petitparser2/pillar-book/build/book.html
> >>
> >> On 8/21/17, H. Hirzel  wrote:
> >> > And this one produces a catalog list in markdown format
> >> >
> >> > "Produce a list of Pharo 6 catalog entries (tag: 'Pharo 6.0')"
> >> > | catalog |
> >> > catalog :=  CatalogProvider default retrieveProjects select: [ :x |
> >> > (x at: 'repositoryUrl') =
> >> > 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main' ].
> >> >
> >> > Transcript show: '# Pharo 6 catalog list'; cr.
> >> >
> >> > (catalog asSortedCollection: [ :a :b | (a at: 'name') < (b at: 'name')
> >> > ]) do: [ :entry | Transcript show: '## ', (entry at: 'name') ; cr;
> >> >   show:  (entry at: 'description'); cr;cr.
> >> >   Transcript show: 'keywords: '.
> >> >   (entry at: 'keywords') sorted do: [ :keyword | Transcript show:
> >> > keyword; space ].
> >> >   Transcript cr; cr].
> >> >
> >> > Transcript show: '# Pharo 6 catalog list - description is missing';
> cr.
> >> >
> >> > (catalog asSortedCollection: [ :a :b | (a at: 'name') < (b at: 'name')
> >> > ])
> >> > do: [:entry | (entry at: 'description') ifNil: [ Transcript show: '-
> >> > ', (entry at: 'name'); cr ]
> >> >   ].
> >> >
> >> >
> >> >
> >> >
> 
> >> >
> >> >
> >> > # Pharo 6 catalog list
> >> > ## Animation
> >> > Adds a delay operator turning any message send into a smooth
> transition.
> >> >
> >> > keywords: animation fun time
> >> >
> >> > ## Artefact
> >> > Artefact is a library to generate PDF documents. It provides a
> >> > document model and support the generation of PDF
> >> >
> >> > keywords: PDF document layout
> >> >
> >> > ## AstaresDistribution
> >> > Several Pharo goodies like Pomodoro, DesktopManager, QuickAccess,
> >> > HubCap, ScriptManager, ... written by Torsten Bergmann (astares.com)
> >> > bundled for easy installation
> >> >
> >> > keywords: custom distribution goodies pharo
> >> >
> >> > ## Atlas
> >> > A Python bridge (IPC - stream sockets) for Pharo, allowing Pharo to
> >> > use Python libraries , mix with Python code and vice versa
> >> >
> >> > keywords: Atlas IPC atlas pharo python sockets
> >> >
> >> > ## BitmapCharacterSet
> >> > BitmapCharacterSet is a set for characters that uses a bitmap for
> >> > storing wide characters and an array of truth values for byte
> >> > characters. Used by XMLParser.
> >> >
> >> > keywords: character collection set unicode
> >> >
> >> > ## Bootstrap
> >> > "Bootstrap for Seaside" is a project combining Seaside and Twitter
> >> > Bootstrap and easily use them to write professional looking web
> >> > applications.
> >> >
> >> > keywords: Bootstrap HTML Seaside query web
> >> >
> >> > ## Bugzilla
> >> > Pharo wrapper for Bugzilla REST API
> >> >
> >> > keywords: api bugzilla rest
> >> >
> >> > ## CPPBridge
> >> > CPP is a library that allows Pharo to share memory with a C++
> >> > application. This means that both can share the exact same data and
> >> > modify it. This also can allow Pharo and C++ to exacute one another
> >> > library and code. Example provided
> >> >
> >> > keywords: ++ ++ C IPC bridge c cpp file mapped memory shared
> >> >
> >> > ## Calypso
> >> > Calypso is a new system browser based on new navigation model
> >> >
> >> > keywords: IDE systemBrowser
> >> >
> >> > ## CheatSheet
> >> >
> >> > Pharo Cheat Sheet.
> >> >
> >> > Project main page:
> >> > *http://www.smalltalkhub.com/#!/~PharoExtras/CheatSheet*
> >> >
> >> > keywords: examples syntax
> >> >
> >> > ## ChronosManager
> >> > ChronosManager is a time managment tool based on the pomodoro
> >> > technique offering a stopwatch and timer for keeping track of time
> >> > with tasks and goals
> >> >
> >> > keywords: ChronosManager managment pomodoro time
> >> >
> >> > ## Citezen
> >> > Citezen is a library to parse, query and manage bibtex scientific
> >> > citations.
> >> >
> >> > keywords: bibtex latex parser printer query
> >> >
> >> > ## CommandShell
> >> > nil
> >> >
> >> > keywords:
> >> >
> >> > ## Command

Re: [Pharo-users] Glorp: Is there some way to do insert-or-update?

2017-08-22 Thread jtuchel
Herby,

as Esteban already said, UPSERT doesn't make any sense in an ORM. It either 
knows the object as one that has been read in this session or not. If not, 
it is new and needs to be inserted.

You could, of course, try and see what happens if you let Glorp's insert 
operation always issue an UPSERT. This is probably very easy to do and at 
first sight there isn't too much I could think of that could go wrong with 
it.

But I guess including a check for existence of an object as Esteban 
suggests isn't too bad from the performance and "safety" POV. not sure I 
understand how a Dictionary Mapping could help here

Joachim




Am Dienstag, 22. August 2017 12:13:30 UTC+2 schrieb Herbert Vojčík:
>
> Hello! 
>
> Is there some way to do insert-or-update operation (that is, roughly, to 
> be able to register an object with possibly existing primary key(s) and 
> let it be written regardless? 
>
> Thanks, Herby 
>
> P.S.: Use case - I want to have log of USER-DEVICE pairing with last 
> timestamp and 'enabled' field that would be set to false once push 
> notification fails - but set to true once user actually logs from the 
> device (again). I don't want to have many historical records, so I want 
> to have USER+DEVICE to be a composed primary key. Which means it is 
> inserted first time, but possibly updated later. 
>


[Pharo-users] [Pharo Wiki] Collecting How tos

2017-08-22 Thread Dimitris Chloupis
Hey guys, I know many of you have posted in the past very interesting
tutorials about Pharo

I have made a section in my wiki about How tos

https://github.com/SquareBracketAssociates/PharoWiki/blob/master/contents/howto.md

Because it will be very tedious for me to go through the mailing list one
threat at a time, can you please provide me with just a link to your
tutorial, blog post, video or whatever. I think its very important to
collect all this links so people can have an easy access to them.

Thanks


Re: [Pharo-users] [Pharo-dev] TechTalk Dates for the rest of 2017

2017-08-22 Thread Markus Stumptner

I would. Beats Python...

On 22/08/17 02:08, Alexandre Bergel wrote:

Hi!

I am currently giving a lecture on Neural Networks and Genetic 
Algorithm/Programming.
Maybe I could turn this into an express 2 hours mini-lecture. Would this work?

Anyone is interesting in programming, from scratch, a small artificial 
intelligence?

Cheers,
Alexandre



On Aug 21, 2017, at 10:32 AM, Marcus Denker  wrote:

Hi,

We have added dates for tech talk discussions / Demos for the rest of 2017:
https://association.pharo.org/events

We need to find some topics. In the past we had often formal “talks” or demos 
about
a topic with discussion afterwards, but a more relaxed form of just an open 
discussion
about a topic is possible, too,

If you like to lead one of the dates (all but the November dates are available 
still), this
would be great.

If a date does find a topic, we keep it as an open discussion round.

Marcus






Re: [Pharo-users] [Pharo-dev] TechTalk Dates for the rest of 2017

2017-08-22 Thread Norbert Hartl
I would be in, too. It'll be on 17th of october fix? 

Norbert

> Am 21.08.2017 um 18:38 schrieb Alexandre Bergel :
> 
> Hi!
> 
> I am currently giving a lecture on Neural Networks and Genetic 
> Algorithm/Programming.
> Maybe I could turn this into an express 2 hours mini-lecture. Would this 
> work? 
> 
> Anyone is interesting in programming, from scratch, a small artificial 
> intelligence? 
> 
> Cheers,
> Alexandre
> 
> 
>> On Aug 21, 2017, at 10:32 AM, Marcus Denker  wrote:
>> 
>> Hi,
>> 
>> We have added dates for tech talk discussions / Demos for the rest of 2017:
>>https://association.pharo.org/events
>> 
>> We need to find some topics. In the past we had often formal “talks” or 
>> demos about
>> a topic with discussion afterwards, but a more relaxed form of just an open 
>> discussion
>> about a topic is possible, too,
>> 
>> If you like to lead one of the dates (all but the November dates are 
>> available still), this
>> would be great.
>> 
>> If a date does find a topic, we keep it as an open discussion round. 
>> 
>>Marcus
> 
> -- 
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.