Re: [Pharo-users] BioSmalltalk win ...almost

2016-11-30 Thread stepharo

:)
This is supercool to see BioSmalltalk being mentioned and analysed.
May be hernan should contact the authors.



Hi Hernan,

apparently BioSmalltalk is the faster in the field of Bio* platforms
(BioPerl, BioPython,  BioJava, ...) and the more trendy:
http://www.ijcseonline.org/spl_pub_paper/PID%2023.pdf

I would love to believe in that ;-)

But if you read carefully the paper, you will found that authors has
made a dramatic mistake ... They think that Pharo was the name of
BioSmalltalk ... and then they compare with Google Trends, Pharo
against BioPerl, BioPython, ...

Anyways the statement that BioSmalltalk is the faster is maybe true :-)
Hernan did you know this paper ?

Regards,



--
Using Opera's mail client: http://www.opera.com/mail/



Re: [Pharo-users] money & currency library

2016-11-30 Thread stepharo

If I remember aconcagua (or the unit part of it) got one too


Hi,

I am looking for a money & currency library in Pharo. Can anyone point  
me to one?


I remember seeing a nice one, but the name escapes me.

Cheers,
Doru


--
www.tudorgirba.com
www.feenk.com

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





--
Using Opera's mail client: http://www.opera.com/mail/



Re: [Pharo-users] ZnClient GET, but just the content of the tag?

2016-11-27 Thread stepharo

nice :)

On Sun, 27 Nov 2016 19:46:41 +0100, Jan Kurš  wrote:


Hi,

PetitParser2 [1] supports parsing of streams. I have been experimenting  
with ZnClient and come up with the following solution:


1) Create a PP2 stream from ZnClient stream:
byteStream := ZnClient new
 url: 'http://pharo.org';
 streaming: true;
 get.
stream := PP2CharacterStream on: byteStream encoder: ZnUTF8Encoder new.

2) Create a parser for header:
head := '' asPParser, #any asPParser starLazy, '' asPParser.

3) Create a parser that reads everything up till header or body (in case  
header is not present) and parse the header:

headStart := '  
#second.


result := parser optimize parse: stream.

4) Finally, the contents of header is a collection of characters, I  
don't know what is the best way to convert it into a string, perhaps  
this:
text := (result second inject: (WriteStream on: '') into: [ :stream  
:char | stream nextPut: char. stream ]) contents


Cheers,
Jan

[1]: https://github.com/kursjan/petitparser2

On Sun, Nov 27, 2016 at 1:38 PM PBKResearch   
wrote:

Paul

Not sure if this is helpful - I have not tried it out, but it may give  
you a

pointer.

As Sven says, you need to parse a stream and be able to stop when you  
reach

the desired point. If instead of Soup you use XMLHTMLParser, this has
streaming siblings called SAXHTMLHandler and SAX2HTMLParser. I think it
should be possible to use one or the other to stop when you reach the
 tag.

Personally I find the output of XMLHTMLParser easier to follow than  
that of

Soup, but this may be a matter of taste.

Hope this helps

Peter Kenny

-Original Message-
From: Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] On  
Behalf Of

Sven Van Caekenberghe
Sent: 26 November 2016 18:19
To: Any question about pharo is welcome 
Subject: Re: [Pharo-users] ZnClient GET, but just the content of the  


tag?

Paul,


On 26 Nov 2016, at 18:31, PAUL DEBRUICKER  wrote:

This is a micro optimization if there ever was one but I wondered if it
was possible to stop downloading and get the entity once the   
tag has

been received.


Right now I download the whole page, parse it with Soup, then extract  
the

tags I want from the head.  Which works fine.  e.g.


head:=((Soup fromString: (ZnEasy get: 'http://pharo.org') entity)
  findChildTag: 'html') findChildTag:  
'head'.


This would only be useful for large pages. Dealing with the content of
resources (like parsing HTML) is outside the scope of Zinc. However, I  
can

help you get started.

What you want to do is use streaming. That gives you access to the  
content

of a resource using a direct stream, so you could decide to stop reading
(but then you have to close the connection, else you need to read  
everything

anyway).

Start by having a look at ZnClient>>#downloadTo: and ZnStreamingEntity.  
What

you want to do is more or less the following.

ZnClient new
 url: 'http://pharo.org';
 streaming: true;
 get.

At this point, the request is done, the response is in, but the entity  
of

the response is not yet read. When you ask for the entity, you get a
ZnStreamingEntity which holds the stream that you then have to read  
from.

You can check the response (and its header) for meta info.

Your next challenge then is to process this stream so that you can  
parse it

in a real streaming fashion. I don't know if Soup can do this.

Sven








--
Using Opera's mail client: http://www.opera.com/mail/

Re: [Pharo-users] Where is the documentation of the base class libraries?

2016-11-27 Thread stepharo
On Sun, 27 Nov 2016 18:45:07 +0100, Derry Bryson   
wrote:


Thanks for the helpful replies.  I am working through Pharo By Example,  
I was just hoping there was something like the Python documentation for  
Pharo.


Can you explain what you mean exactly?
Because in Pharo by Example core library are presented.
So are you looking for an html version? Because soon with the new format  
we will be able to have both pdf and html.


Stef

Re: [Pharo-users] Where is the documentation of the base class libraries?

2016-11-27 Thread stepharo

Hello Derry

In complement to what sven said you can also read the Pharo by Example  
books.

http://books.pharo.org

Stef

On Sun, 27 Nov 2016 08:24:36 +0100, Derry Bryson   
wrote:


Where can I find documentation of the base class libraries for Pharo  
Smalltalk?  Or is there some other way I should learn about the system?


Thanks,

Derry




--
Using Opera's mail client: http://www.opera.com/mail/

Re: [Pharo-users] Chip-8

2016-11-21 Thread stepharo

I could not resist

The keys are not working for me too.

Stef

Le 21/11/16 à 08:38, olivier auverlot a écrit :

Very cool !!!

What are the used keys to move the player ?

Olivier ;-)

2016-11-21 0:16 GMT+01:00 Henrik Nergaard >:


http://smalltalkhub.com/#!/~Latsabben/Chip8


*From:*Pharo-users [mailto:pharo-users-boun...@lists.pharo.org
] *On Behalf Of
*olivier auverlot
*Sent:* Wednesday, November 16, 2016 11:22 AM
*To:* Any question about pharo is welcome
>
*Subject:* [Pharo-users] Chip-8

Hi,

I just read an fun article about Chip-8. Someone has worked on an
emulator of this with Pharo?


http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/



http://miguelduarte.pt/2012/07/09/chip-8-emulator-in-javascript/


Best regards






Re: [Pharo-users] Chip-8

2016-11-21 Thread stepharo

Hi henrik

You are superfast.. :) Thanks a lot. I started to code it too in the 
train and a virus smashed me in my bed


I will really have a look. I was implementing it to see if I can use as 
a project for a new book.




Le 21/11/16 à 00:16, Henrik Nergaard a écrit :


http://smalltalkhub.com/#!/~Latsabben/Chip8 



*From:*Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] *On 
Behalf Of *olivier auverlot

*Sent:* Wednesday, November 16, 2016 11:22 AM
*To:* Any question about pharo is welcome 
*Subject:* [Pharo-users] Chip-8

Hi,

I just read an fun article about Chip-8. Someone has worked on an 
emulator of this with Pharo?


http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/

http://miguelduarte.pt/2012/07/09/chip-8-emulator-in-javascript/

Best regards





Re: [Pharo-users] Improving comments cool action

2016-11-20 Thread stepharo



Le 20/11/16 à 17:36, Julien Delplanque a écrit :

Hello,

I may be able to help, it already happens to me to see a
comment that I could improve but I don't take the time...

Thanks this is important.


If someone wants to help, how can he publish his modifications?
Do he needs to open an issue and suggest a slice directly?

Yes


Regards,

Julien

On 20/11/16 17:26, stepharo wrote:

Hi guys

I would like to see how we could build a concerted action to improve 
the class and method comments in Pharo.


Now we have package comments :) so we should take also advantage of 
them.


I would love that a newbie is highlithed by class comments.

So I would like to start to comment key core classes.

I'm sure that if we all spend 30 min per week we can really have a 
huge impact.


I was planning to start with collection classes.

Now let me know if you want to help.

Stef











[Pharo-users] Improving comments cool action

2016-11-20 Thread stepharo

Hi guys

I would like to see how we could build a concerted action to improve the 
class and method comments in Pharo.


Now we have package comments :) so we should take also advantage of them.

I would love that a newbie is highlithed by class comments.

So I would like to start to comment key core classes.

I'm sure that if we all spend 30 min per week we can really have a huge 
impact.


I was planning to start with collection classes.

Now let me know if you want to help.

Stef




Re: [Pharo-users] Mongo with Voyage

2016-11-17 Thread stepharo

Did you check that your mongodb is running?



Le 17/11/16 à 14:23, Asbath Sama biyalou via Pharo-users a écrit :




Re: [Pharo-users] QCMagritte question- does it have undo?

2016-11-16 Thread stepharo
Paul there is an undo framework inside Pharo I imagine that you can use 
it to build your ideas.


Stef


Le 11/11/16 à 18:31, Paul DeBruicker a écrit :

Thanks Norbert.

I'm not sure of the feasibility/value but I think it would be nice to be
able to undo back to a clean slate and redo all the way to a fully fleshed
out system. Or at least some sane way in a multi-user environment.


I wonder how etherpad.org  has their undo structured. I'll go check it out.


Paul







NorbertHartl wrote

Am 11.11.2016 um 06:03 schrieb PAUL DEBRUICKER 

pdebruic@
:

I've never used magritte or QC magritte and was wondering whether with
the momento it qas also possible to get multi step undo cheaply if it
didn't already exist.


I don't know if it exists. But you just need to save the current memento,
copy it (make sure the dictionary inside is another instance) and use
that. This would work before a commit has been done. Do you want to undo
even commited stuff?

Norbert





--
View this message in context: 
http://forum.world.st/QCMagritte-question-does-it-have-undo-tp4922643p4922740.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.







Re: [Pharo-users] Pier3 with latest Pillar?

2016-11-16 Thread stepharo



   For me, Pillar was a package in Pier, and Pier was a tool that I used for 
all my presentations, prototyping, and small or short-lived community and 
not-for-profit projects.


I do not get why you cannot use Pharo for that.




Le 17/11/16 à 02:04, Jupiter Jones a écrit :

Hey Stephane,


It would be nice to see Pillar return to being a cross platform project as 
well. One of the beautiful things about Seaside/Magritte/Pier was it’s 
compatibility across many dialects of Smalltalk. The “develop in Pharo and 
deploy in GemStone” was a big draw for me :) One of my clients uses VW so it 
was great to have these projects there as well.

Yes but at the end of the day. You see we cannot work for free and in addition 
got constraints that are dragging us behind.

Absolutely! Luckily the hard work of cross-compatability has already been done 
for Pier. I’m just hoping we can keep the parts of Pillar on which Pier is 
reliant working across dialects - Pharo and GemStone at least. From memory, the 
only thing that made it hard was PRTParametrizable.

I imagine very few of us are being paid for the contributions we make. In my 
case, it’s only when I have a paid project that allows me to work in Smalltalk, 
that I can invest some of that paid time in contributing towards the packages 
I’m using for that project.

I also feel my smalltalk-ability isn’t up to the standard of so many of the 
amazing people contributing, which makes me a little reticent to get involved 
in the more complex projects.


I will see if the trait usage make sense and can be removed. But you see if 
everything we do has to be compatible better be dead.

Maybe not a matter of code or die, but certainly a matter of style and most 
likely a commitment to more pain. it is (sometimes much) harder working with 
community projects since it takes working with that community -  and everyone 
has their own use case, and at least three opinions. :)

I’ve experienced this many time in non-software projects. It may take a little 
longer to get there, but it’s definitely worth the extra pain it in the end.


I would prefer to see GS having an infrastructure to load Pharo kernels. We are 
pushing the bootstrap for this reasons.

Dale and the GemStone team are doing a great job moving towards that ideal. 
Their constraints are even greater since they have a large commercial install 
base supporting many platforms. We should be able to be more flexible and 
dynamic


Because you see Pharo will use more and more slots because they are really 
really cool and powerful.
What do you do with Pillar? Because I write books, slides, and websites so this 
is an important piece of software for me.

For me, Pillar was a package in Pier, and Pier was a tool that I used for all 
my presentations, prototyping, and small or short-lived community and 
not-for-profit projects.


I’d like to see Pier get some love - it’s an awesome tool. How can I help?

Join and hack.

I’d love to! I noticed that the issue tracker and other Pillar related stuff is 
now on GitHub which is awesome. Is there any chance that the Smalltalk project 
could also move there? It would make it easier to fork and hack and make 
versions available to test before deciding what might be valuable pushed back 
to the core project.

Thanks for all your excellent work with Pillar - not to mention everything else!

Have fun!

Jupiter






Re: [Pharo-users] Pier3 with latest Pillar?

2016-11-16 Thread stepharo

It would be nice to see Pillar return to being a cross platform project as 
well. One of the beautiful things about Seaside/Magritte/Pier was it’s 
compatibility across many dialects of Smalltalk. The “develop in Pharo and 
deploy in GemStone” was a big draw for me :) One of my clients uses VW so it 
was great to have these projects there as well.

Yes but at the end of the day. You see we cannot work for free and in addition 
got constraints that are dragging us behind.

Absolutely! Luckily the hard work of cross-compatability has already been done 
for Pier. I’m just hoping we can keep the parts of Pillar on which Pier is 
reliant working across dialects - Pharo and GemStone at least. From memory, the 
only thing that made it hard was PRTParametrizable.

I imagine very few of us are being paid for the contributions we make. In my 
case, it’s only when I have a paid project that allows me to work in Smalltalk, 
that I can invest some of that paid time in contributing towards the packages 
I’m using for that project.


Which packages?

I also feel my smalltalk-ability isn’t up to the standard of so many of the 
amazing people contributing, which makes me a little reticent to get involved 
in the more complex projects.

You see fixing a comment or adding a test should be possible.
Don't hide yourself behind this argument.

I will see if the trait usage make sense and can be removed. But you see if 
everything we do has to be compatible better be dead.

Maybe not a matter of code or die, but certainly a matter of style and most 
likely a commitment to more pain. it is (sometimes much) harder working with 
community projects since it takes working with that community -  and everyone 
has their own use case, and at least three opinions. :)

I’ve experienced this many time in non-software projects. It may take a little 
longer to get there, but it’s definitely worth the extra pain it in the end.


I would prefer to see GS having an infrastructure to load Pharo kernels. We are 
pushing the bootstrap for this reasons.

Dale and the GemStone team are doing a great job moving towards that ideal. 
Their constraints are even greater since they have a large commercial install 
base supporting many platforms.

Come on. Pharo too and we have far less ressources!!!


We should be able to be more flexible and dynamic


Because you see Pharo will use more and more slots because they are really 
really cool and powerful.
What do you do with Pillar? Because I write books, slides, and websites so this 
is an important piece of software for me.

For me, Pillar was a package in Pier, and Pier was a tool that I used for all 
my presentations, prototyping, and small or short-lived community and 
not-for-profit projects.
Ok then you can still use an old version of Pier and hope that others 
will do what you want.

I’d like to see Pier get some love - it’s an awesome tool. How can I help?

Join and hack.

I’d love to! I noticed that the issue tracker and other Pillar related stuff is 
now on GitHub which is awesome. Is there any chance that the Smalltalk project 
could also move there? It would make it easier to fork and hack and make 
versions available to test before deciding what might be valuable pushed back 
to the core project.

Why easier? You cannot produce a slice?
Seriously I will not move pillar to github before Pharo has a fully 
working solution.

And I will maintain pillar but I need time.



Thanks for all your excellent work with Pillar - not to mention everything else!

Have fun!

Jupiter







Re: [Pharo-users] Chip-8

2016-11-16 Thread stepharo



Le 16/11/16 à 11:40, Julien Delplanque a écrit :

Wow it would be a fun project!


Yes I want to play with that :)



I know there was GameBoy [1] emulator but I don't know if it is still 
working.


Julien

Links:

[1]: http://smalltalkhub.com/#!/~jeanbaptistearnaud/GameBoyEmulator


On 16/11/16 11:21, olivier auverlot wrote:

Hi,

I just read an fun article about Chip-8. Someone has worked on an 
emulator

of this with Pharo?

http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/ 


http://miguelduarte.pt/2012/07/09/chip-8-emulator-in-javascript/

Best regards










[Pharo-users] Chip8

2016-11-16 Thread stepharo

I would like to know if one of you implemented chip8 in Pharo?

http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/
https://github.com/miguelduarte42/Jhip8




Re: [Pharo-users] Pier3 with latest Pillar?

2016-11-15 Thread stepharo



Le 11/11/16 à 22:35, Jupiter Jones a écrit :

+1 from me, and would love to help where I can.

It would be nice to see Pillar return to being a cross platform 
project as well. One of the beautiful things about 
Seaside/Magritte/Pier was it’s compatibility across many dialects of 
Smalltalk. The “develop in Pharo and deploy in GemStone” was a big 
draw for me :) One of my clients uses VW so it was great to have these 
projects there as well.
Yes but at the end of the day. You see we cannot work for free and in 
addition got constraints that are dragging us behind.
Pillar was refactored to use Traits and save duplication of (from 
memory) about 3 methods, but in doing so it became a Pharo-only 
project. I asked about this and found there wasn’t an interest in 
maintaining cross platform compatibility, so I saved a copy on git hub 
[1] and added a PRPillarGemstoneCodeTool class with a simple method 
for flattening the traits. My hope was being able to maintain a cross 
platform version of Pillar and keep Pier updated in a manageable way.
I will see if the trait usage make sense and can be removed. But you see 
if everything we do has to be compatible better be dead.
I would prefer to see GS having an infrastructure to load Pharo kernels. 
We are pushing the bootstrap for this reasons.
Because you see Pharo will use more and more slots because they are 
really really cool and powerful.


What do you do with Pillar? Because I write books, slides, and websites 
so this is an important piece of software for me.
Frustratingly, my work only allows me the occasional sprints in 
Smalltalk and without a Pier project to work on, I haven’t had the 
resources to keep it updated.


I’d like to see Pier get some love - it’s an awesome tool. How can I help?

[1] https://github.com/JupiterSmalltalk/Pillar

Join and hack.



On 12 Nov 2016, at 12:16 am, stepharo <steph...@free.fr 
<mailto:steph...@free.fr>> wrote:


Hi peter

I do not know but I would love that it would work. I should find some 
time to do a new pass on pillar.


On my first todo:

   - fix use of DNU instead of plain magritte methods.

   - extract object out of the command line.

   - document, document and document.


Stef



Le 10/11/16 à 22:34, Peter H. Meadows via Pharo-users a écrit :








Re: [Pharo-users] Little challenges for a Saturday evening :): Pangram

2016-11-13 Thread stepharo

Thanks Michal

I'm getting a nice introduction chapter on iterators driven by little 
exercises.



Le 12/11/16 à 13:30, Michal Balda a écrit :


Hi,

#isPangramIn: should probably use #asLowercase as well:

'The quick brown fox jumps over a lazy dog' isEnglishPangram "false -- 
now the $t is missing, there is only $T"



Kicking things off, here are my solutions:

isPangramAllSatisfyIn: alphabet "Just a small change to the original." 
| lowercase | lowercase := self asLowercase. ^ alphabet 
allSatisfy: [ :aChar | lowercase includes: aChar ]
isPangramCopyWithoutAllIn: alphabet ^ (alphabet copyWithoutAll: 
self asLowercase) isEmpty
isPangramDifferenceIn: alphabet ^ (alphabet difference: self 
asLowercase) isEmpty



The performance:

[ 'The quick brown fox jumps over the lazy dog' isPangramIn: 
'abcdefghijklmnopqrstuvwxyz' ] bench. "182,096 per second (I added 
#asLowercase here as well)" [ 'The quick brown fox jumps over the lazy 
dog' isPangramAllSatisfyIn: 'abcdefghijklmnopqrstuvwxyz' ] bench. 
"159,546 per second" [ 'The quick brown fox jumps over the lazy dog' 
isPangramCopyWithoutAllIn: 'abcdefghijklmnopqrstuvwxyz' ] bench. 
"159,850 per second" [ 'The quick brown fox jumps over the lazy dog' 
isPangramDifferenceIn: 'abcdefghijklmnopqrstuvwxyz' ] bench. "25,400 
per second"



Michal


On 12.11.2016 09:07, stepharo wrote:

Hi

If you have some comments :)

Stef and Thibaut




testIsEnglishPangram

self assert: 'the quick brown fox jumps over the lazy dog' 
isEnglishPangram.
self assert: 'the five boxing wizards jump quickly' 
isEnglishPangram.
self deny: 'the quick brown fox jumps over the  dog' 
isEnglishPangram.


testIsPangramIn

self assert: ('The quick brown fox jumps over the lazy dog' 
isPangramIn: 'abcdefghijklmnopqrstuvwxyz').

self assert: ('ma papa mama' isPangramIn: 'apm').

[[[
'portez ce vieux whisky au juge blond qui fume' isEnglishPangram
>>> true

'portons dix bons whiskys à l''avocat goujat qui fume au zoo.' 
isEnglishPangram

>>> true
]]]


isEnglishPangram
"Returns true is the receiver is a pangram i.e., that it uses all 
the characters of a given alphabet."

"'The quick brown fox jumps over the lazy dog' isEnglishPangram
>>> true"
"'The quick brown fox jumps over the dog' isEnglishPangram
>>> false"

^ self isPangramIn: 'abcdefghijklmnopqrstuvwxyz'.

isPangramIn: alphabet
"Returns true is the receiver is a pangram i.e., that it uses all 
the characters of a given alphabet."
"'The quick brown fox jumps over the lazy dog' isPangramIn: 
'abcdefghijklmnopqrstuvwxyz'

>>> true"
"'tata' isPangramIn: 'at'
>>> true"

alphabet do: [ :aChar |
(self includes: aChar)
ifFalse: [ ^ false ]
].
^ true








Re: [Pharo-users] [Teaser] Using Pharo to script Unreal

2016-11-13 Thread stepharo

+1


Le 13/11/16 à 14:28, Ben Coman a écrit :

Really cool! Great to hear your success. Looking forward to the next instalment.
cheers- ben

On Sun, Nov 13, 2016 at 4:44 AM, Dimitris Chloupis
 wrote:

Annnd I DID IT !!!

I accomplished connecting Pharo with Unreal so I can script it with Pharo.
It works from inside the editor and for the game as standalone. True live
coding :)

I am amazed how fast it is, but then I guess it should be expected with
shared memory.  You can watch a short demo here

https://www.youtube.com/watch?v=6fsUKW8-bBE=youtu.be

When I first created the loop, nothing happened.

So naturally I expected that my CPPBridge was not working, my loop is
basically going from 1 to 150 (z axis), 10 times. After inserting a delay of
just 10 milliseconds I could see movement.

So apparently without the delay Pharo , Unreal and CPPBridge are so fast
that do 10 times movement of 1 to 150 in under one frame ! So now I will
have to slow down thing to make them work as I want !!! LOL I expected
to be fast but nowhere that fast.

Not that I am complaining.

But this is just the first step, now I will slowly and steadily start to
wrap Unreal Engine 4.13 API for Pharo.

Its a dream to use Pharo professionally :)







Re: [Pharo-users] Little challenges for a friday evening

2016-11-13 Thread stepharo

Hi henrik


I have the impression that the code is missing something

'aa' isIsogram
>>> true

I wonder how we can set a bit without returning a new integer.


isIsogram

| i |

i := 0.

self asLowercase do: [ :char |

| val |

val := (char asInteger - 96).

(val between: 1 and: 26) ifFalse: [ ^ false ].

(i bitAt: val ) == 1 ifTrue: [ ^ false ].

i bitAt: val put: 1


i := i bitAt: val put: 1


].

^ true

An interesting observation here is that if #asLowercase is moved to 
 each character instead “val := (char asLowercase  asInteger - 96).” 
Then it leads to a 4-5x performance loss .


*From:*Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] *On 
Behalf Of *Damien Pollet

*Sent:* Friday, November 11, 2016 4:14 PM
*To:* Any question about pharo is welcome <pharo-users@lists.pharo.org>
*Subject:* Re: [Pharo-users] Little challenges for a friday evening

On 11 November 2016 at 12:02, stepharo <steph...@free.fr 
<mailto:steph...@free.fr>> wrote:


String>>#isIsogram
 | letters |
 letters := Dictionary new.
 self do: [ :x | letters at: x ifAbsent: [] ifPresent: [
^false ].

Yes I did that one too and I was surprised because it was as slow
as the bag implementation.

Anyone tried replacing the dictionary with an array of 26 booleans and 
indexing based on ascii, or even a SmallInteger and bit shifting?






Re: [Pharo-users] Little challenges for a friday evening

2016-11-13 Thread stepharo



A nice read.  What audience is it aimed at?

Difficult question :)
First or second year students and more.
So with and without a Java lecture before.
But the guy should know how to program a bit
I told you that it was fuzzy


Some grammar suggestions...

Oh I'm sure that they are many.
I will fix them



Sets are collections that   only contains one element.

Being pedantic ;) the following Set does more than "contain one element"...
  (Set new) add: 1; add: 2.

so maybe...
"Sets are unordered collections where elements do not repeat. " (??)



isIsogramSetImplementation
isIsogramFatestImplementation

might be shortened to "isIsogramBySet" and "isIsogramByFindString"



To define a method as class extension

To define a method as "a" class extension



and move the methods we define as class extension

and move the methods we define as class extension"s"



verifie

"verify"



Because the user of the method will not have the

This seems an incomplete sentence.



either return always a collection as for that we convert the character ...

"either always return a collection (thus we convert the character ... )"


cheers -ben


Thanks ben.
If you want to do PR all the chapter is on github LearningOOP with Pharo.



On Sat, Nov 12, 2016 at 7:19 AM, stepharo <steph...@free.fr> wrote:

I pair programmed with my middle son and we got the following chapter.

Now going to bed :)


Le 11/11/16 à 16:13, Damien Pollet a écrit :

On 11 November 2016 at 12:02, stepharo <steph...@free.fr> wrote:

String>>#isIsogram
  | letters |
  letters := Dictionary new.
  self do: [ :x | letters at: x ifAbsent: [] ifPresent: [ ^false ].

Yes I did that one too and I was surprised because it was as slow as the
bag implementation.


Anyone tried replacing the dictionary with an array of 26 booleans and
indexing based on ascii, or even a SmallInteger and bit shifting?









Re: [Pharo-users] MOOC TOC cleanup

2016-11-12 Thread stepharo




No, they should be there – I have just not included them yet because I 
didn't know which strategy we should use to embed the subtitles. There 
will be icons for both slides and video. And now that I have seen that 
there are slide.js slides I will use them instead of PDF because this 
is snappier in the browser.


oki



Normally they should be on canalU. I should check
and in fact we could give them all your work + our data so that
they publish everything in CanalU.


Sure.


Would you prefer a 'full', downloadable solution with the videos
and subtitles all on mooc.pharo.org ?

What do you mean?


See below:

 I would like to be able to package it and put it on large USB stick
and send it to all the teachers I know.


This is a cool use case. I just googled 
https://www.customusb.com/spin-flash-drive/, but haven't checked 
throughly. This means I will make individual HTML files for the videos 
with  tags and subtitles in them, and we can download all the 
content, open it in a web browser via the file:// protocol and use the 
MOOC offline.
We will have to see because embedded the subs measn that it will be 
difficult to have subs in spanish and I hope that
we will have spanish speaking people can that help doing that. I cannot 
because I do not understand it.


But we could have different versions.


I will make a small wget command line snippet that people can use to 
download the whole site recursively and put that on the bottom of the 
page. Like on get.pharo.org .


#!/bin/bash
# Remote HTTP directorie
remote_dir=( "http://rmod-pharo-mooc.lille.inria.fr/MOOC/; )
# Local mirror
local_dir=( "/home/aurelien/MOOC/http/" )

if [ ! -d "$local_dir" ]; then
mkdir -p "$local_dir"
fi

cd "$local_dir"
wget -m "$remote_dir" --no-parent -nH --cut-dir=1 -R index.html*




I have a put up a preview on
https://siemenbaader.github.io/PharoMooc-website/
.

What do you think?

I love it :)


I'm glad to hear that ;)

-- Siemen



View this message in context: Re: MOOC TOC cleanup 

Sent from the Pharo Smalltalk Users mailing list archive 
 at Nabble.com.




Re: [Pharo-users] Graph library in Pharo

2016-11-12 Thread stepharo

Would be nice to make it an object because serge looks interested :)



Le 12/11/16 à 13:42, werner kassens a écrit :


On 11/12/2016 09:29 AM, serge.stinckw...@gmail.com wrote:

Nice ! Do you commit the code somewhere ?


Hi Serge,
at the moment i have no specific usecase for density-plots, hence no 
need to incorporate that in some package. it never got that far, that 
it became an object or so, it was just some piece of code in a 
workspace, made by Pierre & me, as the basis for some discussion, we had.

werner








Re: [Pharo-users] Graph library in Pharo

2016-11-12 Thread stepharo



Le 11/11/16 à 16:03, Hernán Morales Durand a écrit :

I know these ones but didn't tried yet:

http://smalltalkhub.com/#!/~CipT/MelcGraph 
<http://smalltalkhub.com/#%21/%7ECipT/MelcGraph>
This one looks what I was looking for. Ciprian published a new version. 
I will have a look at it.



http://smalltalkhub.com/#!/~CipT/Yed-Rendering 
<http://smalltalkhub.com/#%21/%7ECipT/Yed-Rendering>

https://github.com/losnikitos/SmalltalkDijkstra/blob/master/Dijkstra.st

Hernán




2016-11-11 9:14 GMT-03:00 stepharo <steph...@free.fr 
<mailto:steph...@free.fr>>:


Hi

I'm looking for a graph library based on a matrix.

I remember that I saw one but long time ago.
Else if you know a pointer that explains how to implement it, I
would like to ask this to potential topics.


Stef







[Pharo-users] Little challenges for a Saturday evening :): Pangram

2016-11-12 Thread stepharo

Hi

If you have some comments :)

Stef and Thibaut




testIsEnglishPangram

self assert: 'the quick brown fox jumps over the lazy dog' 
isEnglishPangram.

self assert: 'the five boxing wizards jump quickly' isEnglishPangram.
self deny: 'the quick brown fox jumps over the  dog' isEnglishPangram.

testIsPangramIn

self assert: ('The quick brown fox jumps over the lazy dog' 
isPangramIn: 'abcdefghijklmnopqrstuvwxyz').

self assert: ('ma papa mama' isPangramIn: 'apm').

[[[
'portez ce vieux whisky au juge blond qui fume' isEnglishPangram
>>> true

'portons dix bons whiskys à l''avocat goujat qui fume au zoo.' 
isEnglishPangram

>>> true
]]]


isEnglishPangram
"Returns true is the receiver is a pangram i.e., that it uses all 
the characters of a given alphabet."

"'The quick brown fox jumps over the lazy dog' isEnglishPangram
>>> true"
"'The quick brown fox jumps over the dog' isEnglishPangram
>>> false"

^ self isPangramIn: 'abcdefghijklmnopqrstuvwxyz'.

isPangramIn: alphabet
"Returns true is the receiver is a pangram i.e., that it uses all 
the characters of a given alphabet."
"'The quick brown fox jumps over the lazy dog' isPangramIn: 
'abcdefghijklmnopqrstuvwxyz'

>>> true"
"'tata' isPangramIn: 'at'
>>> true"

alphabet do: [ :aChar |
(self includes: aChar)
ifFalse: [ ^ false ]
].
^ true




Re: [Pharo-users] Little challenges for a friday evening

2016-11-12 Thread stepharo

I love all these solutions!!!
Thank for you for such cool but compact discussions!

I did a check to see how I could get isograms for french so over a 
dictionary of 30 entities around 5 are
and I got really surprised because stupily I was counting é, ê, e and è 
as the same letter and well they are not (I remember
the points that I got removed during my french lecture because I 
confused é and è).

So the french alphabet is around 42 if we count
à, â, é, è, ê,  î, ï, ô, ù, û,  ç, æ et œ (I never saw ü, ÿ, ë)
but this excellent to show some important points too

a solution can be excellent if it matches well the requirements and some 
solutions are more flexible than others.


Stef





Re: [Pharo-users] MOOC TOC cleanup

2016-11-11 Thread stepharo

Hi Siemen

Hi Stef,

I have cloned the repository and linked the slides directly from the 
TOC. I also have styled it with Bootstrap labels and glyphicons, and 
added anchors to every item to make them easily linkable, eg for 
discussions on the mailing list / slack.

Super cool :)
Tx.
I have a question why the lecture do not have a video icon too? For 
example for the first week.
Because now it gives the impression that we do not have videos for the 
lectures.


The HTML files for the exercises refer to the directory 'support' ( 
http://rmod-pharo-mooc.lille.inria.fr/MOOC/support ) for css and js 
files. I think you have missed to put the directory on the server, the 
links are broken. Can you upload it?

We should ask damien. I will because he did it.

As for the videos, they require some sort of aggregation of subtitles 
and video, either in a separate HTML file with  tags, or eg. on 
youtube. At some point during or after the MOOC I remember the videos 
were in fact on youtube, with subtitles. Now they are back in the 
custom made player on fun-mooc.fr <http://fun-mooc.fr>, which is a bit 
impractical because the subtitles are on the right side, slightly out 
of view when attending to the lecture.
We do not control anything on that side. This is FUN that is changing 
and managing all that.

This is why we should get autonomous.



Are the videos still on youtube? I could not find them again.

No ideas.
Normally they should be on canalU. I should check
and in fact we could give them all your work + our data so that they 
publish everything in CanalU.


Would you prefer a 'full', downloadable solution with the videos and 
subtitles all on mooc.pharo.org <http://mooc.pharo.org>?

What do you mean?
Because since the videos are quite large in fact we have this special 
server.

Then the idea is that Unisciel and CanalU should distribute the Mooc.
It would be relatively easy to script something that generates the 
html files, but it would take more time than linking to the youtube 
videos, and I think the playback experience on youtube would actually 
be better / more cross-platform.

I do not really understand what you mean.
- for us youtube can throw away our videos we want to have a server with 
them
- then CanalU and Unisciel can have them - Unisciel prefers to have a 
webportal so we did one for them.
- I'm not a big fan of Php :) so I would like to avoid to have to 
maintain the WebPortal this is why
what you are doing is really cool because I would like to be able to 
package it and put it on large USB stick

and send it to all the teachers I know.

I have a put up a preview on 
https://siemenbaader.github.io/PharoMooc-website/.


What do you think?

I love it :)


best,
Siemen


On Thu, Nov 3, 2016 at 6:31 PM, stepharo <steph...@free.fr 
<mailto:steph...@free.fr>> wrote:




Le 3/11/16 à 18:05, Siemen Baader a écrit :

Hi Stef,

Sure.
Let me know how I can help.
I will forward your mail to christelle that manages the mooc
for us


Thanks. I'm looking forward to hear from her.

She translated the page but she is busy I forwarded the email to you.



Siemen
did you see the web portal
http://rmod-pharo-mooc.lille.inria.fr/MOOC/WebPortal/co/pharo.html
<http://rmod-pharo-mooc.lille.inria.fr/MOOC/WebPortal/co/pharo.html> (we

should add a pointer from http://mooc.pharo.org to it)
and also the http://mooc.pharo.org page? because we have the
full
control on this one.
And this is on my todo to make sure that people can get an
archive with
the complete mooc nicely packaged.
Now if you want to help it would be great.


Sure, we could either do it at fun-mooc.fr <http://fun-mooc.fr>
or mooc.pharo.org <http://mooc.pharo.org>. The latter is cleaner
and open to all. How do you generate it, and where is the source?
I'd like to have a look.

The source is on github.
https://github.com/SquareBracketAssociates/PharoMooc-website
<https://github.com/SquareBracketAssociates/PharoMooc-website>


What is the role of WebPortal?

the idea was to propose a package to user and we were paid and
forced to use this format.
I would prefer plain HTML (or even pillar).


best,
Siemen



View this message in context: Re: MOOC TOC cleanup
<http://forum.world.st/MOOC-TOC-cleanup-tp4921304p4921361.html>
Sent from the Pharo Smalltalk Users mailing list archive
<http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html> at
Nabble.com.







Re: [Pharo-users] MOOC TOC cleanup

2016-11-11 Thread stepharo

Hi siemen


Please pay attention that I have to check the following:
MoocLab which produces the mooc has a private production repository for 
the videos and I do not understand but the videos there are much larger 
there than on the http://rmod-pharo-mooc.lille.inria.fr/ 

I do not remember if we downloaded the videos from the official mooc web 
site (FUN) and that they did some preprocessing that reduced the size of 
the videos that they got from MoocLab.

I would need some help to see if
- the videos on France Université Numerique are better quality than 
the one on http://rmod-pharo-mooc.lille.inria.fr/ 


Stef


Le 11/11/16 à 08:47, Siemen Baader a écrit :

Hi Offray,

I'm not sure if this answers your question, but: the French and 
English subtitle files in .vtt and .srt format are already online in 
directories like 
http://rmod-pharo-mooc.lille.inria.fr/MOOC/Videos/W1/C019SD-W1-sous-titres-EN/ 
and similar. They are linked from the main page under 'videos'. I am 
looking for a way to include them in the video, that would allow you 
to switch among them while the video is playing. As I said, this is a 
preview of work in progress.


What is it that you would like to help with using Amara? Integrating 
the subtitles or creating new ones in other languages? I'm not sure I 
totally understand Amara :)


cheers,
Siemen





Re: [Pharo-users] Graph library in Pharo

2016-11-11 Thread stepharo

Thanks I will have a look.


Le 11/11/16 à 16:03, Hernán Morales Durand a écrit :

I know these ones but didn't tried yet:

http://smalltalkhub.com/#!/~CipT/MelcGraph 
<http://smalltalkhub.com/#%21/%7ECipT/MelcGraph>
http://smalltalkhub.com/#!/~CipT/Yed-Rendering 
<http://smalltalkhub.com/#%21/%7ECipT/Yed-Rendering>

https://github.com/losnikitos/SmalltalkDijkstra/blob/master/Dijkstra.st

Hernán




2016-11-11 9:14 GMT-03:00 stepharo <steph...@free.fr 
<mailto:steph...@free.fr>>:


Hi

I'm looking for a graph library based on a matrix.

I remember that I saw one but long time ago.
Else if you know a pointer that explains how to implement it, I
would like to ask this to potential topics.


Stef







Re: [Pharo-users] Graph library in Pharo

2016-11-11 Thread stepharo

this is nice :)



Le 11/11/16 à 17:26, Werner Kassens a écrit :

Hi Stephane,
i probably dont understand that question correctly. anyway a long time 
ago Pierre Chanson and me talked privately a bit about how to make 
density-plots like in the attachment

werner

On 11/11/2016 01:14 PM, stepharo wrote:

Hi

I'm looking for a graph library based on a matrix.

I remember that I saw one but long time ago.
Else if you know a pointer that explains how to implement it, I would
like to ask this to potential topics.


Stef





Re: [Pharo-users] Pier3 with latest Pillar?

2016-11-11 Thread stepharo

Hi peter

I do not know but I would love that it would work. I should find some 
time to do a new pass on pillar.


On my first todo:

- fix use of DNU instead of plain magritte methods.

- extract object out of the command line.

- document, document and document.


Stef



Le 10/11/16 à 22:34, Peter H. Meadows via Pharo-users a écrit :




[Pharo-users] Graph library in Pharo

2016-11-11 Thread stepharo

Hi

I'm looking for a graph library based on a matrix.

I remember that I saw one but long time ago.
Else if you know a pointer that explains how to implement it, I would 
like to ask this to potential topics.



Stef




Re: [Pharo-users] Little challenges for a friday evening

2016-11-11 Thread stepharo

[ [ [
[ GramChecker new
isIsogramBag: 'ALTRUISME'] bench '99,720 per second'
 ] ] ]

[ [ [
[ GramChecker new
isIsogram2Dict: 'ALTRUISME'] bench  '137,937 per second'
]]]

[ [ [
[ GramChecker new
isIsogramSet: 'ALTRUISME'] bench  '390,887 per second'
]]]

[ [ [
[ GramChecker new
isIsogramHenrik: 'ALTRUISME'] bench  '570,193 per second'
]]]


I will transform that as method extension and send the code around.

Then I will try pangram :)



Le 11/11/16 à 00:23, Henrik Nergaard a écrit :

String>>isIsogram

1 to: self size -1 do: [ :ix |
(self
findString: (self at: ix) asString
startingAt: ix +1
caseSensitive: false
) ~~ 0 ifTrue: [ ^ false ]  
].

^ true

-Original Message-
From: Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] On Behalf Of 
Sven Van Caekenberghe
Sent: Thursday, November 10, 2016 11:10 PM
To: Any question about pharo is welcome <pharo-users@lists.pharo.org>
Subject: Re: [Pharo-users] Little challenges for a friday evening

[ :string | string size = string asSet size ] value: 'Pharo'.


true

[ :string | string size = string asSet size ] value: 'Pharoo'.


false

String>>#isIsogram
   ^ self size = self asSet size

?


On 10 Nov 2016, at 22:19, stepharo <steph...@free.fr> wrote:

Hi

I'm checking how I would implement an isogram checker

'Pharo' isogram


true

because it contains only single letter.

I got a stupid bag drivent implementation but I will do another better and 
faster.

Stef

PS: after I will do anagram and pangram to have the family of gram checks (this 
is for a book).











Re: [Pharo-users] Little challenges for a friday evening

2016-11-11 Thread stepharo

Cool

I will add it to my collection of solutions and I guess that this one is 
the fastest but I should check first :)



Le 11/11/16 à 00:23, Henrik Nergaard a écrit :

String>>isIsogram

1 to: self size -1 do: [ :ix |
(self
findString: (self at: ix) asString
startingAt: ix +1
caseSensitive: false
) ~~ 0 ifTrue: [ ^ false ]  
].

^ true

-Original Message-
From: Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] On Behalf Of 
Sven Van Caekenberghe
Sent: Thursday, November 10, 2016 11:10 PM
To: Any question about pharo is welcome <pharo-users@lists.pharo.org>
Subject: Re: [Pharo-users] Little challenges for a friday evening

[ :string | string size = string asSet size ] value: 'Pharo'.


true

[ :string | string size = string asSet size ] value: 'Pharoo'.


false

String>>#isIsogram
   ^ self size = self asSet size

?


On 10 Nov 2016, at 22:19, stepharo <steph...@free.fr> wrote:

Hi

I'm checking how I would implement an isogram checker

'Pharo' isogram


true

because it contains only single letter.

I got a stupid bag drivent implementation but I will do another better and 
faster.

Stef

PS: after I will do anagram and pangram to have the family of gram checks (this 
is for a book).











Re: [Pharo-users] Little challenges for a friday evening

2016-11-11 Thread stepharo



Le 11/11/16 à 01:09, Ben Coman a écrit :

First I've heard of an isogram. Wikipedia [1] is ambiguous.  Are you
considering only single occurrence of letters, or also equal
occurrence of letters.

I like Sven's answer best, but just as an exercise I thought of an alternative.

String>>#isIsogram
 | letters |
 letters := Dictionary new.
 self do: [ :x | letters at: x ifAbsent: [] ifPresent: [ ^false ].
Yes I did that one too and I was surprised because it was as slow as the 
bag implementation.





On Fri, Nov 11, 2016 at 6:19 AM, Sven Van Caekenberghe  wrote:

you're right, should probably be case insensitive.

Or maybe that is overly restrictive.  A case sensitive #isogram would
have the flexibility to used both ways...

'Pharop' isogram
'Pharop' asLowercase isogram


Now a philosophical question (not that its practical to change anything),
but intuitively I tried using #lowercase before searching and finding
#asLowercase,
so I am wondering...
I feel #asXXX methods are there to change the 'type' of an object,
while #asLowercase isn't changing the type, but returning a
transformation much like...

'Pharop' sorted

We don't say 'Pharop' asSorted

cheers -ben


On 10 Nov 2016, at 23:14, Cyril Ferlicot D.  wrote:

Le 10/11/2016 à 23:09, Sven Van Caekenberghe a écrit :

[ :string | string size = string asSet size ] value: 'Pharo'.


true

[ :string | string size = string asSet size ] value: 'Pharoo'.


false

String>>#isIsogram
  ^ self size = self asSet size

?


'Pharop' size = 'Pharop' asSet size


true

Does it count? If upper-case counts you will need to do `^ self size =
self asLowercase asSet size` :)







[Pharo-users] Little challenges for a friday evening

2016-11-10 Thread stepharo

Hi

I'm checking how I would implement an isogram checker

'Pharo' isogram

>>> true

because it contains only single letter.

I got a stupid bag drivent implementation but I will do another better 
and faster.


Stef

PS: after I will do anagram and pangram to have the family of gram 
checks (this is for a book).





Re: [Pharo-users] Spec: Setting rows height of a pictures list

2016-11-08 Thread stepharo

Matteo your emails format looks quite strange...


Le 8/11/16 à 14:27, Matteo via Pharo-users a écrit :
I think the adaptor will called "MorphicImageFastTableAdaptor", and 
the model "ImageFastTableAdapter".


In the package "Spec-MorphicAdapters", the "MorphicFastTableAdapter" 
uses an object "FTPluggableIconListMorphAdaptor".


I would say yes because as you I find this suboptimal.
Now may be it was created like that because of incompatibilities between 
uses of PluggableIconListMorph (RIP) and FT.

Nothing is simple when you have legacy and different interaction protocol


Could the "MorphicImageFastTableAdaptor" use directly a "FTTableMorph" 
object, instead of creating "pluggable" adapter?

Could you give a try and let us know.
I' super hyper fuulll (tomorrow 6 hours teaching).


cheers,
Matteo





Re: [Pharo-users] Looking for the library to sort object

2016-11-07 Thread stepharo

Thanks!



Le 7/11/16 à 12:37, Sven Van Caekenberghe a écrit :

This is very nice:

http://smalltalkhub.com/#!/~emaringolo/SortFunctions


On 7 Nov 2016, at 12:25, stepharo <steph...@free.fr> wrote:

Hi

I know that "steffen" did a nice library to sort objects and I know that this 
is a nice extension.

But I cannot find it.

Stef










Re: [Pharo-users] about balkanisation

2016-11-07 Thread stepharo


[ ... ]


And this one I don't understand. A smooth, git / iceberg oriented 
transition over Monticello/Metacello is perfectly doable... As Dale 
explained. A nice Iceberg gui reworking / making git usable is perfect.


But why make the transition so hard? You get Stef angry on a Sunday 
morning because he can't find things anymore... even if he is a strong 
proponent of the strategy he complains about ;)


No my point was not that.
My point is that it is important to pay attention and not to add more 
noise than necessary. Let us take the time and move alltogether.


Stef



Thierry




[Pharo-users] Looking for the library to sort object

2016-11-07 Thread stepharo

Hi

I know that "steffen" did a nice library to sort objects and I know that 
this is a nice extension.


But I cannot find it.

Stef




Re: [Pharo-users] about balkanisation

2016-11-06 Thread stepharo



Le 6/11/16 à 17:21, Stephan Eggermont a écrit :

Kilon wrote:

If you really want to embrace Github , kill Smalltalkhub

We are not close to doing that. We'll need
Monticello support indefinitely, and at least a few years two-way. And that 
assumes we automatically migrate all open projects.


We decided that iceberg will support one way from MC -> github but not 
the inverse because we do not have the ressources.


First we need good workflows that also work for complex projects. That includes 
cross-platform projects like Seaside
We should be able to manage Pharo with the external projects composing 
it. Moose Seaside should be working too.


So yes this is why guille spent some time building cases and evaluate 
solutions (submodules vs subtrees vs under one umbrella)

with pull requests between subprojects and the rest



Stephan









Re: [Pharo-users] About balkanisation

2016-11-06 Thread stepharo



Le 6/11/16 à 17:12, Tudor Girba a écrit :

Hi Stef,

I think that you are raising a valid point, and I actually agree with it.

But I think there is another side of the coin as well.

I think that right now we are in between worlds and this is not quite 
beneficial. Switching to GitHub is a significant effort, and treating it as 
business as usual will not work. That is why I think it is so important that we 
committed to the move for Pharo 7 and that we invest in the infrastructure. 
But, this will not be enough either if we do not get people to exercise it as 
soon as possible.


Yes this what we decided.

To give an example. When the first version of Iceberg was announced, I started 
to use it for a couple of projects. I stumbled across problems that prevented 
me from working for several weeks. I could have easily switched to 
SmalltalkHub, but I did not. I connected with Nicolas and we worked through 
those problems. Btw, Nicolas is doing a wonderful job, and people should not 
take this for granted. He tends to be shy, so if you see him around, please 
give him a hug and let him know that we count on him. Or better yet, use 
Iceberg for your projects and send him your feedback :).


Yes people should try but should pay attention for libraries.

I am sure that there are more problems ahead, and the only way to go through 
them is committing to go through them. This will push us back for a while, but 
I really believe in the promise once we get on the other side. I actually think 
that GitHub is not really a good match for Pharo from a conceptual point of 
view (the mismatch between what it offers and what we need is quite large), but 
it is an engineering decision that makes perfect sense for the future. So, yes, 
we should take GitHub with a grain of salt, and make it a goal to not change 
much our concept of what makes sense for Pharo. For example, we should not give 
up on having to resort to the file system. That is why it is so important to 
make Iceberg (this is not for you Stef because I know you know it, but for 
others :)).

And I certainly agree that we should look for sane patterns, but as it goes 
with patterns, they emerge out of practice.

I think we should aim for limiting the time of being in between the two worlds. 
It will not be pleasant, and we can only do it if we stick together and go 
through it as soon as possible.


This why I mentioned that we should pay attention to create different 
versions




Cheers,
Doru





On Nov 6, 2016, at 1:05 PM, stepharo <steph...@free.fr> wrote:

Hi

I would like that you think a bit about our community and that there is a value 
in using common tools

to share and develop common libraries. Because to me it feels like we are 
getting balkanize.


It may look super cool and be hyper trendy to use github (because like that you 
can say that you use latest hyper cool

features), but I would like to ask especially people building libraries to pay 
attention that it is important

that other people can contribute back easily and that there is an easy way to 
load/contribute.

Today I experienced Bloc

- I cannot load code and I cannot contribute.

- I saw mdl with a mixture between smalltalkhub and github (sounds super 
hyper cool) and I saw paul not being able to contribute :(


Yes you can say that monticello sucks yes it is terrible yes we all fell like 
Cobol programmers but at the end of the day.

Yes the herb is always greener elsewhere. Yes yes yes. Let us take some facts.

We managed pharo and moose with it over the last 8 years successfully and Pharo 
and moose are not 5 packages together from

what I can see. So pay attention about the decision you take.

Now we will provide git support (this is 8 months that nicolas is exclusively 
working/thinking/dreaming

about that) and that we are doing experiments (Guille is managing the bootstrap 
in github).

Now when everybody will have its own little project lost on github (I do not 
count the amount of time I do not find pillar on github because I forget

that it is called pillar-markup), what will we do.

So we need an infrastructure to handle this and christophe is working on this.

I think that you should consider the accidental complexity as something that we 
can minimise by using patterns and common practices.

Now you can think that I'm an idiot and that I have no vision (be my guest) but 
we should pay attention because we are a small community.

Stef





--
www.tudorgirba.com
www.feenk.com

"Presenting is storytelling."








Re: [Pharo-users] About balkanisation

2016-11-06 Thread stepharo

Dimitris

better reread what I wrote because you missed it.

My point is let us minimize the mess and act in a concerted way. Do you 
think that we would pay 9 months of dev + esteban that will started to 
push there too


and base all our dev on it if we would not believe that moving to git is 
stupid!


Can you read what I write?

Stef


Le 6/11/16 à 13:05, stepharo a écrit :

Hi

I would like that you think a bit about our community and that there 
is a value in using common tools


to share and develop common libraries. Because to me it feels like we 
are getting balkanize.



It may look super cool and be hyper trendy to use github (because like 
that you can say that you use latest hyper cool


features), but I would like to ask especially people building 
libraries to pay attention that it is important


that other people can contribute back easily and that there is an easy 
way to load/contribute.


Today I experienced Bloc

- I cannot load code and I cannot contribute.

- I saw mdl with a mixture between smalltalkhub and github (sounds 
super hyper cool) and I saw paul not being able to contribute :(



Yes you can say that monticello sucks yes it is terrible yes we all 
fell like Cobol programmers but at the end of the day.


Yes the herb is always greener elsewhere. Yes yes yes. Let us take 
some facts.


We managed pharo and moose with it over the last 8 years successfully 
and Pharo and moose are not 5 packages together from


what I can see. So pay attention about the decision you take.

Now we will provide git support (this is 8 months that nicolas is 
exclusively working/thinking/dreaming


about that) and that we are doing experiments (Guille is managing the 
bootstrap in github).


Now when everybody will have its own little project lost on github (I 
do not count the amount of time I do not find pillar on github because 
I forget


that it is called pillar-markup), what will we do.

So we need an infrastructure to handle this and christophe is working 
on this.


I think that you should consider the accidental complexity as 
something that we can minimise by using patterns and common practices.


Now you can think that I'm an idiot and that I have no vision (be my 
guest) but we should pay attention because we are a small community.


Stef










[Pharo-users] About balkanisation

2016-11-06 Thread stepharo

Hi

I would like that you think a bit about our community and that there is 
a value in using common tools


to share and develop common libraries. Because to me it feels like we 
are getting balkanize.



It may look super cool and be hyper trendy to use github (because like 
that you can say that you use latest hyper cool


features), but I would like to ask especially people building libraries 
to pay attention that it is important


that other people can contribute back easily and that there is an easy 
way to load/contribute.


Today I experienced Bloc

- I cannot load code and I cannot contribute.

- I saw mdl with a mixture between smalltalkhub and github (sounds 
super hyper cool) and I saw paul not being able to contribute :(



Yes you can say that monticello sucks yes it is terrible yes we all fell 
like Cobol programmers but at the end of the day.


Yes the herb is always greener elsewhere. Yes yes yes. Let us take some 
facts.


We managed pharo and moose with it over the last 8 years successfully 
and Pharo and moose are not 5 packages together from


what I can see. So pay attention about the decision you take.

Now we will provide git support (this is 8 months that nicolas is 
exclusively working/thinking/dreaming


about that) and that we are doing experiments (Guille is managing the 
bootstrap in github).


Now when everybody will have its own little project lost on github (I do 
not count the amount of time I do not find pillar on github because I forget


that it is called pillar-markup), what will we do.

So we need an infrastructure to handle this and christophe is working on 
this.


I think that you should consider the accidental complexity as something 
that we can minimise by using patterns and common practices.


Now you can think that I'm an idiot and that I have no vision (be my 
guest) but we should pay attention because we are a small community.


Stef






Re: [Pharo-users] Spec: Setting rows height of a pictures list

2016-11-05 Thread stepharo



Le 5/11/16 à 15:59, Matteo via Pharo-users a écrit :


Re: [Pharo-users] Spec: Setting rows height of a pictures list.eml

Sujet :
Re: [Pharo-users] Spec: Setting rows height of a pictures list
De :
Matteo 
Date :
5/11/16 15:53

Pour :
Any question about pharo is welcome 


Hi Nicolai,
I think it would be great to have a specific ListModel for pictures,
like the IconListModel.

Do you know if there's already someone working on a "picture" ListModel?

Not that I know.

Could I try to implement it, and its morphic adapter?


Sure!
Now pay attention that it is probably better to use FastTable on the 
morphic level.




Thanks,
Matteo

On 31/10/16 15:20, Nicol




Re: [Pharo-users] May I please be added as a contributor to the KevinLanvin/MaterialDesignLite repo on Sthub?

2016-11-05 Thread stepharo

Cyril

I do not think that Kevin is following this list. I strongly suggest 
that the repo is moved to one that we can control and let people 
contribute.


This project is important and it is important that people can contribute.

Can you create a repo or I can as PharoTeam?

BTW DuneSt looks really strange for a library that will be as important 
as twitter bootstrap for Seaside.


so we should take a little bit care about that.

Stef



Le 5/11/16 à 19:26, Cyril Ferlicot D. a écrit :

On 05/11/2016 19:19, PAUL DEBRUICKER wrote:

This one:  http://smalltalkhub.com/#!/~KevinLanvin/MaterialDesignLite/


my username is pdebruic


Hi Paul,

This repository is not the official repository of MDL anymore. The new
one is here: https://github.com/DuneSt/MaterialDesignLite

You will see that there are still activities on the old one, this is
because some people use it on Pharo 4 where we cannot load metadataless
projects. But all the development in Smalltalkhub will be port to github
after a little cleaning. (And when I will have time of course).

If you do not wish to contribute on github since the tools are not
finished I we have to hope that Kevin will see your mail and add you. If
you are added I will take care of porting your contributions to github.






Re: [Pharo-users] How to consume the MOOC?

2016-11-05 Thread stepharo

Hi luke

you can use the webportal (it supports subtitles in french and english - 
but read carefully what we wrote because we got trapped into a bug with 
certain configurations).


http://rmod-pharo-mooc.lille.inria.fr/MOOC/WebPortal/co/pharo.html

http://rmod-pharo-mooc.lille.inria.fr/MOOC/

contains all the resources of the mooc

http://rmod-pharo-mooc.lille.inria.fr/MOOC/Videos/

contains all the videos + their respective subs

All the exercises are in english.

Let us know how it goes.

Stef

Le 4/11/16 à 12:11, Luke Gorrie a écrit :

Howdy!

Just a question from a confused newbie: What is the easiest way to 
consume the Pharo MOOC content in English?


I have tried to find the content a few times over the past few months 
but so far I have hit a registration page / short trailer video / 
video in French. (I keep hoping that a YouTube channel will appear 
that makes the videos easy to follow in sequence on any device.)


Cheers!
-Luke







Re: [Pharo-users] [ALERT] Pharo by Example version 5 is about to be released

2016-11-03 Thread stepharo



Le 3/11/16 à 19:28, Nicolai Hess a écrit :



2016-10-27 13:32 GMT+02:00 Dimitris Chloupis >:


In case someone missed it I will be doing a release for version 5
(pharo version = pbe version) this weekend , since we had Pharo 7
initiated few days ago.

Essentially that means that the repo will be tagged for version 5,
which means a git commit is associated as a last commit for that
version and there will be a frozen release - download for Pharo by
Example version 5. After that we move to Pharo By Example version
6 or PBE6 for short

The repo wont change otherwise and the process of submitting
commits, pull requests and issues remains the same.

If you have found a flaw of any sort in the documentation , please
open an issue in the github issue tracker that can be found here

https://github.com/SquareBracketAssociates/UpdatedPharoByExample/issues


I will try to fix any problem reported but if I cannot , the fix
will have to move to version 6

As always thanks to all people contributing into the impossible
 making Pharo more amazing

If you want to contribute feel free to do so with a pull request.

Does not matter if you are beginner because even minor corrections
like correcting mistakes in the grammar or content of the text,
updated pictures, or just a few lines of extra info are more than
enough and more than welcomed. Many Pharo beginners have already
done so .

-Salute to fellow Guardians of The Light



Which image version will be the "reference" image for this book? Pharo 
50762 ?


yes

STef






Re: [Pharo-users] MOOC TOC cleanup

2016-11-03 Thread stepharo



Le 3/11/16 à 18:05, Siemen Baader a écrit :

Hi Stef,

Sure.
Let me know how I can help.
I will forward your mail to christelle that manages the mooc for us


Thanks. I'm looking forward to hear from her.

She translated the page but she is busy I forwarded the email to you.



Siemen
did you see the web portal
http://rmod-pharo-mooc.lille.inria.fr/MOOC/WebPortal/co/pharo.html
 (we

should add a pointer from http://mooc.pharo.org to it)
and also the http://mooc.pharo.org page? because we have the full
control on this one.
And this is on my todo to make sure that people can get an archive
with
the complete mooc nicely packaged.
Now if you want to help it would be great.


Sure, we could either do it at fun-mooc.fr  or 
mooc.pharo.org . The latter is cleaner and open 
to all. How do you generate it, and where is the source? I'd like to 
have a look.

The source is on github.
https://github.com/SquareBracketAssociates/PharoMooc-website


What is the role of WebPortal?
the idea was to propose a package to user and we were paid and forced to 
use this format.

I would prefer plain HTML (or even pillar).


best,
Siemen



View this message in context: Re: MOOC TOC cleanup 

Sent from the Pharo Smalltalk Users mailing list archive 
 at Nabble.com.




Re: [Pharo-users] [ALERT] Pharo by Example version 5 is about to be released

2016-11-03 Thread stepharo



Le 3/11/16 à 15:11, Nicolai Hess a écrit :



2016-11-03 15:02 GMT+01:00 stepharo <steph...@free.fr 
<mailto:steph...@free.fr>>:


Hi nicolai

I started to work on the reflection chapter.



The reflection chapter (and maybe some other too) could new some new 
screenshots.


Yes I started.
I know that Sharing code has the problems.


Now hacking PharoDoc :)

Stef


Le 3/11/16 à 14:29, Nicolai Hess a écrit :



2016-10-27 13:32 GMT+02:00 Dimitris Chloupis
<kilon.al...@gmail.com <mailto:kilon.al...@gmail.com>>:

In case someone missed it I will be doing a release for
version 5 (pharo version = pbe version) this weekend , since
we had Pharo 7 initiated few days ago.

Essentially that means that the repo will be tagged for
version 5, which means a git commit is associated as a last
commit for that version and there will be a frozen release -
download for Pharo by Example version 5. After that we move
to Pharo By Example version 6 or PBE6 for short

The repo wont change otherwise and the process of submitting
commits, pull requests and issues remains the same.

If you have found a flaw of any sort in the documentation ,
please open an issue in the github issue tracker that can be
found here

https://github.com/SquareBracketAssociates/UpdatedPharoByExample/issues

<https://github.com/SquareBracketAssociates/UpdatedPharoByExample/issues>

I will try to fix any problem reported but if I cannot , the
fix will have to move to version 6

As always thanks to all people contributing into the
impossible  making Pharo more amazing

If you want to contribute feel free to do so with a pull
request.

Does not matter if you are beginner because even minor
corrections like correcting mistakes in the grammar or
content of the text, updated pictures, or just a few lines of
extra info are more than enough and more than welcomed. Many
Pharo beginners have already done so .

-Salute to fellow Guardians of The Light


I found some problems, but I don't have time to report/fix them
now, I 'll try to report them
later (today or tomorrow).








Re: [Pharo-users] MOOC TOC cleanup

2016-11-03 Thread stepharo



Hi all, especially Luc, Stéphane and Damien,

the Pharo MOOC course was fantastic and I use the archived material for
reference quite a lot. It is here:

https://www.fun-mooc.fr/courses/inria/41010/session01/b116d12e24ec484c984831440227ac15/

But - the English table of contents is in French, and the attached ZIP files
need to be downloaded before they can be browsed. It gets quite messy. Would
anyone with the required permissions be OK to:

- translate the TOC to English
- split the ZIP files into separate elements under their respective
headlines that can be viewed in the browser

or

- grant me the permissions to do this work for the community?


Sure.
Let me know how I can help.
I will forward your mail to christelle that manages the mooc for us

Siemen
did you see the web portal 
http://rmod-pharo-mooc.lille.inria.fr/MOOC/WebPortal/co/pharo.html (we 
should add a pointer from http://mooc.pharo.org to it)
and also the http://mooc.pharo.org page? because we have the full 
control on this one.
And this is on my todo to make sure that people can get an archive with 
the complete mooc nicely packaged.

Now if you want to help it would be great.

Stef


best,
Siemen



--
View this message in context: 
http://forum.world.st/MOOC-TOC-cleanup-tp4921304.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.







Re: [Pharo-users] [vwnc] small examples to show the tools

2016-11-03 Thread stepharo

Nice :)
When I made the presentation in the Greek Hackespace in Athens, I 
tried to illustrate how Smalltalk is a live organism. Took me 10 
minutes to do that. The rest, 20 minutes, was spent with me debugging 
the GUI of ChronosManager, I inserted a bug and show how I fixed it 
without the GUI stoping and of course demonstrated the use of halos 
and the inspector.





Re: [Pharo-users] [ALERT] Pharo by Example version 5 is about to be released

2016-11-03 Thread stepharo

Hi nicolai

I started to work on the reflection chapter.

Now hacking PharoDoc :)

Stef


Le 3/11/16 à 14:29, Nicolai Hess a écrit :



2016-10-27 13:32 GMT+02:00 Dimitris Chloupis >:


In case someone missed it I will be doing a release for version 5
(pharo version = pbe version) this weekend , since we had Pharo 7
initiated few days ago.

Essentially that means that the repo will be tagged for version 5,
which means a git commit is associated as a last commit for that
version and there will be a frozen release - download for Pharo by
Example version 5. After that we move to Pharo By Example version
6 or PBE6 for short

The repo wont change otherwise and the process of submitting
commits, pull requests and issues remains the same.

If you have found a flaw of any sort in the documentation , please
open an issue in the github issue tracker that can be found here

https://github.com/SquareBracketAssociates/UpdatedPharoByExample/issues


I will try to fix any problem reported but if I cannot , the fix
will have to move to version 6

As always thanks to all people contributing into the impossible
 making Pharo more amazing

If you want to contribute feel free to do so with a pull request.

Does not matter if you are beginner because even minor corrections
like correcting mistakes in the grammar or content of the text,
updated pictures, or just a few lines of extra info are more than
enough and more than welcomed. Many Pharo beginners have already
done so .

-Salute to fellow Guardians of The Light


I found some problems, but I don't have time to report/fix them now, I 
'll try to report them

later (today or tomorrow).





Re: [Pharo-users] Pharo desktop UI

2016-11-03 Thread stepharo



Le 2/11/16 à 22:43, vikenti a écrit :

Hello, i'm newbie in Pharo, converted from Visual Works which is quite
different from Pharo Smalltalk.
I started to port my application (i've been working on for about three
years) from VW (because of new personal user licensing limitations of Visual
Works), but i have to solve some problems and need your advice.

These ase some of the most important problems:
1.  I need to rewrite the whole GUI from scratch. What UI framework to
choose and where to get documentation? Please, don't send me to research
code examples instead of docs - i do this during whole last week. The
example should be complete and simple: one task - one example, all examples
i've seen are either not applicable to real life or too complicated to
understand.
  - I need simple window with menu (how to attach menu items to menu
handlers - no answer in examples)
  - Toolbar with icons (how)
  - components (as i understand - Morphic subclasses, it is the simplest
part)
  - when window opens i need handler to do some setup actions. Handler should
fire after UI is built and my app's window is opened (how?)
  - i need another handler, which fires when you try to close Pharo or
application's window. Handler must check whether to close window or not and
do allow or not to close my application.
  - how to programmatically close window??

2. The next task is to do some work on image load (i mean pharo image). I
need some handler which fires immediately after image is loaded. How to
include my handler in this chain My app saves data into the image so i
need to manage this and auto-load _my_ application after startup.

look for startup or startUp or startUpList


3. How to drag-n-drop from the host operation system into pharo application
and vice versa? I need to drag-n-drop a list of files from\to file browser.

I do not remember but there is a way to do that.
For example when you drop a .cs file it gets loaded.

4. Application deployment. How to strip the unnecessary code from the image?
I've heard there is "small image" to add all-i-need-to-run. Where i can
download it and how to use it


- Do you need to strip your image?
- for the small image we are producing one but I'm not sure that you 
want to lose your time with it right now.


Stef






  





--
View this message in context: 
http://forum.world.st/Pharo-desktop-UI-tp4921212.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.







Re: [Pharo-users] Pharo desktop UI

2016-11-03 Thread stepharo

http://books.pharo.org

and you can contribute if when reading you think something is missing.

and you can also contribute by improving Spec.

Stef


Le 2/11/16 à 23:01, Johan Fabry a écrit :

Hello Vikenti,

for writing UIs in Pharo the UI builder you should use is Spec. We have 
documentation online in the form of a book (which is a work in progress).I 
think it will answer many of your UI questions, have a look at 
http://files.pharo.org/books/spec-tutorial/

HTH,

--
Does this mail seem too brief? Sorry for that, I don’t mean to be rude! Please 
see http://emailcharter.org .

Johan Fabry   -   http://pleiad.cl/~jfabry
PLEIAD and RyCh labs  -  Computer Science Department (DCC)  -  University of 
Chile


On 02 Nov 2016, at 18:43, vikenti  wrote:

Hello, i'm newbie in Pharo, converted from Visual Works which is quite
different from Pharo Smalltalk.
I started to port my application (i've been working on for about three
years) from VW (because of new personal user licensing limitations of Visual
Works), but i have to solve some problems and need your advice.

These ase some of the most important problems:
1.  I need to rewrite the whole GUI from scratch. What UI framework to
choose and where to get documentation? Please, don't send me to research
code examples instead of docs - i do this during whole last week. The
example should be complete and simple: one task - one example, all examples
i've seen are either not applicable to real life or too complicated to
understand.
- I need simple window with menu (how to attach menu items to menu
handlers - no answer in examples)
- Toolbar with icons (how)
- components (as i understand - Morphic subclasses, it is the simplest
part)
- when window opens i need handler to do some setup actions. Handler should
fire after UI is built and my app's window is opened (how?)
- i need another handler, which fires when you try to close Pharo or
application's window. Handler must check whether to close window or not and
do allow or not to close my application.
- how to programmatically close window??

2. The next task is to do some work on image load (i mean pharo image). I
need some handler which fires immediately after image is loaded. How to
include my handler in this chain My app saves data into the image so i
need to manage this and auto-load _my_ application after startup.

3. How to drag-n-drop from the host operation system into pharo application
and vice versa? I need to drag-n-drop a list of files from\to file browser.

4. Application deployment. How to strip the unnecessary code from the image?
I've heard there is "small image" to add all-i-need-to-run. Where i can
download it and how to use it









--
View this message in context: 
http://forum.world.st/Pharo-desktop-UI-tp4921212.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.










Re: [Pharo-users] [ANN] Pharo By Example 5.0

2016-11-01 Thread stepharo

I would like to know if you have this file on your HD.

Else I will remove the reference to it.


Le 30/10/16 à 22:41, Dimitris Chloupis a écrit :

are you asking me a question or request ?

On Sun, Oct 30, 2016 at 11:39 PM stepharo <steph...@free.fr 
<mailto:steph...@free.fr>> wrote:


I'm looking for the

figures/workspaceInspector.png

Because I pulled and I cannot latex anymore.

I'm working on the web site: http://books.pharo.org to get

all the book pdfs in a well defined place (and all the rest).

all the pointer to git hub

all the pointer to the jenkins server.

Stef


Le 29/10/16 à 20:45, Dimitris Chloupis a écrit :

I forgot to add that the final render of the book cover can be
found here


https://gitlab.com/Kilon/pbe5-cover/raw/master/Pharo%20demo/renders/render-201610292004.jpg

have fun :)

On Sat, Oct 29, 2016 at 9:38 PM Dimitris Chloupis
<kilon.al...@gmail.com <mailto:kilon.al...@gmail.com>> wrote:

As promised I released PBE5.0 just now, which basically puts
a tag to our github repository to mark the beginning of
version 5 and also provided a release in a fork of separate
downloads for the book and the repository itself which
anything that is required to build the book.

If you want just to read , downloading the pdf is enough. You
can get the release from here


https://github.com/SquareBracketAssociates/UpdatedPharoByExample/releases/tag/v5.0

Unfortunately I was not able to port the Reflection chapter ,
it needs a ton of work , probably a complete rewrite but
since its a late chapter and we already have achieved a 80%
updating I think it was the right time now that pharo 7 is
starting developing .

Still till PBE6.0 we have a long way to go but I think we can
get there far easier than we got from PBE1.4 to PBE5.0.

The rest of the details are in the link.

Salute to fellow Guardians of the Light :)







Re: [Pharo-users] How does Boolean ifTrue work?

2016-11-01 Thread stepharo

more than that.

You can define code in Boolean in terms of the abstract methods and such 
code will be executed on instance of True and False


using False and True methods.

You are learning now for real what is OOP.

So your teacher is a really smart teacher because he chose to expose you 
to objects and OOP thinking for real.


Stef
Le 31/10/16 à 15:58, CodeDmitry a écrit :

Ah so it's more of a "dynamic abstract class" than a "dynamic interface", so
they do get visited during the traversal of the inheritence chain(rather
than skipped immediately to Object).



--
View this message in context: 
http://forum.world.st/How-does-Boolean-ifTrue-work-tp4920873p4920896.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.







Re: [Pharo-users] [ANN] Pharo By Example 5.0

2016-10-30 Thread stepharo

I'm looking for the

figures/workspaceInspector.png

Because I pulled and I cannot latex anymore.

I'm working on the web site: http://books.pharo.org to get

all the book pdfs in a well defined place (and all the rest).

all the pointer to git hub

all the pointer to the jenkins server.

Stef


Le 29/10/16 à 20:45, Dimitris Chloupis a écrit :

I forgot to add that the final render of the book cover can be found here

https://gitlab.com/Kilon/pbe5-cover/raw/master/Pharo%20demo/renders/render-201610292004.jpg

have fun :)

On Sat, Oct 29, 2016 at 9:38 PM Dimitris Chloupis 
> wrote:


As promised I released PBE5.0 just now, which basically puts a tag
to our github repository to mark the beginning of version 5 and
also provided a release in a fork of separate downloads for the
book and the repository itself which anything that is required to
build the book.

If you want just to read , downloading the pdf is enough. You can
get the release from here


https://github.com/SquareBracketAssociates/UpdatedPharoByExample/releases/tag/v5.0

Unfortunately I was not able to port the Reflection chapter , it
needs a ton of work , probably a complete rewrite but since its a
late chapter and we already have achieved a 80% updating I think
it was the right time now that pharo 7 is starting developing .

Still till PBE6.0 we have a long way to go but I think we can get
there far easier than we got from PBE1.4 to PBE5.0.

The rest of the details are in the link.

Salute to fellow Guardians of the Light :)





Re: [Pharo-users] Cover for PBE5

2016-10-30 Thread stepharo

Philemon is so great and strange :)

Le 30/10/16 à 21:23, Damien Pollet a écrit :
Somehow this makes me think of the cover of the Tintin album "L'Île 
Noire"

http://www.images-booknode.com/book_cover/265/full/les-aventures-de-tintin---l-ile-noire-265103.jpg

Perhaps a similar composition with close/far subjects and clean flat 
text would work better… as it is now, I find it too dark/dramatic for 
the subject matter, and I find the word art floating over water cheesy 
and making little sense, sorry…


Another inspiration where the 3D text would work better would be the 
Philémon's letters in the Atlantic (it's a surrealist universe where 
the letters spelling OCÉAN ATLANTIQUE on a world globe are really 
letter-shaped islands) : http://iteror.org/big/img/i/Philemon_leA.jpg


On 30 October 2016 at 17:59, Dimitris Chloupis <kilon.al...@gmail.com 
<mailto:kilon.al...@gmail.com>> wrote:


Yeap thats the idea, being unique is my goal , though still
developing my style.

I am also not a fan of flat designs , with exceptions those that
also carry a unique style.


Στις Κυρ, 30 Οκτ 2016 - 18:49 ο χρήστης p...@highoctane.be
<mailto:p...@highoctane.be> <p...@highoctane.be
<mailto:p...@highoctane.be>> έγραψε:

This skeuomorphic render in an age of flat design... We
definitely are not on the mainstream.

Phil

On Sun, Oct 30, 2016 at 4:23 PM, Dimitris Chloupis
<kilon.al...@gmail.com <mailto:kilon.al...@gmail.com>> wrote:

as you ordered , I throw in also a Seagull as a bonus :D


https://gitlab.com/Kilon/pbe5-cover/raw/master/Pharo%20demo/renders/render-201610301719.jpg

<https://gitlab.com/Kilon/pbe5-cover/raw/master/Pharo%20demo/renders/render-201610301719.jpg>

    enjoy

On Sun, Oct 30, 2016 at 10:34 AM stepharo
<steph...@free.fr <mailto:steph...@free.fr>> wrote:

hi

would it be possible to have

by example in 3d below Pharo?

Stef


Le 29/10/16 à 16:27, Dimitris Chloupis a écrit :

I did not want to go with the original design because
frankly that is not my style. I rather have something
unique.

Extruding the logo would look very boring and its
definitely something I dont want to do.

I love the original design because it is really suits
many scenarios including icons and because its a good
design.

However here we dont talk about a simple logo to be
used everywhere, this is a book cover and plus Stef
asked me to use this that I have created in the past.
The original design can continue to be around since
it can serve many other roles.

Python books for example rarely use the python logo,
usually they have some painted snake or even mouse
etc. By rarely I mean extremely rarely.

https://goo.gl/b67ETW

Another reason is that 3d graphics are quite hard to
make , so its not that simple for me to start from
scratch and have something ready in 1 day. The only
thing I can do is tweak this to make it slightly better.

On a question of form, its not a problem this is a 3d
scene as such its extremely flexible on how I can
render this, it can be resized in any way and change
in proportion.

In any case I have zero issues with going with the
original cover or a design not made by gets picked. I
made this render because I will use it as a
background to my blog anyway so it wont go to waste.

On Sat, Oct 29, 2016 at 5:05 PM Ben Coman
<b...@openinworld.com <mailto:b...@openinworld.com>> wrote:

Nice, but I guess this was originally for
something else since its not
in the book form factor which will change your
composition.  It would
be good to see a sample in book form factor.

Also Pharo has its brand with the lighthouse in
the big-O that I guess
it would be good to follow like the other books...
http://files.pharo.org/books/

How would it look to extrude logo.svg from here...?

https://github.com/pharo-project/pharo-flyers/tree/master/figures

<https://github.com/pharo-project/pharo-flyers/tree/master/figures>

cheers -ben

On Sa

Re: [Pharo-users] small examples to show the tools

2016-10-30 Thread stepharo

Hi christian

cool to know. Pay attention not to do too much :)

You can use teapot in Pharo for building a web app in one page of code 
and I found that quite cool.



Stef


Le 30/10/16 à 08:39, Christian Haider a écrit :


Hi all,

in two weeks, I am going to give a little talk about Smalltalk: 
http://metameute.de/nook2016/ .


It is 45 min with students who probably never heard of Smalltalk.

I want to concentrate on the liveliness of the environment with the 
tools: Workspace, Inspector, Browser and Debugger.


For this, I need a simple but nice example.

I will use VisualWorks 8.2 and Mirko, a new Smalltalk lover, will use 
Pharo 5.


We want to have the computers connected, maybe also a Pi, to show the 
platform independence of the image concept.


The first idea was a chat client. A client and a server in one image. 
Then in two images on one machine, on two machines (also the Pi), 
maybe in two dialects (VW, Pharo).


Possible to transfer code (blocks) across images (that should blow 
their minds J).


This is cool, but I am not sure if this is not too much and 
distracting with other technologies.


Another is to read a csv file or web service and parse it into 
objects. With the right kind of cool data it is fun to mold these 
objects for the tools.


This not so sexy, but easy to do from scratch. Unfortunately, the 
different computers would not play a role.


As you see, I am a bit lost and wanted to ask you guys for ideas.

Happy hacking,

Christian

P.S. Here in Lübeck, a town in northern Germany, the attitude towards 
Smalltalk is generally positive, interested and curious. Maybe it is 
time for a Smalltalk renaissance?






Re: [Pharo-users] Cover for PBE5

2016-10-30 Thread stepharo

hi

would it be possible to have

by example in 3d below Pharo?

Stef


Le 29/10/16 à 16:27, Dimitris Chloupis a écrit :
I did not want to go with the original design because frankly that is 
not my style. I rather have something unique.


Extruding the logo would look very boring and its definitely something 
I dont want to do.


I love the original design because it is really suits many scenarios 
including icons and because its a good design.


However here we dont talk about a simple logo to be used everywhere, 
this is a book cover and plus Stef asked me to use this that I have 
created in the past. The original design can continue to be around 
since it can serve many other roles.


Python books for example rarely use the python logo, usually they have 
some painted snake or even mouse etc. By rarely I mean extremely rarely.


https://goo.gl/b67ETW

Another reason is that 3d graphics are quite hard to make , so its not 
that simple for me to start from scratch and have something ready in 1 
day. The only thing I can do is tweak this to make it slightly better.


On a question of form, its not a problem this is a 3d scene as such 
its extremely flexible on how I can render this, it can be resized in 
any way and change in proportion.


In any case I have zero issues with going with the original cover or a 
design not made by gets picked. I made this render because I will use 
it as a background to my blog anyway so it wont go to waste.


On Sat, Oct 29, 2016 at 5:05 PM Ben Coman > wrote:


Nice, but I guess this was originally for something else since its not
in the book form factor which will change your composition. It would
be good to see a sample in book form factor.

Also Pharo has its brand with the lighthouse in the big-O that I guess
it would be good to follow like the other books...
http://files.pharo.org/books/

How would it look to extrude logo.svg from here...?
https://github.com/pharo-project/pharo-flyers/tree/master/figures

cheers -ben

On Sat, Oct 29, 2016 at 8:36 PM, Dimitris Chloupis
> wrote:
> So Stef reminded me that we are going to need a cover for PBE5 ,
so I
> decided to revive my now 2 year old pharo logo render and
enhance it. I
> decided also to release all assets under MIT license as a
present to the
> community. The repo can be found here
>
> https://gitlab.com/Kilon/pbe5-cover/tree/master
>
> latest render can be found here
>
>

https://gitlab.com/Kilon/pbe5-cover/raw/master/Pharo%20demo/renders/render-201610291523.jpg
>
> this is not final render I have a few thing to improve but it is
90% there.
>
> Hope you like, I leave the final decision on Stef.





Re: [Pharo-users] OSProcess missing from Pharo 6 image

2016-10-28 Thread stepharo
This is also part of the vision document. Now first SubOSProcess should 
work on windows.


Then Guillermo is RIGHT.

We will continue to work on

- creating a pharo minimal image

- producing configurations

- creating one image with default loaded configurations.

You see the two objectives are not antagonists.

Now you should all stop to think about Pharo a being one image. Pharo 
should be


- a minimal core

- a nicely tested distribution

- potentially one validated configuration we all like.

But it cannot be a monolithic system where people create dependency hell 
without even noticing it.


Stef


Le 28/10/16 à 15:29, Sven Van Caekenberghe a écrit :

For what it is worth, I am with Dimitris on this: sub shell execution is so 
fundamental that it should be a standard part of the image. I always thought 
that that was the goal of the new OSSubProcess.


On 28 Oct 2016, at 15:25, Dimitris Chloupis  wrote:

For those not experienced with other language let me offer here an explanation 
why having something like OSProcess is vastly important.

Coding even before the time of Smalltalk has been tied to the command line, 
even in this day all languages come with the ability of the command line to use 
them and them to use the command line.

Since increasing the size of our community is paramount to the acceleration of 
the growth and evolution of pharo , it is also paramount to smooth out the 
learning curve of Smalltalk. In order to do that we must offer a familiar 
environment to these coders , especially in the case where Pharo offers no real 
alternative.

Arguing that just because Smalltalk offers a different way of doing things ok 
to ignore what others are been doing, is an excuse destined to collapse on 
itself when Smalltalk for decades and still even Pharo fails to offer , not 
only good alternatives but even bad ones , in case of command line.

Which means that currently Pharo offers no real alternative for functionality 
that is offered via the command line, that means:
1) No library to deal with Git directly , Gitfiletree does this through the 
command line
2) No command line alternative for interaction with a vast array of software 
like VLC, ImageMagick, video converters, audio converters , programming 
languages etc etc
3) Even when we take a look at pharo ecosystem the command like reigns supreme, 
for example a trip to the pharo website success stories make its clear that by 
far the most popular platform for commercial pharo apps is the web . Guess what 
tool the web developers use the most ? Yeap the command line. We make the life 
of those people that want to use pharo professionally really really hard.

Programming and coding is about covering a vast array of scenarios and maybe in 
a small community of a few hundred like pharo maybe its ok to ignore the 
command line but I can assure you in a community like Python that is more than 
2 million , it is not.

We already got command line integration for pharo outside the image , lets make the 
logical next step and offer also command line support from inside the image as well. 
Let's not justify the stereotype that "Smalltalk is a distant lone island, just 
because" or that is outdated.

On Fri, Oct 28, 2016 at 3:25 PM Thierry Goubier  
wrote:
2016-10-28 14:12 GMT+02:00 Guille Polito :
But the functionality is there, it's just that it is not loaded by default.

Loading it by default implies wedding Pharo's life cycle with OS(Sub)Process' 
one, and having to maintain the possibility of dependencies to OS(Sub)Process 
spreading in the entire environment.

Like many of the other projects loaded by default in a Pharo image. What is 
wrong with OSSubprocess or OSProcess so that they can't be treated the same?
  


What is wrong in executing a simple Metacello command to load it?

The fact the image doesn't come as a one download / ready to use for an average 
user?

Thierry
  



 Original Message 

I have a love and hate relationship with Pharo
this one I will put in the hate category

You expect people to use pharo when you do not offer functionality they come to 
expect from the language they already use and not even offer an altervative, 
say a library with similar command line functionality (See Scale).

On Fri, Oct 28, 2016 at 2:59 PM Norbert Hartl  wrote:


Am 28.10.2016 um 13:17 schrieb Dimitris Chloupis :

I just noticed that OSProcess misses from Pharo 6 image, it was supposed to be 
replaced by OSSubProcess but this not in the image either ? What we suppose to 
use to execute bash from inside pharo ?

It was never in the image. You need to install it in order to use it.

Norbert










Re: [Pharo-users] Writing files - Mac OS or Pharo change?

2016-10-28 Thread stepharo



Le 28/10/16 à 10:33, Marcus Denker a écrit :

This seems this error:

https://pharo.fogbugz.com/f/cases/19227/Writing-a-File-with-a-relative-path-to-the-working-directory-results-in-FileException-cannot-open-file

and this is caused by it, too.

https://pharo.fogbugz.com/f/cases/19064/Fuel-out-stack-not-working

I wonder why we do not use FileSystem for all these file related 
operations?


we should!



On 28 Oct 2016, at 04:34, Arturo Zambrano > wrote:


Hi All,
I'm porting (no big changes) code from pharo 4 to pharo5.

In (*) the resulting file handle is nil. Not sure why, may it be 
something related to the recent Mac OS X upgrade  to Sierra?



The same code was working with Pharo 4 on El Capitan.
The calling code is a Fuel serialization.




openForWrite: writeMode
"Open the file with the given name. If writeMode is true, allow 
writing, otherwise open the file in read-only mode."

| fileHandle |
(*) fileHandle := self basicOpenForWrite: writeMode.
fileHandle ifNil: [ FileException signal: 'cannot open file: ', name ].
^ (BinaryFileStream handle: fileHandle file: self forWrite: writeMode)
register;
yourself

any advice is welcome.

arturo






Re: [Pharo-users] [ALERT] Pharo by Example version 5 is about to be released

2016-10-28 Thread stepharo

we need a fresnel lens and such books are some :)

https://en.wikipedia.org/wiki/Fresnel_lens


Le 27/10/16 à 13:32, Dimitris Chloupis a écrit :
In case someone missed it I will be doing a release for version 5 
(pharo version = pbe version) this weekend , since we had Pharo 7 
initiated few days ago.


Essentially that means that the repo will be tagged for version 5, 
which means a git commit is associated as a last commit for that 
version and there will be a frozen release - download for Pharo by 
Example version 5. After that we move to Pharo By Example version 6 or 
PBE6 for short


The repo wont change otherwise and the process of submitting commits, 
pull requests and issues remains the same.


If you have found a flaw of any sort in the documentation , please 
open an issue in the github issue tracker that can be found here


https://github.com/SquareBracketAssociates/UpdatedPharoByExample/issues

I will try to fix any problem reported but if I cannot , the fix will 
have to move to version 6


As always thanks to all people contributing into the impossible  
making Pharo more amazing


If you want to contribute feel free to do so with a pull request.

Does not matter if you are beginner because even minor corrections 
like correcting mistakes in the grammar or content of the text, 
updated pictures, or just a few lines of extra info are more than 
enough and more than welcomed. Many Pharo beginners have already done 
so .


-Salute to fellow Guardians of The Light





Re: [Pharo-users] [ALERT] Pharo by Example version 5 is about to be released

2016-10-28 Thread stepharo

Dimitri

when you are done I will add an entry in the http://books.pharo.org

I did one for the spec tutorial so we will be able to announce both.


Stef


Le 27/10/16 à 13:32, Dimitris Chloupis a écrit :
In case someone missed it I will be doing a release for version 5 
(pharo version = pbe version) this weekend , since we had Pharo 7 
initiated few days ago.


Essentially that means that the repo will be tagged for version 5, 
which means a git commit is associated as a last commit for that 
version and there will be a frozen release - download for Pharo by 
Example version 5. After that we move to Pharo By Example version 6 or 
PBE6 for short


The repo wont change otherwise and the process of submitting commits, 
pull requests and issues remains the same.


If you have found a flaw of any sort in the documentation , please 
open an issue in the github issue tracker that can be found here


https://github.com/SquareBracketAssociates/UpdatedPharoByExample/issues

I will try to fix any problem reported but if I cannot , the fix will 
have to move to version 6


As always thanks to all people contributing into the impossible  
making Pharo more amazing


If you want to contribute feel free to do so with a pull request.

Does not matter if you are beginner because even minor corrections 
like correcting mistakes in the grammar or content of the text, 
updated pictures, or just a few lines of extra info are more than 
enough and more than welcomed. Many Pharo beginners have already done 
so .


-Salute to fellow Guardians of The Light





Re: [Pharo-users] DatePrinter

2016-10-28 Thread stepharo

French is already in and there are so great class comments that I'm crying 
because of outshined by beauty.

Please, don't cry ;-)


Excellent job of sven as usual.

Thx.

The ZTimestamp package also contains ZTimestampFormat (a by-example printer & 
parser),


I love it :)
I threw away all my code :).
When I will have something running I will review the Date changes I did 
and ask fro review to push them in Date and Friends.



  support for timezone aware conversions (to/from internal UTC) and NTP server 
time checking (contacting an external time service).


french
 self monthNames: #(
 'Janvier' 'Février' 'Mars' 'Avril' 'Mai' 'Juin'
 'Juillet' 'Août' 'Septembre' 'Octobre' 'Novembre' 'Décembre' ).
 self weekdayNames: #(
 'Dimanche' 'Lundi' 'Mardi' 'Mecredi' 'Jeudi' 'Vendredi' 'Samedi' )



Stef

Le 27/10/16 à 14:27, Denis Kudriashov a écrit :

2016-10-27 14:22 GMT+02:00 stepharo <steph...@free.fr>:
(ZTimestampFormat fromString: 'SAT, FEB 03 2001 (16:05:06)')
 french

#french is your addition? or it was already supported?








Re: [Pharo-users] The Ultimate Smalltalk Tutorial

2016-10-28 Thread stepharo

+ 1 :)

share codevelop and expand :)


Le 27/10/16 à 17:43, Offray Vladimir Luna Cárdenas a écrit :


Hi Dimitris,

Goals 1 to 6 overlap with the ones Grafoscopio. Could you test it 
please to see if we can work together in some way or Grafoscopio could 
work as a foundation for your work? In that way we could break the 
lonely developer reality for this one.


Cheers,

Offray


On 27/10/16 09:00, Dimitris Chloupis wrote:
I decided to make a new version for ProfStef released under then name 
"Pharo Live Tutorial".


My goals are to:
1) add to it a history panel, so the user can navigate to the part he 
wants.

2) group parts into chapters to make progress more clear
3) break some parts to smaller parts to ensure smooth learning curve
4) add it to the help section of the world menu , so it is far more 
visible to the user
5) link parts to relevant chapter and section of PBE5 (or any other 
relevant book), so the user can easily access more detailed info in 
case he wants to.
6) Design the tool so it can accommodate multiple tutorials, each 
having its own chapters and parts

7) Design a GUI to navigate to tutorials
8) Integrate it with GTSpotter so the user can easily find the 
information he or she wants
9) Integrate small challenge games to help the user test what he 
learned and have fun at the same time, with ability to be awarded 
with a score in terms of "levels" and of course badges for 
achievements ;)
10) Provide an integrated blog (nothing fancy, just text) , for 
latest news about pharo , this blog will be basically copying some of 
my blog posts , to show to users that we are alive and kicking and 
not just an almost dead project and of course advertise the hard work 
of many of my fellow guardians of the light.


PS: obviously references to Stef will remain and he will be credited 
as author of the tutorial


Can't promise when it will be ready and can't promise first version 
will include all the above but this is the direction I want to go 
with this.  This live interactive tutorial will replace my video 
tutorials since they are too hard to keep updated.



On Thu, Oct 27, 2016 at 3:04 PM Vitor Medina Cruz 
<vitormc...@gmail.com <mailto:vitormc...@gmail.com>> wrote:


*stepharo:*

Why not pushing/improving

either
UPBE
ProfStef
With the Mooc Counter example: In TWO MINUTES people
get something DONE a simple counter.
What else can it be. 



I run the following experience during my lecture. I give 1
hour presentation about pharo / vision / sneakpeek and ask
them to watch the counter
video and redo it and it works!


Indeed, you can. My opinion was in the lines of improving Profstef :)

Mooc may be good in a class with a teacher for the student to
take doubts, but I find a little confusing for someone that finds
it by its own in pharo.org <http://pharo.org>.

I have some friends on the field, some are overseas (I am in
Brazil) and when the opportunity comes I talk about Smalltalk and
Pharo and how good it is, then:

1- Some get interested and asks for reference, I usually point to
the Proftef, the site and the PBE;
2- Some are interested and we are close so I can I explain
something myself and show the environment, maybe pairing;
3- Sometimes someone got interested and went to the pharo.org
<http://pharo.org> by itself and I know of that only afterwards.

In every situation people got confused :(

The best time was 2, because I could explain better what was
going on, but usually people try by itself, and that don't went
well. For example, some report to me that had made the exercise
from PBE and got really confused in the end: what was that I was
doing? Where are my classes again? Workspace? Where is the code
again? What happened?

I think it is hard for someone that already internalize the
concept of image and self contained environment to understand why
this confusion is happening, but when you come to think about it
that is not so strange because people are used to files and all
those crap static stuff, so it is kind of a huge paradigm shift
learning Pharo: it *is* confusing for them.

But it seems to me that you are focusing more on fresh people,
been teach on classrooms and such, right now. That may be good, I
am not sure if people already in the industry can be cooped in
enough size to be able to improve Pharo community and use.

    On Thu, Oct 27, 2016 at 9:21 AM, stepharo <steph...@free.fr
<mailto:steph...@free.fr>> wrote:

funnily dale I read it like you wish :)



Le 26/10/16 à 21:53, Dale Henrichs a écrit :




On 10/26/16 12:13 PM, Offray Vladimir Luna Cárdenas wrote:



Hi,

On the issue of contributing to Free, Libre, Open Source
   

Re: [Pharo-users] DatePrinter

2016-10-27 Thread stepharo

Thanks Denis

This is really a great package. I will use it and throw away what I 
started.



(ZTimestampFormat fromString: 'SAT, FEB 03 2001 (16:05:06)')
format: ZTimestamp now.

> THU, OCT 27 2016 (12:20:20)


  (ZTimestampFormat fromString: 'SAT, FEB 03 2001 (16:05:06)')
french;
format: ZTimestamp now.  "'JEU, OCT 27 2016 (12:21:34)'"

Le 27/10/16 à 13:58, Denis Kudriashov a écrit :
I would suggest to look at ZTimestamp 
https://github.com/svenvc/docs/blob/master/neo/ztimestamp.md.
Maybe it is not exactly what you want. But example based date/time 
formatting and parsing are really nice


2016-10-27 13:20 GMT+02:00 stepharo <steph...@free.fr 
<mailto:steph...@free.fr>>:


Hi

for a little project I need to print date in a nice way (for
example french) and I wonder if someone already did that.

Right now I'm extracting behavior from Date and putting it in its
own class so that I can write


testAPI
| datePrinter |
datePrinter := DatePrinter new.
datePrinter
inFrench;
mmdd.
datePrinter for: (Date year: 2016 month: 1 day: 3).
self assert: datePrinter print equals: '3 Janvier 2016'

I will for fun see how I can add an english and spanish version.


Stef







Re: [Pharo-users] The Ultimate Smalltalk Tutorial

2016-10-26 Thread stepharo



Le 26/10/16 à 19:27, Dimitris Chloupis a écrit :
Probably then it's ready to get released for version 5. I will give it 
a look the next few days, should be able to make the release by the 
end of the week. Then after that onward for version 6 ;) PBE is doing 
great with the help of you guys , porting it to 6 should be relative 
easy.


I know that I was thinking about the next iteration when I rewrote some 
parts.

So I will print it and browse to see how it feels.



On Wed, 26 Oct 2016 at 18:44, stepharo <steph...@free.fr 
<mailto:steph...@free.fr>> wrote:


Thanks this is cool to hear that.

BTW do you know if we finished with UPBE or if there is something
else to do from a conversion stand point?

I thought I did a final pass.



Le 26/10/16 à 01:45, Dimitris Chloupis a écrit :

Do you know how many unique views had PBE last 5 months ? 1000
Do you know how many contributions PBE had last 5 months ? Zero.
Not 100 . Not even 10. Not even 1... zero

PBE would be still in Pharo version 1.4 if it was not for me ,
Stef and Damien.

This is not a Pharo problem, all open source software has the
same issue.

We need more people helping, I ported the first 1/3rd of the book
from 1.4 to Pharo 4 just by myself and the other two joined after
I was burned out from the pain. I was disgusted working on PBE .
I literally hated Pharo. Fortunately nothing that a bit of a
small break could not fix.

I was and still I am the most loud critic about the state of
documentation. In the end however what makes open source projects
exist is not users. Users are insignificant. Sorry to say that
but is true. It's contributors that are the life of the project.

People like Stef made Pharo and even Squeak possible. People like
Stef keep Smalltalk alive. Personally I don't give a damn what
users want , I rather attract only contributors and zero just
users. That's enough to keep Pharo evolving for centuries.

Stef says that "Pharo is yours" , apparently this easier said
than done. I respect your opinion, I agree with your opinion
because I said what you say years ago. In the end however if you
and other users are not willing to help we will remain at zero
commits at least as far as PBE is concerned .

It's pretty much the same for the other areas of Pharo.
On Wed, 26 Oct 2016 at 01:26, Vitor Medina Cruz
<vitormc...@gmail.com <mailto:vitormc...@gmail.com>> wrote:

*Dimitris:*
*
*
I agree with much of what you said, but I think it is still
possible to make step 0 and follow the Pharo path with more
easy. :)

Also,

https://ci.inria.fr/pharo-contribution/job/UpdatedPharoByExample/lastSuccessfulBuild/artifact/book-result/PharoTour/PharoTour.html
is nice too, I didn't know of it. It is the new version of
PBE ongoing? I am going to take a look at it.

Ben:

Thanks for the links, two of them I didn't know of. I hadn't
time to read them yet, but I think what I am looking for is
something like

https://medium.com/concerning-pharo/reddit-st-in-10-cool-pharo-classes-1b5327ca0740

"The things we see as important might be a paradigm step
too far for newcomers."


I think the problem for Step 0 it is exactly that. I myself
have already tried to show the paradigm shift along with all
that must be learn to use Pharo, and it didn't went well. It
is too much to tackle at once. There is the language, the
environment, the IDE, the paradigm shift, too much...

Nicolai:

The first example from the book provides the first experience
you have on Pharo, and it uses stuff that is not on the
default image (it happened to me a long time ago and with a
friend more recently). It is frustrating and leave the person
trying to learn suspicious. I see that the current site for
the book has a link to the image that should be used while
reading the book, but it is not very visible and I think the
book don't mention it. From the Getting Started chapter I
count five pages until some code is executed (Time now). The
problem here is that people usually don't understand, yet,
the power of the environment, and are eager to see code and
execute it, and they often get confused with so many
different things to learn even before the first "Hello
World". I can say the first time I got PBE I gave up because
of this, and I only come back later because I persist to
learn Smalltalk, and I know some other people who tried to
read it too and give up for exactly the same reason.

I found the book an excellent reference and source to
solidify the understandi

Re: [Pharo-users] [ANN] New Pharo blog - "Pharo Trek"

2016-10-26 Thread stepharo

What is octopus?

Because what you can do with ecstatic (and this is written in the doc) 
is that you can see you website before publishing it.


There is also a simple blog post. And it is easy to use.

Stef


http://guillep.github.io/ecstatic/install.html

http://guillep.github.io/ecstatic/first_site.html

http://guillep.github.io/ecstatic/fast_feedback.html


Le 26/10/16 à 01:58, Dimitris Chloupis a écrit :
You want me to use it or help you out ? I could give you the bootstrap 
templates.

With mustache you can make amazing websites.

Personally I am happy with Octopus, everything looks fine, I am 
already using Pillar efficiently.


What I could improve is the automatic generation of blog posts. Time 
wise however I seriously need to go back to Unreal and figure out how 
to make my shared memory bridge with Pharo work. I am done with this 
and happy with the result.


I did not use ecstatic because of lack of documentation. I was not 
also convinced that would make my life easier. I live the name though :)
On Wed, 26 Oct 2016 at 00:45, stepharo <steph...@free.fr 
<mailto:steph...@free.fr>> wrote:


dimitris

may be you should have a look at ecstatic.

We should migrate it to the latest version of Pillar but our ideas
was to use pillar to produce static web site.

http://guillep.github.io/ecstatic/

The web site of guille is produced with ecstatic
https://guillep.github.io/research.html If you could give a try
and give feedback it would be nice. I'm building new components to
get publication lists integrated into it.

Stef


Le 25/10/16 à 20:47, Dimitris Chloupis a écrit :

Thanks Offray

My "backend" is Octopus and Pillar so 100% Pharo :) But I do edit
the final Html, mainly fine tuning. Pillar and Octopus deal with
the long text and generate the appropriate HTML.
The blog and website are static because they are hosted by Gitlab
and only static website generators are allowed, not that I need
something more I am very happy with the simplicity of it.
The templates I use are bootsrap from getboostrap website.

I will keep improving them, but for now I am very happy with the
end result

On Tue, Oct 25, 2016 at 8:30 PM Offray Vladimir Luna Cárdenas
<offray.l...@mutabit.com <mailto:offray.l...@mutabit.com>> wrote:

Seems nice. Which back end do you use for your website?

Cheers,

Offray


On 25/10/16 07:37, Dimitris Chloupis wrote:
> So I decided to take a stab at making my own blog for pharo
and making
> my own website for my projects and my work , you can find
my blog here
>
> http://www.kilon-alios.com/subpages/blog/index.html
>
> Does not have much content, but there is a blog post about
my latest
> project Octopus . Hope you like it , stay tune for more :)
>
>








Re: [Pharo-users] The Ultimate Smalltalk Tutorial

2016-10-25 Thread stepharo



Le 25/10/16 à 15:05, Dimitris Chloupis a écrit :
PBE is for Pharo version 5, I will give it another look to start 
porting it to Pharo version 6. Will add a git tag and make release for 5.


Thanks.
Yes it would be an immense help.

Stef



On Tue, Oct 25, 2016 at 10:19 AM p...@highoctane.be 
 > wrote:


There was this book (and some others of the same ink) that was
provided with my first computer:


http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Getting%20Started%20With%20Extended%20Color%20Basic%20(Tandy).pdf



I actually had the french version.

http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Color%20Computer%203%20Exended%20Basic%20(Tandy)%20(French).pdf



This thing is still sitting near my desk today (I guess it keeps
me connected to my curious young self or something like that).

I keep on thinking that it would be great to have a Pharo-based
version of it.

And something like this one for bytecode sets...


http://www.colorcomputerarchive.com/coco/Documents/Manuals/Programming/EDTASM+%20With%20ZBUG%20(Tandy).pdf



Phil


On Tue, Oct 25, 2016 at 7:22 AM, Matteo via Pharo-users
>
wrote:



-- Forwarded message --
From: Matteo >
To: Any question about pharo is welcome
>

Cc:
Date: Tue, 25 Oct 2016 07:08:21 +0200
Subject: Re: [Pharo-users] The Ultimate Smalltalk Tutorial
+1 for PBE
It has been my first smalltalk/Pharo tutorial.
I'm still using it, as a quick reference.

On October 25, 2016 6:25:08 AM GMT+02:00, monty
> wrote:

+1 for PBE.


Sent: Monday, October 24, 2016 at 1:56 AM From:
"Nicolai Hess" > To: "Any question
about pharo is welcome" > Subject: Re:
[Pharo-users] The Ultimate Smalltalk Tutorial Am
23.10.2016 3:16 nachm. schrieb "Vitor Medina Cruz"
[mailto:vitormc...@gmail.com
]>:

I think the MOOC is too much for a tutorial. What
I miss today is a good written (no videos!
Please!) tutorial that teaches just a little of
the language and give a few guidelines on how to
do simple stuff with the environment, such as a
"Hello World!", creating a class, tests and run
stuff. 


I thought "pharo by example" provides exactly that.
What is missing here, from your perspective? I learned
a lot from it and it helped me to get started to learn
smalltalk, not only the syntax, but also, doing
something the smalltalk way.

On Sat, Oct 15, 2016 at 12:15 PM, horrido
[mailto:horrido.hobb...@gmail.com
]> wrote:

Excellent suggestion! I shall look into it.
Thanks. -- View this message in context:

http://forum.world.st/The-Ultimate-Smalltalk-Tutorial-tp4918859p4918930.html[http://forum.world.st/The-Ultimate-Smalltalk-Tutorial-tp4918859p4918930.html]
Sent from the Pharo Smalltalk Users mailing
list archive at Nabble.com .



-- 
Sent from my Android device with K-9 Mail. Please excuse my

brevity.





Re: [Pharo-users] The Ultimate Smalltalk Tutorial

2016-10-25 Thread stepharo

thanks for this feedback.

This reminds me that we should finish to push Updated Pharo by Example 
to the publication part



Le 24/10/16 à 07:56, Nicolai Hess a écrit :


Am 23.10.2016 3:16 nachm. schrieb "Vitor Medina Cruz" 
>:

>
> I think the MOOC is too much for a tutorial. What I miss today is a 
good written (no videos! Please!) tutorial that teaches just a little 
of the language and give a few guidelines on how to do simple stuff 
with the environment, such as a "Hello World!", creating a class, 
tests and run stuff.


I thought "pharo by example" provides exactly  that.
What is missing here, from your perspective?
I learned a lot from it and it helped me to get started to learn 
smalltalk, not only the syntax, but also, doing something the 
smalltalk way.


>
> On Sat, Oct 15, 2016 at 12:15 PM, horrido > wrote:

>>
>> Excellent suggestion! I shall look into it. Thanks.
>>
>>
>>
>>
>> --
>> View this message in context: 
http://forum.world.st/The-Ultimate-Smalltalk-Tutorial-tp4918859p4918930.html

>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>
>





Re: [Pharo-users] The Ultimate Smalltalk Tutorial

2016-10-25 Thread stepharo
So tell us what is missing because we already have an impressive list 
and you read nearly everything.


I do not see what we can do more than that. I mean it seriously (I'm 
writing a new book on Learning OOP with Pharo) but this is not what you 
are looking for.


Then I do not see why Building the Quinto game or the counter does not 
work for you.


Stef


Le 24/10/16 à 00:50, Vitor Medina Cruz a écrit :

*stepharo:*

I am not saying it for me, but to get other people into the Smalltalk 
community. My interest in Smalltalk spark the first time I read 
the Design Principles Behind Smalltalk, since then I:


1- Read the BlueBook (yes) before I know of Pharo;
2- Read "I Can Read C++ and Java But I Can’t Read Smalltalk";
3- Read a number of Smalltalk resources, tutorials, blogs etc;
4- Did Profstef;
5- Learn a little of Redline Smalltalk;
6- Tried Squeek, didn't like;
7- Find Pharo, like it more than Squeek;
8- Read Pharo By Example almost entirely, the first example didn't 
work (at least at the time) because some dependencies were missing, 
then I search into the internet, found what was missing and keep going;

9- Did the MOOC ENTIRELY, and I saw all the videos, yes!

So, is there any other thing you think I *maybe* haven't done, despite 
the fact that you don't know me much?


As for someone who did the MOOC, I don't think it's a good tutorial in 
the lines I understand Richard described in the start of this thread: 
for newcomers. Don't get me wrong, it's a very good course if you 
would like to get more deep into Pharo and OO, but I understand the 
intention of Richard was other. So, except from Porfstef, I think none 
of those resources is a good start point for newcomers, because none 
of them were good for me nor the people I tried to introduce Pharo. I 
just keep going because I was already VERY interested in Smalltalk, if 
not for that I would have also given up.


My opinion is only that, an opinion, you can take it or not, it was 
not meant to be personal or whatever, but if you wanna take it as so 
there isn't much I can do.


*Phil:*

Thanks for your suggestions, but I was just telling Richard that I 
think the MOOC was too much for a tutorial, that I think other format 
and something simpler would be better for newcomers.


*Dimitri:*

I am already on STEP 4 ;)

I think what is missing is something before all that, something that 
spark the "I am interested in Pharo", the STEP 0. What does that 
today? I think a simple tutorial that catch the attention of people 
would do that. Right now I think it is too hard for someone to get 
interested in Smalltalk in general, and Pharo in particular, because 
something like that is missing, and one must really understand and see 
the value of Smalltalk to persist and keep going and learning, like 
happened to me.


Regards,
Vitor

On Sun, Oct 23, 2016 at 2:26 PM, Dimitris Chloupis 
<kilon.al...@gmail.com <mailto:kilon.al...@gmail.com>> wrote:


The four stages of Pharo addiction

STEP1
"I am interested in Pharo , any quick tutorial to get me started ?"

If you want a quick dive to Pharo for experienced coders there is
this


https://ci.inria.fr/pharo-contribution/job/UpdatedPharoByExample/lastSuccessfulBuild/artifact/book-result/PharoTour/PharoTour.html

<https://ci.inria.fr/pharo-contribution/job/UpdatedPharoByExample/lastSuccessfulBuild/artifact/book-result/PharoTour/PharoTour.html>

STEP2
"Ah I really like Pharo maybe more info about the language and a
practical example to give it a go myself ?"

for a bit more dive into the Smalltalk language there is this


https://ci.inria.fr/pharo-contribution/job/UpdatedPharoByExample/lastSuccessfulBuild/artifact/book-result/FirstApplication/FirstApplication.html

<https://ci.inria.fr/pharo-contribution/job/UpdatedPharoByExample/lastSuccessfulBuild/artifact/book-result/FirstApplication/FirstApplication.html>

STEP3
"Damn this is really cool , where I can find more info I really
like to give this a deeper look!"

and of course the rest of the book for those that cant get enough
of Pharo

https://github.com/SquareBracketAssociates/UpdatedPharoByExample
<https://github.com/SquareBracketAssociates/UpdatedPharoByExample>


STEP4
"I hate you so much !!! I cant sleep, cant eat, no friends, ex
girlfriend AHHH CANNNOT STOP  TOO MUCH FUN!!!"


On Sun, Oct 23, 2016 at 4:16 PM Vitor Medina Cruz
<vitormc...@gmail.com <mailto:vitormc...@gmail.com>> wrote:

I think the MOOC is too much for a tutorial. What I miss today
is a good written (no videos! Please!) tutorial that teaches
just a little of the language and give a few guidelines on how
to do simple stuff with the environment, such as a "Hello
World!", creating a class, tests and run stuff.

On Sat, Oct 15

Re: [Pharo-users] The Ultimate Smalltalk Tutorial

2016-10-25 Thread stepharo

It was quite fun

Tx for this cool tour.

https://pharoweekly.wordpress.com/2016/10/25/the-four-stages-of-pharo-addiction/

Stef


Le 23/10/16 à 18:26, Dimitris Chloupis a écrit :

The four stages of Pharo addiction

STEP1
"I am interested in Pharo , any quick tutorial to get me started ?"

If you want a quick dive to Pharo for experienced coders there is this

https://ci.inria.fr/pharo-contribution/job/UpdatedPharoByExample/lastSuccessfulBuild/artifact/book-result/PharoTour/PharoTour.html

STEP2
"Ah I really like Pharo maybe more info about the language and a 
practical example to give it a go myself ?"


for a bit more dive into the Smalltalk language there is this

https://ci.inria.fr/pharo-contribution/job/UpdatedPharoByExample/lastSuccessfulBuild/artifact/book-result/FirstApplication/FirstApplication.html

STEP3
"Damn this is really cool , where I can find more info I really like 
to give this a deeper look!"


and of course the rest of the book for those that cant get enough of Pharo

https://github.com/SquareBracketAssociates/UpdatedPharoByExample


STEP4
"I hate you so much !!! I cant sleep, cant eat, no friends, ex 
girlfriend AHHH CANNNOT STOP  TOO MUCH FUN!!!"


On Sun, Oct 23, 2016 at 4:16 PM Vitor Medina Cruz 
> wrote:


I think the MOOC is too much for a tutorial. What I miss today is
a good written (no videos! Please!) tutorial that teaches just a
little of the language and give a few guidelines on how to do
simple stuff with the environment, such as a "Hello World!",
creating a class, tests and run stuff.

On Sat, Oct 15, 2016 at 12:15 PM, horrido
> wrote:

Excellent suggestion! I shall look into it. Thanks.




--
View this message in context:

http://forum.world.st/The-Ultimate-Smalltalk-Tutorial-tp4918859p4918930.html
Sent from the Pharo Smalltalk Users mailing list archive at
Nabble.com.






Re: [Pharo-users] SCouchDB install not working in Pharo: "MessageNotUnderstood: receiver of ""mantis"" is nil"

2016-10-25 Thread stepharo



Le 25/10/16 à 17:56, p...@vanderheyden.be a écrit :

Hi,

I have tried to 'ConfigurationOfSCouchDB load' in Pharo 4 and 5.

It seems to load an old configuration of Seaside and it ends up with an
error:

"No version found for #stable of ConfigurationOfOmniBrowser while
loading Seaside"



Indeed it looks odd and old. And this is why I would love to have a 
dsitrubution

validation process. (It will come).
Philippe I cannot check it now nedd to leave now. I hope someone can help.


I don't understand why the ConfigurationOfSCouchDB depends on Seaside
and why it refer to an old Seaside 3.0 version.

Thank in advance for your help,
Philippe








Re: [Pharo-users] [ANN] New Pharo blog - "Pharo Trek"

2016-10-25 Thread stepharo

dimitris

may be you should have a look at ecstatic.

We should migrate it to the latest version of Pillar but our ideas was 
to use pillar to produce static web site.


http://guillep.github.io/ecstatic/

The web site of guille is produced with ecstatic 
https://guillep.github.io/research.html If you could give a try and give 
feedback it would be nice. I'm building new components to get 
publication lists integrated into it.


Stef


Le 25/10/16 à 20:47, Dimitris Chloupis a écrit :

Thanks Offray

My "backend" is Octopus and Pillar so 100% Pharo :) But I do edit the 
final Html, mainly fine tuning. Pillar and Octopus deal with the long 
text and generate the appropriate HTML.
The blog and website are static because they are hosted by Gitlab and 
only static website generators are allowed, not that I need something 
more I am very happy with the simplicity of it.

The templates I use are bootsrap from getboostrap website.

I will keep improving them, but for now I am very happy with the end 
result


On Tue, Oct 25, 2016 at 8:30 PM Offray Vladimir Luna Cárdenas 
> wrote:


Seems nice. Which back end do you use for your website?

Cheers,

Offray


On 25/10/16 07:37, Dimitris Chloupis wrote:
> So I decided to take a stab at making my own blog for pharo and
making
> my own website for my projects and my work , you can find my
blog here
>
> http://www.kilon-alios.com/subpages/blog/index.html
>
> Does not have much content, but there is a blog post about my latest
> project Octopus . Hope you like it , stay tune for more :)
>
>






Re: [Pharo-users] Garage sqlite on pharo > 5

2016-10-20 Thread stepharo
I know this is me that paid Guillermo to develop Garage and it was not 
for us but for the community.


And Guillermo made sure that we can tests all drivers on Jenkins.

Stef



Why declare that as dead?

It is there and is okay to use.

People can update it if needed.

Why say this?
That's not constructive, man.

We need DB access.
Pharo without DB access is going nowhere in the industry.

Just had a pairing session w/ Doru and guess what? The data I need for 
Moose/Roassal usage is in a database.


-_O

Phil


On Mon, Oct 17, 2016 at 7:29 PM, stepharo <steph...@free.fr 
<mailto:steph...@free.fr>> wrote:


Guillermo created Garage because the consortium asked and payed
him to do and I think that he did it well. Now Guillermo does not
use any database during his development and he is busy to work on
many important tasks for Pharo.

I will ask Guillermo to declare Garage as dead and people should
not come and cry that DB is not well supported in Pharo. I never
understood why the code of UDBC was not pushed into Garage.

Stef

PS: So now people can tell me that I'm insulting torsten or
whatever. Feel free. I found the situation quite sad in fact and
quite also discouraging.




Le 17/10/16 à 15:49, Esteban A. Maringolo a écrit :

2016-10-17 8:12 GMT-03:00 Norbert Hartl <norb...@hartl.name
<mailto:norb...@hartl.name>>:

Does anyone use Garage SQL drivers with sqlite in pharo >= 5?

Garage SQLite driver doesn't work on Pharo 5, the FFI API
changed and
Garage wasn't updated to use UFFI.
You have to use Torsten version in UDBC.

Gofer it
 smalltalkhubUser: 'TorstenBergmann' project: 'UDBC';
 configuration;
 load.
(Smalltalk at: #ConfigurationOfUDBC) loadBleedingEdge.


Regards,

Esteban A. Maringolo










Re: [Pharo-users] Spec: scaling imageModels

2016-10-20 Thread stepharo

Hi matteo

Please open a bug entry and submit a fix and there is a good chance that 
your enhancements


will be added to Pharo.

We cannot crawl the mails and do that in addition to all the rest. :)

Stef



Re: [Pharo-users] CodeGenerator, your opinions?

2016-10-19 Thread stepharo

would be nice to ask dragos his Smalltalk code :)


Le 18/10/16 à 21:20, p...@highoctane.be a écrit :

http://www.micro-workflow.com/PDF/wecfo.pdf seemed interesting.

Not state machines per se but still.

Longer paper here: http://micro-workflow.com/PDF/phdthesis.pdf

Phil

On Tue, Oct 18, 2016 at 8:47 PM, Bernardo Ezequiel Contreras 
> wrote:


Implementing State Machines in Smalltalk (1993) Trevor Hopkins
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.6732


- A state machine generator (based in the excellent paper of
Trevor P. Hopkins)


i add it to my reading list. thanks


-- 
Bernardo E.C.


Sent from a cheap desktop computer in South America.






Re: [Pharo-users] CodeGenerator, your opinions?

2016-10-19 Thread stepharo

Looks fun :)



Le 18/10/16 à 19:10, Evan Donahue a écrit :

So this isn't a specific out-of-the-box solution to any of the
code-generation use cases people have been discussing, but I thought it was
relevant enough to toss it out there.

I'm currently doing some work on program synthesis using a Pharo port of the
miniKanren logic programming language (http://minikanren.org/). The Pharo
version is here:http://smalltalkhub.com/#!/~EvanDonahue/SmallKanren  .

So far, I've only used it to implement this paper on generating scheme
programs (http://smalltalkhub.com/#!/~EvanDonahue/SmallKanren), the
implementation of which is here:
http://smalltalkhub.com/#!/~EvanDonahue/Barliman  .

I've thought a bit about things like generating GUI's, and it seems like
something interesting could be done there, since you could imagine feeding
it constraints and then giving the results a thumbs up/thumbs down to see
other satisfying layouts more or less like the ones you voted on, but the
probabilistic learning component is an object of current research and isn't
ready yet.

I was planning on sending out an announcement once it was more complete and
robust, as right now it has lots of tests but not much documentation, and
the architecture is changing rapidly, per research requirements, but if
anyone is interested in knowing more about it feel free to get in touch.
This is part of a broader research program on intelligent interfaces, so
hopefully some cooler things come out of it later down the line.

Cheers,
Evan




Re: [Pharo-users] CodeGenerator, your opinions?

2016-10-19 Thread stepharo

Hernan

What is the input you take to generate magritte?

Lionel would like to have a kind of Crud on top of Pharo and it would be 
good for business.


Stef


Le 18/10/16 à 18:07, Hernán Morales Durand a écrit :


2016-10-18 9:35 GMT-03:00 Lionel Akue >:


Great!

We had the same idea :)


Let me know if we can join forces to speed uo things.

The first requirements I wrote was  to generate Spec UI directly.
But I rather chose to make Magritte compatible with Spec.

So from the Magritte description, we could generate Spec, Seaside ...


The CodeGenerator I wrote already generates Magritte code. If you load 
it in Pharo 5


Gofer it
smalltalkhubUser: 'hernan' project: 'CodeGenerator';
configuration;
loadDevelopment.

Have a look at the usage examples:

#exampleMagritteDescriptionCreation1
#exampleMagritteDescriptionCreation2
#exampleMagritteDescriptionCreation3

If you have suggestions I would like to read.

Hernán

Lionel

2016-10-18 14:20 GMT+02:00 Peter Uhnak >:

Hi Hernan,

I wrote some time ago two basic code generators (both in
Pharo) from UML-ified FAMIX for a particular user (so there
are some domain-specific patterns),
one for Pharo syntax (

https://github.com/OpenPonk/class-editor/blob/master/docs/code-generation/uml-to-code.md


)
and one for VW syntax (

https://github.com/OpenPonk/class-editor/blob/master/docs/vw-code-generation/pim-psm.md


)

(the code is here

https://github.com/OpenPonk/class-editor/tree/master/repository/DynaCASE-Generator.package


and here

https://github.com/OpenPonk/class-editor/tree/master/repository/UML-CodeGenerator.package


)

The most pain I had was with expressing templateable code to
which I could just plug specific data, I wanted to look at QVT
but didn't have the time yet.
But it would be interesting to see if your generator could
address such issues; plus soon I want to iterate on my
generators to have more live interaction (so the code is
generated on the fly as the model is created, although I am
using Pharo Refactoring engine for now, which is also quite
powerful.)

Addionally, Lionel (in cc) is working on some meta system
generating classes with magritte descriptions.

So it would be cool if we could have some really cool
generator that could do many cool things. :)

Peter

On Tue, Oct 18, 2016 at 02:24:28AM -0300, Hernán Morales
Durand wrote:
> Hi guys,
>
> I am writing a code generator, doing a few iterations right now.
> I want your opinion, which most useful thing would you like
to be generated
> automatically? It could be a pattern, an idiom, another
language...
>
> For example my own wish (roadmap) list:
>
> - A "settings framework" settings class generator.
> - A state machine generator (based in the excellent paper of
Trevor P.
> Hopkins)
> - A Spec UI generator.
>
> Let me know your thoughts.
>
> Cheers,
>
> Hernán







Re: [Pharo-users] CodeGenerator, your opinions?

2016-10-19 Thread stepharo



Le 18/10/16 à 07:24, Hernán Morales Durand a écrit :

Hi guys,

I am writing a code generator, doing a few iterations right now.
I want your opinion, which most useful thing would you like to be 
generated automatically? It could be a pattern, an idiom, another 
language...


For example my own wish (roadmap) list:

- A "settings framework" settings class generator.
- A state machine generator (based in the excellent paper of Trevor P. 
Hopkins)




- A Spec UI generator.

That one
and a FAMIX Metamodel. Brice should build one so may be he can use yours 
and extend it.




Let me know your thoughts.

Cheers,

Hernán






Re: [Pharo-users] looking for a tutorial on sounds in Pharo

2016-10-16 Thread stepharo

https://ci.inria.fr/pharo-contribution/view/Books/job/PharoReadyForReviews/19/artifact/book-result/Sound/Sound.pdf




Le 16/10/16 à 13:29, p...@highoctane.be a écrit :

https://github.com/xmessner/PharoSoundTutorial/blob/master/Sound_en.pier

On Sun, Oct 16, 2016 at 1:16 PM, Grigory Hatsevich 
> wrote:


Hi! I'm looking for a tutorial about sound generation in Pharo.
I've found
"PharoSoundTutorial"
(https://github.com/xmessner/PharoSoundTutorial
) but
it is in French. Is there an English version of this tutorial or some
other English text about sounds in Pharo?







Re: [Pharo-users] The Ultimate Smalltalk Tutorial

2016-10-15 Thread stepharo

Hi Horrido

The tinyblog tutorial is a tutorial on build a real little web application.

We worked on it with Olivier and we decided to reuse an adpat it for the 
mooc.


If you want to help what we are trying to do is the following (but I 
need time hence you can help):


- take the mooc version (luc fabresse took the tinyblog tutorial 
and improved it and cut)


- fold it back (without touching to the mooc exercise too much) 
into the original version of tinyblog


- add more chapters

- release the tutorial new version as a new book.

- So if you

read the mooc and find english mistakes please report them.

read tinyblog and find engslish mistakes please report them.

we should really read side by side the mooc and the tutorial 
version to improve the tutorial version.



Stef


Le 14/10/16 à 16:59, horrido a écrit :

Wow! How did I miss this??? It looks great!

I guess I have to modify my campaign to avoid overlap. Thanks.



--
View this message in context: 
http://forum.world.st/The-Ultimate-Smalltalk-Tutorial-tp4918859p4918877.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.







Re: [Pharo-users] [ann] pillar text editor

2016-10-11 Thread stepharo



Le 10/10/16 à 08:59, Tudor Girba a écrit :

Hi,


On Oct 10, 2016, at 8:48 AM, stepharo <steph...@free.fr> wrote:

Doru
do you think that we could get a simple visitor that could create a preview in 
Pharo?

What kind of preview?

Like LaTeX :) but simpler

Large and Nice fonts for section would be a good start.





One of the things I would like is:

 - minimal package for a pillar core so that we can display class comment 
using pillar

You already have a showcase for this if you inspect a Class. We should 
integrate it next in the comment pane of Nautilus.


How can I try this one?




 - a nice looking set of fonts

Do you mean fonts for editing, or for rendering?

I would like to have it for editing but rendering would be good already


For the editing part, I used the fonts that we have in Pharo because they are 
part of the same family and they work reasonably well together. We still have 
an issue in Rubric in that the cursor is not updated when the font changes (for 
example, when we switch the font from regular to monospace). I do not know how 
to fix that yet, and it would be great if someone else would help on that.


can you open a bug entry?


Cheers,
Doru



Stef

Le 9/10/16 à 23:23, Tudor Girba a écrit :

Hi,

Pillar now ships with a text editor that also features a syntax highlighter.

So, now, if you load the development version of Pillar:

Gofer new
 smalltalkhubUser: 'Pier' project: 'Pillar';
 configuration;
 loadDevelopment.

You will have an extra presentation when inspecting a .pillar file:



The new thing here is that the highlighter is based on the Pillar PetitParser, 
and it is extensible for highlighting more parts if needed. The highlighting 
also can support actions. For example, the picture above shows the file to the 
right after clicking on the reference.

Please take a look and let me know what you think.

Cheers,
Doru


--
www.tudorgirba.com
www.feenk.com

"Things happen when they happen,
not when you talk about them happening."


--
www.tudorgirba.com
www.feenk.com

"Value is always contextual."











Re: [Pharo-users] double dispatch example

2016-10-11 Thread stepharo

Tx todd

For me it was too complex.

I should check the book and andres and now I used the examples given my 
alex.




Le 10/10/16 à 09:24, Todd Blanchard a écrit :


On Sep 13, 2016, at 12:35, Denis Kudriashov <dionisi...@gmail.com 
<mailto:dionisi...@gmail.com>> wrote:



2016-09-13 20:56 GMT+02:00 stepharo <steph...@free.fr 
<mailto:steph...@free.fr>>:



I was thinking about the code in Pharo.



Probably most known and beautiful case is arithmetic operations. Look 
at #adaptToInteger:andSend: and friends.


That one is my go-to example to explain it.




Re: [Pharo-users] Pharo5 download for linux - interpreter cannot read image file

2016-10-11 Thread stepharo

Hi andreas

are you using Pharo at work :)?

Can we know more?


Stef


Le 11/10/16 à 17:28, Andreas Sunardi a écrit :

I confirmed the new version is working just fine.

If this info is helpful, I'm running this new version on my CentOS 6.5 
at my work.


On Tue, Oct 11, 2016 at 3:02 AM, Esteban Lorenzano 
<esteba...@gmail.com <mailto:esteba...@gmail.com>> wrote:


I made a new version of
http://files.pharo.org/platform/Pharo5.0-linux-oldLibC.zip
<http://files.pharo.org/platform/Pharo5.0-linux-oldLibC.zip>,
based on Yan's VM... They should work fine.

Now... I need a CentOS compatible VM :P

Esteban


On 10 Oct 2016, at 08:29, Esteban Lorenzano <esteba...@gmail.com
<mailto:esteba...@gmail.com>> wrote:



On 10 Oct 2016, at 05:47, Andreas Sunardi <a.suna...@gmail.com
<mailto:a.suna...@gmail.com>> wrote:

Hello Stef,

IMHO, since the 'GNU/Linux w. libc < 2.15' download in Pharo
download webpage is broken anyway, we should repackage that
download. Then other people using this version doesn't have to
follow extra instruction to patch it. Having said that, I
understand you and the Pharo team may have a reason to not
hastily repackage that download option.


yes, it is :(
I need to fix that link.

Esteban



So, here are the downloads needed:
1. 'GNU/Linux w. libc < 2.15' from Pharo download page
http://pharo.org/gnu-linux-installation
<http://pharo.org/gnu-linux-installation>
$ wget
http://files.pharo.org/platform/Pharo5.0-linux-oldLibC.zip
<http://files.pharo.org/platform/Pharo5.0-linux-oldLibC.zip>

2. Jan Vrany's Pharo 5 VM
https://swing.fit.cvut.cz/jenkins/job/pharo-vm-spur-swing/
<https://swing.fit.cvut.cz/jenkins/job/pharo-vm-spur-swing/>. I
used the current latest build, which is currently build #5, Jan
17, 2016
$ wget

https://swing.fit.cvut.cz/jenkins/view/All/job/pharo-vm-spur-swing/lastSuccessfulBuild/artifact/pharo-vm-spur-swing.zip

<https://swing.fit.cvut.cz/jenkins/view/All/job/pharo-vm-spur-swing/lastSuccessfulBuild/artifact/pharo-vm-spur-swing.zip>

3. Pharo 5 sources file from http://files.pharo.org/sources/
<http://files.pharo.org/sources/>
$ wget http://files.pharo.org/sources/PharoV50.sources.zip
<http://files.pharo.org/sources/PharoV50.sources.zip>

4. Latest Pharo 5 image from http://files.pharo.org/image, which
is currently 50761
$ wget
http://files.pharo.org/image/50/Pharo-Image-5.0-latest.zip
<http://files.pharo.org/image/50/Pharo-Image-5.0-latest.zip>


Installation:
1. Unzip 'GNU/Linux w. libc < 2.15'
$ unzip Pharo5.0-linux-oldLibC.zip

2. Replace VM in bin/ with  Jan Vrany's build
$ cd pharo5.0/bin
$ unzip ../../pharo-vm-spur-swing.zip

3. Put Pharo 5 sources file in the VM directory
$ unzip ../../PharoV50.sources.zip

4. Replace image and changes file with the latest
$ cd ../shared
$ rm Pharo5.0.{image,changes}
$ unzip ../../Pharo-Image-5.0-latest.zip
$ mv Pharo-50761.image Pharo5.0.image
$ mv Pharo-50761.changes Pharo5.0.changes


Now, we can run pharo with libc < 2.15
$ cd ..
$ pharo


I hope that help!
--
Andreas

On Sat, Oct 8, 2016 at 10:10 AM, stepharo <steph...@free.fr
<mailto:steph...@free.fr>> wrote:

Hi

I would like a list of

- links

- actions (unix commands)

so that we can add it to the web site so that other people
using the same version than you

can install and run pharo simply.


Stef


Le 7/10/16 à 19:06, Andreas Sunardi a écrit :

Hi Stef,

Can you explain a little bit about what this 'How to' is?
Just now I'm able to finally run pharo5 on my CentOS with
glibc version < 2.15 and I wrote my finding in my other reply.

Are you referring to how to put these things together to
finally able to run pharo? Or are you referring to my
digging through the error?


On Thu, Oct 6, 2016 at 11:08 PM, stepharo <steph...@free.fr
<mailto:steph...@free.fr>> wrote:

Hi andreas

could you write a little how to so that we can put it
on the web site?

Stef


Le 7/10/16 à 06:20, Andreas Sunardi a écrit :

Thanks, Bernardo. That fogbugz case is exactly the
problem I'm having.

This VM (pharo-vm-spur-swing.zip) is able to open
Pharo 5.0 image from Pharo download page. This is a
good sign.

Upon opening the image, I am, however, presented
immediately with 'MessageNotUnderstood: receiver of
"/" is nil'. It's coming from
SystemSettingsPersistence class >>
defaultPr

Re: [Pharo-users] Pillar book makefile or template is broken.

2016-10-09 Thread stepharo

Ok thanks!

I will try tomorrow.


Stef


Le 9/10/16 à 21:29, Damien Pollet a écrit :


On 9 October 2016 at 20:03, stepharo <steph...@free.fr 
<mailto:steph...@free.fr>> wrote:


I tried to add a title to a book

{
  "title":"Learning Programming with Pharo",


I think I tried with { "metadata": { "title": "bleb" } } in the 
book.pillar and that worked. No clue why the one from the conf is not 
inherited anymore.




Re: [Pharo-users] Pillar book makefile or template is broken.

2016-10-09 Thread stepharo



Le 9/10/16 à 21:23, Damien Pollet a écrit :


On 9 October 2016 at 19:47, stepharo <steph...@free.fr 
<mailto:steph...@free.fr>> wrote:


- chmod +x support/latex/sbabook/gitinfo2.sh

Now I have no idea where I should add this command.


That should be versioned as part of sbabook. On my machine when I 
check it out it's executable, and apparently it's harder to make git 
ignore file modes than to have it follow them, so I don't know what's 
wrong.


no idea.
I did a clean install. So I imagine that it should break on other 
machines too.




Re: [Pharo-users] Pillar book makefile or template is broken.

2016-10-09 Thread stepharo

Hi doru

Hi Stef,

I started from the Pharo image and now we have an editor that is working 
reasonably well inside Pharo. I will send more details shortly.

Cool

This means that I do not have to edit the book somewhere else, and this also 
means that I can run the generation from inside Pharo, too.

Nice.

So, the next step is to trigger the visitors to generate the book from within 
Pharo without relying on the command line. If we can manage that,
I think that we should extract the commandline code into a separated 
object.
I wanted to do that but I decided that I'm not allowed to start 
something new now.
I wanted to generated also all the magritte black magic accessors so 
that we do not rely on DNU.

  my guess is that the command line related logic will become simpler and more 
debuggable.
I wanted to replace some unix commands by some pharo code snippet 
(because I can debug FileReference)
but same reason as above (finish first three tasks before starting a new 
one).


Stef


Cheers,
Doru




On Oct 9, 2016, at 8:03 PM, stepharo <steph...@free.fr> wrote:

I tried to add a title to a book

{
  "title":"Learning Programming with Pharo",
  "newLine":#unix,
  "configurations": {
"LaTeX" : {
  "outputType":#'latex:sbabook',
  "separateOutputFiles":true
},
"HTML" : {
  "outputType":#html,
  "separateOutputFiles":true
}
  }
}

did not work :(

{
  "title":"Learning Programming with Pharo"
}

!!Compilation

${inputFile:Chapters/Chapter1/chapter1.pillar}$

!!Edition and Templates

${inputFile:Chapters/Chapter2/chapter2.pillar}$

+>figures/pharo.png|width=30+
+>figures/rmod.png|width=30+

did not work :(

No idea how to debug i t sadly.

Stef


Le 9/10/16 à 19:42, stepharo a écrit :

Hi

Is there anybody maintaining Pillar?


I did

wget https://raw.githubusercontent.com/pillar-markup/pillar/master/download.sh

chmod +x download.sh

./download.sh

./pillar archetype book

ogrammingArchetype make pdf
git submodule update --init --recursive
mkdir -p ./build
ln -fs ../support ./build
support/latex/sbabook/gitinfo2.sh > build/gitHeadLocal.gin
/bin/sh: support/latex/sbabook/gitinfo2.sh: Permission denied
make: *** [build/gitHeadLocal.gin] Error 126


I have no idea how to fix it.

in the past I removed this git version script because it was going in my way.

Stef






--
www.tudorgirba.com
www.feenk.com

"Problem solving efficiency grows with the abstractness level of problem 
understanding."











Re: [Pharo-users] Pillar book makefile or template is broken.

2016-10-09 Thread stepharo

I tried to add a title to a book

{
  "title":"Learning Programming with Pharo",
  "newLine":#unix,
  "configurations": {
"LaTeX" : {
  "outputType":#'latex:sbabook',
  "separateOutputFiles":true
},
"HTML" : {
  "outputType":#html,
  "separateOutputFiles":true
}
  }
}

did not work :(

{
  "title":"Learning Programming with Pharo"
}

!!Compilation

${inputFile:Chapters/Chapter1/chapter1.pillar}$

!!Edition and Templates

${inputFile:Chapters/Chapter2/chapter2.pillar}$

+>figures/pharo.png|width=30+
+>figures/rmod.png|width=30+

did not work :(

No idea how to debug i t sadly.

Stef


Le 9/10/16 à 19:42, stepharo a écrit :

Hi

Is there anybody maintaining Pillar?


I did

wget 
https://raw.githubusercontent.com/pillar-markup/pillar/master/download.sh


 chmod +x download.sh

./download.sh

./pillar archetype book

ogrammingArchetype make pdf
git submodule update --init --recursive
mkdir -p ./build
ln -fs ../support ./build
support/latex/sbabook/gitinfo2.sh > build/gitHeadLocal.gin
/bin/sh: support/latex/sbabook/gitinfo2.sh: Permission denied
make: *** [build/gitHeadLocal.gin] Error 126


I have no idea how to fix it.

in the past I removed this git version script because it was going in 
my way.


Stef








Re: [Pharo-users] Pillar book makefile or template is broken.

2016-10-09 Thread stepharo

Are the files in Chapters automatically added to the pillar.conf?

Because the pillar.conf

is just

{
  "title":"Book title",
  "newLine":#unix,
  "configurations": {
"LaTeX" : {
  "outputType":#'latex:sbabook',
  "separateOutputFiles":true
},
"HTML" : {
  "outputType":#html,
  "separateOutputFiles":true
    }
  }
}

Does it mean that all the files should be always compiling?

Stef


Le 9/10/16 à 19:42, stepharo a écrit :

Hi

Is there anybody maintaining Pillar?


I did

wget 
https://raw.githubusercontent.com/pillar-markup/pillar/master/download.sh


 chmod +x download.sh

./download.sh

./pillar archetype book

ogrammingArchetype make pdf
git submodule update --init --recursive
mkdir -p ./build
ln -fs ../support ./build
support/latex/sbabook/gitinfo2.sh > build/gitHeadLocal.gin
/bin/sh: support/latex/sbabook/gitinfo2.sh: Permission denied
make: *** [build/gitHeadLocal.gin] Error 126


I have no idea how to fix it.

in the past I removed this git version script because it was going in 
my way.


Stef








Re: [Pharo-users] Pillar book makefile or template is broken.

2016-10-09 Thread stepharo


- chmod +x support/latex/sbabook/gitinfo2.sh

Now I have no idea where I should add this command.

Then how can I modify the makefile and version it in my version of the 
book ?


Should I just add Makefile to my git repo?

Stef


Le 9/10/16 à 19:42, stepharo a écrit :

Hi

Is there anybody maintaining Pillar?


I did

wget 
https://raw.githubusercontent.com/pillar-markup/pillar/master/download.sh


 chmod +x download.sh

./download.sh

./pillar archetype book

ogrammingArchetype make pdf
git submodule update --init --recursive
mkdir -p ./build
ln -fs ../support ./build
support/latex/sbabook/gitinfo2.sh > build/gitHeadLocal.gin
/bin/sh: support/latex/sbabook/gitinfo2.sh: Permission denied
make: *** [build/gitHeadLocal.gin] Error 126


I have no idea how to fix it.

in the past I removed this git version script because it was going in 
my way.


Stef








[Pharo-users] Pillar book makefile or template is broken.

2016-10-09 Thread stepharo

Hi

Is there anybody maintaining Pillar?


I did

wget 
https://raw.githubusercontent.com/pillar-markup/pillar/master/download.sh


 chmod +x download.sh

./download.sh

./pillar archetype book

ogrammingArchetype make pdf
git submodule update --init --recursive
mkdir -p ./build
ln -fs ../support ./build
support/latex/sbabook/gitinfo2.sh > build/gitHeadLocal.gin
/bin/sh: support/latex/sbabook/gitinfo2.sh: Permission denied
make: *** [build/gitHeadLocal.gin] Error 126


I have no idea how to fix it.

in the past I removed this git version script because it was going in my 
way.


Stef




Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-09 Thread stepharo



Maybe this could become some kind of pillar file...

But things are changing a lot these days with SDL2 etc.

It is converging
- SDL2 stabilisation
- Sparta integrated into Bloc
- TxText optimisation
- Bloc stabilization
Thales guys are starting to use it.

Stef


Any roadmap of these somewhere?

Phil

On Sat, Oct 8, 2016 at 7:03 PM, stepharo <steph...@free.fr 
<mailto:steph...@free.fr>> wrote:


Thibault

you should talk also with Glenn and Alain to get feedback. They
will visit us in Nov.


Stef


Le 7/10/16 à 15:14, Thibault Raffaillac a écrit :

Thanks for these mails, that's actually very helpful!
I am working on a shorter syntax for animations at the moment
(than GLMAnimation, Viva, Bloc-Animation), and could not find
a proper equivalent to requestAnimationFrame (i.e. that would
be independent of any UI yet in sync with display, and as
simple as possible).
My solution was to repeatedly register to deferredUIMessages,
implementing an intermediate block to add a timestamp like
requestAnimationFrame (works wonders
http://smalltalkhub.com/#!/~ThibaultRaffaillac/Animation
<http://smalltalkhub.com/#%21/%7EThibaultRaffaillac/Animation>)

Cheers,
Thibault

ps: I'll ask Guille asap for the state of ReactiveExtensions
(lacks comments)

Also, check

MorphicUIManager>>#spawnNewProcess

UIProcess := [
[World doOneCycle.  Processor yield.  false] whileFalse: [].
] newProcess priority: Processor userSchedulingPriority.
UIProcess name: 'Morphic UI Process'.
UIProcess resume

digging into doOneCycle, you'll find:

#doOneCycleFor: aWorld
"Do one cycle of the interaction loop. This method is
called *repeatedly
*when
the world is running. This is a moderately private method;
a better
alternative is usually either to wait for events or to
check the state of
things from #step methods."

self interCyclePause: MinCycleLapse.
self doOneCycleNowFor: aWorld.


The interCyclePause is what make the UI timing alignment
proper (notice
serverMode) [and some Squeak remnant mention]:

interCyclePause: milliSecs
"delay enough that the previous cycle plus the amount of
delay will equal
milliSecs.  If the cycle is already expensive, then no
delay occurs.
However, if the system is idly waiting for interaction
from the user, the
method will delay for a proportionally long time and cause
the overall CPU
usage of *Squeak* to be low.
If self serverMode returns true then, always do a complete
delay of 50ms,
independant of my argument. This prevents the freezing
problem described in
Mantis #6581"

| wait wait2 |
 "*a very long assignment*"
wait := self serverMode
 ifTrue: [ 50 ]
 ifFalse:
[ wait2 := (lastCycleTime notNil and: [CanSurrenderToOS ~~
false])
 ifFalse: [ 0 ]
 ifTrue: [ lastCycleTime + milliSecs - Time
millisecondClockValue ].

   self flag: 'Issue 14754 - wait2>millisecs is only
True for clock
rollover. Remove it once DelayScheduler based on
microsecondClock - Ben
Coman 19.01.2015'.  "*< maybe we want this #flag: not
to be called all
the time* "
   wait2 > milliSecs
 ifTrue: [ 0 ]
 ifFalse: [ wait2 ].
].
wait > 0 ifTrue: [ (Delay forMilliseconds: wait) wait ]. 
 "<--- wait

is not #>>wait"

lastCycleTime := Time millisecondClockValue.
CanSurrenderToOS := true.

Now, yeah, how do get stuff to be painted on the screen?

Like this:

displayWorld: aWorld submorphs: submorphs
"Update this world's display."

| deferredUpdateMode handsToDraw allDamage |

submorphs do: [:m | m fullBounds].  "force re-layout if
needed"
self checkIfUpdateNeeded ifFalse: [^ self].  "display is
already up-to-date"

deferredUpdateMode := self doDeferredUpdatingFor: aWorld.
deferredUpdateMode ifFalse: [self assuredCanvas].
canvas roundCornersOf: aWorld during:[ | worldDamageRects
handDamageRects |
worldDamag

Re: [Pharo-users] Pharo5 download for linux - interpreter cannot read image file

2016-10-08 Thread stepharo

Hi

I would like a list of

- links

- actions (unix commands)

so that we can add it to the web site so that other people using the 
same version than you


can install and run pharo simply.


Stef


Le 7/10/16 à 19:06, Andreas Sunardi a écrit :

Hi Stef,

Can you explain a little bit about what this 'How to' is? Just now I'm 
able to finally run pharo5 on my CentOS with glibc version < 2.15 and 
I wrote my finding in my other reply.


Are you referring to how to put these things together to finally able 
to run pharo? Or are you referring to my digging through the error?



On Thu, Oct 6, 2016 at 11:08 PM, stepharo <steph...@free.fr 
<mailto:steph...@free.fr>> wrote:


Hi andreas

could you write a little how to so that we can put it on the web site?

Stef


Le 7/10/16 à 06:20, Andreas Sunardi a écrit :

Thanks, Bernardo. That fogbugz case is exactly the problem I'm
having.

This VM (pharo-vm-spur-swing.zip) is able to open Pharo 5.0 image
from Pharo download page. This is a good sign.

Upon opening the image, I am, however, presented immediately with
'MessageNotUnderstood: receiver of "/" is nil'. It's coming from
SystemSettingsPersistence class >> defaultPreferenceFileReference

It boils down to
OSEnvironment#getEnv: 'HOME'

a failure in building an FFI call. The FFI call function signature is
#( String getenv (String string) )

The context object built from OSEnvironment#getEnv: gives answer
'arg1', instead of 'string', to a call to #method#argumentNames.
Down the road, an IRMethod instance is trying to find the index
for 'string' and can't find any, because what is stored is 'arg1'.

I'm out of my depth at this point, and this is a separate issue
than not being able to start the image. I have to think where I
want to go from here.

So, thank you for all of you, for the exceedingly quick and
friendly help.

Cheers!

On Thu, Oct 6, 2016 at 5:42 PM, Bernardo Ezequiel Contreras
<vonbecm...@gmail.com <mailto:vonbecm...@gmail.com>> wrote:

Hold on,

  There's also this issue

https://pharo.fogbugz.com/f/cases/17353/build-spur-vm-for-debian-old-libc

<https://pharo.fogbugz.com/f/cases/17353/build-spur-vm-for-debian-old-libc>

where in one comment jan.vrany recommended his build

https://swing.fit.cvut.cz/jenkins/job/pharo-vm-spur-swing/
<https://swing.fit.cvut.cz/jenkins/job/pharo-vm-spur-swing/>


https://swing.fit.cvut.cz/jenkins/view/All/job/pharo-vm-spur-swing/lastSuccessfulBuild/artifact/pharo-vm-spur-swing.zip

<https://swing.fit.cvut.cz/jenkins/view/All/job/pharo-vm-spur-swing/lastSuccessfulBuild/artifact/pharo-vm-spur-swing.zip>

that i have used in debian wheezy with the old libc for quite
a while. i don't use it anymore because im in jessie.



On Thu, Oct 6, 2016 at 9:13 PM, Andreas Sunardi
<a.suna...@gmail.com <mailto:a.suna...@gmail.com>> wrote:

Thank you for the impressive quick response.
Unfortunately, I have older glibc. So now I'm struggling
with compiling glibc 2.15 for 32 bit on my 64 bit CentOS
6.5 machine. Not an easy thing to do.

I'll try those VMs once I succeed in building this glibc

On Thu, Oct 6, 2016 at 12:41 PM, Bernardo Ezequiel
Contreras <vonbecm...@gmail.com
<mailto:vonbecm...@gmail.com>> wrote:

this
http://files.pharo.org/vm/pharo-spur32/linux/latest.zip
<http://files.pharo.org/vm/pharo-spur32/linux/latest.zip>

works pretty well in Debian GNU/Linux 8 Jessie

On Thu, Oct 6, 2016 at 4:09 PM, Clément Bera
<bera.clem...@gmail.com
<mailto:bera.clem...@gmail.com>> wrote:

Thanks for reporting the problem.

The error means the VM is incompatible with the
image. There was a change of image format in
Pharo 5, so the package has likely an old VM
while the image has the new format, or the new VM
while the image has the old format.

Someone will look into that problem in the
incoming weeks. Most Pharo maintainers are on
Mac, we noticed recently that other OS were not
maintained carefully enough (We're sorry about
that) and we're trying to solve that problem.

Meantime

Can you try the latest VM from here (latest.zip):
http://files.pharo.org/vm/pharo-spur32/linux/
<http://files.pharo.org/vm/pharo-spur32/linux/>

Or if still failing, 

Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-08 Thread stepharo

Thibault

you should talk also with Glenn and Alain to get feedback. They will 
visit us in Nov.



Stef


Le 7/10/16 à 15:14, Thibault Raffaillac a écrit :

Thanks for these mails, that's actually very helpful!
I am working on a shorter syntax for animations at the moment (than 
GLMAnimation, Viva, Bloc-Animation), and could not find a proper equivalent to 
requestAnimationFrame (i.e. that would be independent of any UI yet in sync 
with display, and as simple as possible).
My solution was to repeatedly register to deferredUIMessages, implementing an 
intermediate block to add a timestamp like requestAnimationFrame (works wonders 
http://smalltalkhub.com/#!/~ThibaultRaffaillac/Animation)

Cheers,
Thibault

ps: I'll ask Guille asap for the state of ReactiveExtensions (lacks comments)


Also, check

MorphicUIManager>>#spawnNewProcess

UIProcess := [
[World doOneCycle.  Processor yield.  false] whileFalse: [].
] newProcess priority: Processor userSchedulingPriority.
UIProcess name: 'Morphic UI Process'.
UIProcess resume

digging into doOneCycle, you'll find:

#doOneCycleFor: aWorld
"Do one cycle of the interaction loop. This method is called *repeatedly
*when
the world is running. This is a moderately private method; a better
alternative is usually either to wait for events or to check the state of
things from #step methods."

self interCyclePause: MinCycleLapse.
self doOneCycleNowFor: aWorld.


The interCyclePause is what make the UI timing alignment proper (notice
serverMode) [and some Squeak remnant mention]:

interCyclePause: milliSecs
"delay enough that the previous cycle plus the amount of delay will equal
milliSecs.  If the cycle is already expensive, then no delay occurs.
However, if the system is idly waiting for interaction from the user, the
method will delay for a proportionally long time and cause the overall CPU
usage of *Squeak* to be low.
If self serverMode returns true then, always do a complete delay of 50ms,
independant of my argument. This prevents the freezing problem described in
Mantis #6581"

| wait wait2 |
 "*a very long assignment*"
wait := self serverMode
 ifTrue: [ 50 ]
 ifFalse:
[ wait2 := (lastCycleTime notNil and: [CanSurrenderToOS ~~ false])
 ifFalse: [ 0 ]
 ifTrue: [ lastCycleTime + milliSecs - Time millisecondClockValue ].

   self flag: 'Issue 14754 - wait2>millisecs is only True for clock
rollover. Remove it once DelayScheduler based on microsecondClock - Ben
Coman 19.01.2015'.  "*< maybe we want this #flag: not to be called all
the time* "
   wait2 > milliSecs
 ifTrue: [ 0 ]
 ifFalse: [ wait2 ].
].
wait > 0 ifTrue: [ (Delay forMilliseconds: wait) wait ].   "<--- wait
is not #>>wait"

lastCycleTime := Time millisecondClockValue.
CanSurrenderToOS := true.

Now, yeah, how do get stuff to be painted on the  screen?

Like this:

displayWorld: aWorld submorphs: submorphs
"Update this world's display."

| deferredUpdateMode handsToDraw allDamage |

submorphs do: [:m | m fullBounds].  "force re-layout if needed"
self checkIfUpdateNeeded ifFalse: [^ self].  "display is already up-to-date"

deferredUpdateMode := self doDeferredUpdatingFor: aWorld.
deferredUpdateMode ifFalse: [self assuredCanvas].
canvas roundCornersOf: aWorld during:[ | worldDamageRects handDamageRects |
worldDamageRects := self drawWorld: aWorld submorphs: submorphs
invalidAreasOn: canvas.  "repair world's damage on canvas"
"self handsDo:[:h| h noticeDamageRects: worldDamageRects]."
handsToDraw := self selectHandsToDrawForDamage: worldDamageRects.
handDamageRects := handsToDraw collect: [:h | h savePatchFrom: canvas].
allDamage := worldDamageRects, handDamageRects.

handsToDraw reverseDo: [:h | canvas fullDrawMorph: h].  "draw hands onto
world canvas"
].
"*make this true to flash damaged areas for testing*"
self class debugShowDamage ifTrue: [aWorld flashRects: allDamage color:
Color black].

canvas finish.
"quickly copy altered rects of canvas to Display:"
deferredUpdateMode
ifTrue: [self forceDamageToScreen: allDamage]
ifFalse: [canvas showAt: aWorld viewBox origin invalidRects: allDamage].
handsToDraw do: [:h | h restoreSavedPatchOn: canvas].  "restore world
canvas under hands"
Display deferUpdates: false; forceDisplayUpdate.

The VM will take care of throwing the bits to the display in various ways.
Interesting to look how it is done for Windows, OSX, and Linux.

So you have about a full view now.

Timing wise, there is also some interaction with the VM occuring elsewhere.
Pharo is still polling deep inside.  epoll etc isn't there yet, hence the
little idle CPU usage when doing nothing.

Good luck doing this UI trip with other platforms, not to mention change or
instrument it the way you like.

Pharo is really cool for this as it helps in learning about a lot of things.

Want to do sockets?
Do the high level stuff in Pharo and dig in the VM to see how it is done
down under for a set of platforms.

Enjoy.

Phil







Re: [Pharo-users] Spec: scaling imageModels

2016-10-08 Thread stepharo

Hi matteo


Spec does not expose the complete API. Now if you need you can propose 
some extensions.


Stef



Re: [Pharo-users] Pharo5 download for linux - interpreter cannot read image file

2016-10-07 Thread stepharo

Hi andreas

could you write a little how to so that we can put it on the web site?

Stef


Le 7/10/16 à 06:20, Andreas Sunardi a écrit :

Thanks, Bernardo. That fogbugz case is exactly the problem I'm having.

This VM (pharo-vm-spur-swing.zip) is able to open Pharo 5.0 image from 
Pharo download page. This is a good sign.


Upon opening the image, I am, however, presented immediately with 
'MessageNotUnderstood: receiver of "/" is nil'. It's coming from

SystemSettingsPersistence class >> defaultPreferenceFileReference

It boils down to
OSEnvironment#getEnv: 'HOME'

a failure in building an FFI call. The FFI call function signature is
#( String getenv (String string) )

The context object built from OSEnvironment#getEnv: gives answer 
'arg1', instead of 'string', to a call to #method#argumentNames. Down 
the road, an IRMethod instance is trying to find the index for 
'string' and can't find any, because what is stored is 'arg1'.


I'm out of my depth at this point, and this is a separate issue than 
not being able to start the image. I have to think where I want to go 
from here.


So, thank you for all of you, for the exceedingly quick and friendly help.

Cheers!

On Thu, Oct 6, 2016 at 5:42 PM, Bernardo Ezequiel Contreras 
> wrote:


Hold on,

  There's also this issue
https://pharo.fogbugz.com/f/cases/17353/build-spur-vm-for-debian-old-libc


where in one comment jan.vrany recommended his build

https://swing.fit.cvut.cz/jenkins/job/pharo-vm-spur-swing/



https://swing.fit.cvut.cz/jenkins/view/All/job/pharo-vm-spur-swing/lastSuccessfulBuild/artifact/pharo-vm-spur-swing.zip



that i have used in debian wheezy with the old libc for quite a
while. i don't use it anymore because im in jessie.



On Thu, Oct 6, 2016 at 9:13 PM, Andreas Sunardi
> wrote:

Thank you for the impressive quick response. Unfortunately, I
have older glibc. So now I'm struggling with compiling glibc
2.15 for 32 bit on my 64 bit CentOS 6.5 machine. Not an easy
thing to do.

I'll try those VMs once I succeed in building this glibc

On Thu, Oct 6, 2016 at 12:41 PM, Bernardo Ezequiel Contreras
> wrote:

this
http://files.pharo.org/vm/pharo-spur32/linux/latest.zip


works pretty well in Debian GNU/Linux 8 Jessie

On Thu, Oct 6, 2016 at 4:09 PM, Clément Bera
>
wrote:

Thanks for reporting the problem.

The error means the VM is incompatible with the image.
There was a change of image format in Pharo 5, so the
package has likely an old VM while the image has the
new format, or the new VM while the image has the old
format.

Someone will look into that problem in the incoming
weeks. Most Pharo maintainers are on Mac, we noticed
recently that other OS were not maintained carefully
enough (We're sorry about that) and we're trying to
solve that problem.

Meantime

Can you try the latest VM from here (latest.zip):
http://files.pharo.org/vm/pharo-spur32/linux/


Or if still failing, the latest VM from here (latest.zip):
http://files.pharo.org/vm/pharo/linux/


One of these two VMs should work. Please tell me which
one worked if you try.

Thanks & Regards

Clement

On Thu, Oct 6, 2016 at 8:44 PM, Bernardo Ezequiel
Contreras > wrote:

i already submitted a similar issue

https://pharo.fogbugz.com/f/cases/18221/This-interpreter-vers-6505-cannot-read-image-file-vers-6521



check it and see if it is the same

On Thu, Oct 6, 2016 at 3:20 PM, Andreas Sunardi
>
wrote:

I'm on CentOS 6.5 and I downloaded Pharo 5 

Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-03 Thread stepharo

ere is some interesting event loop stuff from Tcl.


http://wiki.tcl.tk/2567

I wish we had some easy Tk UI building things in Pharo.


Me too :)
First I want Bloc to get out and be ready for integration to Pharo but 
it takes time.




Spec is okay but not intuitive. As it is the only thing that exposes 
the myriad of various Morphs we have and shields us (somewhat) from 
the underlying details, we have to use it, but its explorability is 
really detrimental to the livecoding side of Pharo.


Spec is not to build fun morphic things :)



Phil

On Mon, Oct 3, 2016 at 12:25 PM, Ben Coman > wrote:


On Mon, Oct 3, 2016 at 6:08 PM, Ben Coman > wrote:
> On Mon, Oct 3, 2016 at 3:49 PM, CodeDmitry
> wrote:
>> a JavaScript timeout is a function that takes a block and a
period of time,
>> and after  this period of time, puts the block at the end of
the event
>> queue, to be executed as soon as the runtime is done performing
the tasks in
>> front of it.
>>
>> I am not sure if Pharo has an event queue, so it's a bit harder
to do
>> it(since without one you can't ensure only one thing happens at
a time, and
>> strange things can happen).
>>
>> That said, in simplest terms, imagine writing a clock app for
Pharo, which
>> updates time every second, in JS this would be done by setting
an interval
>> that ticks every 1000ms, and each time places the callback
function(block)
>> at the end of the event queue.
>>
>> Related:
https://www.youtube.com/watch?time_continue=1=8aGhZQkoFbQ

>
> Pharo has a single threaded VM, but multiple green threads can
run concurrently.
> The closest to the event loop you are thinking of most likely the
> Morphic UI Process
> which you can see using World > Tools > Process Browser.  When
you execute code
> from Playground it runs in that Process (note what Smalltalk
> historically (circa 1970s?) has
> called a Process is today more commonly know as a Green Thread)
>
> If you select Morphic UI Process  you will see its call stack on the
> right, where an interesting method is WorldState>>doOneCycleFor:
> You can gain some insight by turning on auto-update in the Process
> Browser, then open a Browser on WorldState>>doOneCycleFor:
> and put "self haltOnce" at the top, then enable it via...
> Pharo 5: World > System > Enable halt/inspect once.
> Pharo 6: World > Debugging > Enable all break/inspect once.
>
> You will see in the Process Browser that a new Morphic UI Process is
> spawned, and the original Morphic UI Process call stack now has
> #debugProcess at the top
> and a debug window appears that you can step through. Note,
since two
> UI loops are executing here, the image may lock up, but usually its
> fine so hey! live on the edge!


I meant to ask the list about a bug I hit doing this

Putting a "self haltOnce" here...

  WorldState>>doOneCycleNowFor: aWorld
DisplayScreen checkForNewScreenSize.
self haltOnce.
"process user input events"
LastCycleTime := Time millisecondClockValue.
self handsDo: [:h |
self activeHand: h.
h processEvents.
self activeHand: nil.
].
self activeHand: self hands first.
aWorld runStepMethods. "there are currently some variations here"
self displayWorldSafely: aWorld.


When stepping over "self activeHand: nil."
another debugger appears MNU: receiver of "releaseKeyboardFocus:"
is nil
in GLMPagerPanePreviewMorph(Morph)>>delete

  self activeHand
 releaseKeyboardFocus: self;
 releaseMouseFocus: self.


This can obviously be fixed by wrapping "self activeHand" with an
#ifNil:
but alternatively I wonder if the "self activeHand: nil" is really
needed?
It seems redundant since activeHand is set at the top of the loop and
immediately after exiting the loop.
Eliminating it would reduce the propagation of #ifNil: anti-pattern.

https://pharo.fogbugz.com/default.asp?19169


cheers -ben

>
> In #runStepMethodsIn: you'll see "queue := self class
> deferredUIMessages" for which you enqueue items like this...
>

http://forum.world.st/Issue-3562-in-pharo-Deferred-UI-messages-executed-slowly-td3228060.html


>
> After processing the deferred UI messages, each Morph's #step method
> is processed by #runLocalStepMethodsIn:
> refer... http://wiki.squeak.org/squeak/2096

Re: [Pharo-users] Intro to Microsoft COM for Smalltalkers

2016-10-03 Thread stepharo

Thanks Ben.

I can tell you that we want to remove all such activeHand. :)

One day it will come.

Stef


Le 3/10/16 à 12:25, Ben Coman a écrit :

On Mon, Oct 3, 2016 at 6:08 PM, Ben Coman  wrote:

On Mon, Oct 3, 2016 at 3:49 PM, CodeDmitry  wrote:

a JavaScript timeout is a function that takes a block and a period of time,
and after  this period of time, puts the block at the end of the event
queue, to be executed as soon as the runtime is done performing the tasks in
front of it.

I am not sure if Pharo has an event queue, so it's a bit harder to do
it(since without one you can't ensure only one thing happens at a time, and
strange things can happen).

That said, in simplest terms, imagine writing a clock app for Pharo, which
updates time every second, in JS this would be done by setting an interval
that ticks every 1000ms, and each time places the callback function(block)
at the end of the event queue.

Related: https://www.youtube.com/watch?time_continue=1=8aGhZQkoFbQ

Pharo has a single threaded VM, but multiple green threads can run concurrently.
The closest to the event loop you are thinking of most likely the
Morphic UI Process
which you can see using World > Tools > Process Browser.  When you execute code
from Playground it runs in that Process (note what Smalltalk
historically (circa 1970s?) has
called a Process is today more commonly know as a Green Thread)

If you select Morphic UI Process  you will see its call stack on the
right, where an interesting method is WorldState>>doOneCycleFor:
You can gain some insight by turning on auto-update in the Process
Browser, then open a Browser on WorldState>>doOneCycleFor:
and put "self haltOnce" at the top, then enable it via...
Pharo 5: World > System > Enable halt/inspect once.
Pharo 6: World > Debugging > Enable all break/inspect once.

You will see in the Process Browser that a new Morphic UI Process is
spawned, and the original Morphic UI Process call stack now has
#debugProcess at the top
and a debug window appears that you can step through.  Note, since two
UI loops are executing here, the image may lock up, but usually its
fine so hey! live on the edge!


I meant to ask the list about a bug I hit doing this

Putting a "self haltOnce" here...

   WorldState>>doOneCycleNowFor: aWorld
 DisplayScreen checkForNewScreenSize.
 self haltOnce.
 "process user input events"
 LastCycleTime := Time millisecondClockValue.
 self handsDo: [:h |
 self activeHand: h.
 h processEvents.
 self activeHand: nil.
 ].
 self activeHand: self hands first.
 aWorld runStepMethods. "there are currently some variations here"
 self displayWorldSafely: aWorld.


When stepping over "self activeHand: nil."
another debugger appears MNU: receiver of "releaseKeyboardFocus:" is nil
in GLMPagerPanePreviewMorph(Morph)>>delete

   self activeHand
  releaseKeyboardFocus: self;
  releaseMouseFocus: self.


This can obviously be fixed by wrapping "self activeHand" with an #ifNil:
but alternatively I wonder if the "self activeHand: nil" is really needed?
It seems redundant since activeHand is set at the top of the loop and
immediately after exiting the loop.
Eliminating it would reduce the propagation of #ifNil: anti-pattern.

https://pharo.fogbugz.com/default.asp?19169

cheers -ben


In #runStepMethodsIn: you'll see "queue := self class
deferredUIMessages" for which you enqueue items like this...
http://forum.world.st/Issue-3562-in-pharo-Deferred-UI-messages-executed-slowly-td3228060.html

After processing the deferred UI messages, each Morph's #step method
is processed by #runLocalStepMethodsIn:
refer... http://wiki.squeak.org/squeak/2096

The display is then rendered by #displayWorldSafely: calling...
--> #displayWorld
--> #displayWorld:submorphs:
which then is a lot to trace through, but depending on the graphics
back end eventually ends up calling...
Canvas>>fullDrawMorph:which ultimately invokes one of many #drawOn:
or...
AthensCanvas>>fullDrawMorph:which ultimately invokes one of many
#drawOnAthensCanvas:


So, for a regular timed UI animation, you would define your custom
morph's #step and #stepTime methods,
and for lower level stuff you would fork like Dennis suggests.

cheers -ben







  1   2   3   4   5   6   7   8   9   10   >