Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
October 2016
- 87 participants
- 592 messages
Re: [Pharo-users] [ANN] New Pharo blog - "Pharo Trek"
by Dimitris Chloupis
Octopus is just a hack basically you cut or copy a selected texted text
with pillar syntax and when you paste it back instead of the same pillar
text it pastes the text converted to HTML. Essentially it allows me to
write pillar inside a HTML file and have it converted lively. Far more
Pharo like than using the command line ;)
I am not a fan of the command line as you may have guessed
More info can be found here
http://www.kilon-alios.com/subpages/blog/blogposts/20161021-Octopus-post.ht…
I am currently using emacs because as editor it rocks and has excellent
support for both Pharo and Pillar (thanks to Damien)
You can say I am obsessed with making Pharo communicate, manipulate and
cooperate external Applications. Only this time I did not use sockets but
the clipboard. But yeah if it works it works .
I also installed a Firefox plugin that auto refreshes the webpage every
time it changes, again similar to live coding. Each time I make a commit to
the git repo the website gets published. Sometimes like I did 10 minutes
ago I edit my HTML files directly from inside GitLab web front if it is a
minor edit, or I am away from my iMac on my iPad , where I cannot have
Pharo, emacs and pillar.
So in short Octopus is live coding HTML via Pillar but Pharo style ;)
On Wed, 26 Oct 2016 at 18:51, stepharo <stepharo(a)free.fr> wrote:
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 <stepharo(a)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.luna(a)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 :)
>
>
Oct. 26, 2016
Re: [Pharo-users] [ANN] New Pharo blog - "Pharo Trek"
by Jimmie Houchin
I look forward to giving Ecstatic a try. Much to learn first.
dynamically is misspelled as dinamically on the fast_feedback page.
Thanks.
Jimmie Houchin
On 10/26/2016 10:50 AM, stepharo wrote:
>
> 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 <stepharo(a)free.fr
>> <mailto:stepharo@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.luna(a)mutabit.com <mailto:offray.luna@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 :)
>>> >
>>> >
>>>
>>>
>>
>
Oct. 26, 2016
Re: [Pharo-users] [ANN] New Pharo blog - "Pharo Trek"
by 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 <stepharo(a)free.fr
> <mailto:stepharo@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.luna(a)mutabit.com <mailto:offray.luna@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 :)
>> >
>> >
>>
>>
>
Oct. 26, 2016
Re: [Pharo-users] [ANN] New Pharo blog - "Pharo Trek"
by stepharo
> You want me to use it or help you out ?
The way you want.
Trying and telling us if you succeed.
> I could give you the bootstrap templates.
> With mustache you can make amazing websites.
Yes it would be great to have more templates.
> Personally I am happy with Octopus, everything looks fine, I am
> already using Pillar efficiently.
Cool.
> 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 <stepharo(a)free.fr
> <mailto:stepharo@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.luna(a)mutabit.com <mailto:offray.luna@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 :)
>> >
>> >
>>
>>
>
Oct. 26, 2016
Re: [Pharo-users] The Ultimate Smalltalk Tutorial
by stepharo
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 <vitormcruz(a)gmail.com
> <mailto:vitormcruz@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/lastSucces…
> 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-1b53…
>
> "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
> understanding of Pharo, but I don't like it as a tutorial.
>
>
> *-------*
>
> Look at the Go language site: https://golang.org/, the first thing
> it puts in your face is a way to execute code and a link to a
> Tour. I don't even have to think much before I have executed the
> Hello World, my hand just moved the mouse to the Run button, and
> even before I noticed I was doing the tour.
>
> In my opinion, a good Step 0 would be something like Profstef
> (http://amber-lang.net/learn.html) as a Tour, going slowly through
> the language aspects, messages types, comparing to other OO
> languages, showing that operator are just messages, then that
> control flow statements are also just messages, creating classes
> etc, always letting the user execute code as she goes on.
>
> After that, the Tour could tell its user to continue it using the
> image and showing the download link. When the user execute
> Pharo.exe and loads the default image the first thing that appears
> is the Profstef asking if it is the first time he is there and if
> he is continuing the tour from the web (if it is someone used to
> Pharo, he just closes the windows and starts to use his new fresh
> image). It could explains steadily the workspace, the transcript,
> the nautilus and how to make a very simple web application with
> tests. After that it could explain the image, that objects are
> stored (serialized) into it and the image itself consists of the
> running program while the Pharo.exe is the VM. In the end It could
> point to a tutorial like
> https://medium.com/concerning-pharo/reddit-st-in-10-cool-pharo-classes-1b53…,
> the PBE and to the many others resources available.
>
> The order of things could change and maybe I had missed something,
> but that is what I can think now. Perhaps this approach is too
> slow, I don't know, but the fast one isn't working for me :( It
> don't need to be a tour also, but something in these lines, like
> the medium post above but with more parts, each describing a
> little more of Pharo. The idea, in general, is to easy the
> entrance barriers that Pharo has by it's quite different, yet
> powerful, programming model and environment. When I talk to people
> I know that have tried Pharo, that is the biggest problem.
>
> That is just my two cents. :)
>
> And thanks for all the new links :)
>
> Regards,
> Vitor
>
> On Tue, Oct 25, 2016 at 8:05 PM, stepharo <stepharo(a)free.fr
> <mailto:stepharo@free.fr>> wrote:
>
>
>
> 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 phil(a)highoctane.be
>> <mailto:phil@highoctane.be> <phil(a)highoctane.be
>> <mailto:phil@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…
>> <http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Getting…>
>>
>> I actually had the french version.
>> http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Color%2…
>> <http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Color%2…>
>>
>> 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/EDTA…
>> <http://www.colorcomputerarchive.com/coco/Documents/Manuals/Programming/EDTA…>
>>
>> Phil
>>
>>
>> On Tue, Oct 25, 2016 at 7:22 AM, Matteo via Pharo-users
>> <pharo-users(a)lists.pharo.org
>> <mailto:pharo-users@lists.pharo.org>> wrote:
>>
>>
>>
>> ---------- Forwarded message ----------
>> From: Matteo <matteob8(a)yahoo.it
>> <mailto:matteob8@yahoo.it>>
>> To: Any question about pharo is welcome
>> <pharo-users(a)lists.pharo.org
>> <mailto:pharo-users@lists.pharo.org>>
>>
>> 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
>> <monty2(a)programmer.net
>> <mailto:monty2@programmer.net>> wrote:
>>
>> +1 for PBE.
>>
>>
>> Sent: Monday, October 24, 2016 at 1:56 AM
>> From: "Nicolai Hess" <nicolaihess(a)gmail.com
>> <mailto:nicolaihess@gmail.com>> To: "Any
>> question about pharo is welcome"
>> <pharo-users(a)lists.pharo.org
>> <mailto:pharo-users@lists.pharo.org>>
>> Subject: Re: [Pharo-users] The Ultimate
>> Smalltalk Tutorial Am 23.10.2016 3:16 nachm.
>> schrieb "Vitor Medina Cruz"
>> <vitormcruz(a)gmail.com
>> <mailto:vitormcruz@gmail.com>[mailto:vitormcruz@gmail.com
>> <mailto:vitormcruz@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
>> <horrido.hobbies(a)gmail.com
>> <mailto:horrido.hobbies@gmail.com>[mailto:horrido.hobbies@gmail.com
>> <mailto:horrido.hobbies@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.htm…
>> Sent from the Pharo Smalltalk Users
>> mailing list archive at Nabble.com
>> <http://Nabble.com>.
>>
>>
>>
>> --
>> Sent from my Android device with K-9 Mail. Please
>> excuse my brevity.
>>
>
>
Oct. 26, 2016
Re: [Pharo-users] The Ultimate Smalltalk Tutorial
by stepharo
Le 26/10/16 à 02:18, Vitor Medina Cruz a écrit :
> Yes it is an amazing thing what you all do, I admire that. But isn't
> contributors previous users?
>
> What I like about the Richard intent, from what I understand, is to
> make Smalltalk, and Pharo, more visible, more used, and that is the
> only way I know to bring more contributors. From what I know, Ruby got
> a lot of more contributors after Rails, which brought a lot of users
> to the platform.
>
> I really would like to contribute some day, in the mean time I will
> try to support initiatives like the one proposed by Richard, and
> spread the word as much as I can.
Tx dimitry. Yes writing document and book is a pain :)
Now Vito what is the track record of Richard?
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!
Stef
>
> On Tue, Oct 25, 2016 at 9:45 PM, Dimitris Chloupis
> <kilon.alios(a)gmail.com <mailto:kilon.alios@gmail.com>> wrote:
>
> 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
> <vitormcruz(a)gmail.com <mailto:vitormcruz@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/lastSucces…
> <https://ci.inria.fr/pharo-contribution/job/UpdatedPharoByExample/lastSucces…>
> 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-1b53…
> <https://medium.com/concerning-pharo/reddit-st-in-10-cool-pharo-classes-1b53…>
>
> "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 understanding of Pharo, but I don't like it as a
> tutorial.
>
>
> *-------*
>
> Look at the Go language site: https://golang.org/, the first
> thing it puts in your face is a way to execute code and a link
> to a Tour. I don't even have to think much before I have
> executed the Hello World, my hand just moved the mouse to the
> Run button, and even before I noticed I was doing the tour.
>
> In my opinion, a good Step 0 would be something like Profstef
> (http://amber-lang.net/learn.html
> <http://amber-lang.net/learn.html>) as a Tour, going slowly
> through the language aspects, messages types, comparing to
> other OO languages, showing that operator are just messages,
> then that control flow statements are also just messages,
> creating classes etc, always letting the user execute code as
> she goes on.
>
> After that, the Tour could tell its user to continue it using
> the image and showing the download link. When the user execute
> Pharo.exe and loads the default image the first thing that
> appears is the Profstef asking if it is the first time he is
> there and if he is continuing the tour from the web (if it is
> someone used to Pharo, he just closes the windows and starts
> to use his new fresh image). It could explains steadily the
> workspace, the transcript, the nautilus and how to make a very
> simple web application with tests. After that it could explain
> the image, that objects are stored (serialized) into it and
> the image itself consists of the running program while the
> Pharo.exe is the VM. In the end It could point to a tutorial
> like
> https://medium.com/concerning-pharo/reddit-st-in-10-cool-pharo-classes-1b53…
> <https://medium.com/concerning-pharo/reddit-st-in-10-cool-pharo-classes-1b53…>,
> the PBE and to the many others resources available.
>
> The order of things could change and maybe I had missed
> something, but that is what I can think now. Perhaps this
> approach is too slow, I don't know, but the fast one isn't
> working for me :( It don't need to be a tour also, but
> something in these lines, like the medium post above but with
> more parts, each describing a little more of Pharo. The idea,
> in general, is to easy the entrance barriers that Pharo has by
> it's quite different, yet powerful, programming model and
> environment. When I talk to people I know that have tried
> Pharo, that is the biggest problem.
>
> That is just my two cents. :)
>
> And thanks for all the new links :)
>
> Regards,
> Vitor
>
> On Tue, Oct 25, 2016 at 8:05 PM, stepharo <stepharo(a)free.fr
> <mailto:stepharo@free.fr>> wrote:
>
>
>
> 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 phil(a)highoctane.be
>> <mailto:phil@highoctane.be> <phil(a)highoctane.be
>> <mailto:phil@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…
>> <http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Getting…>
>>
>> I actually had the french version.
>> http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Color%2…
>> <http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Color%2…>
>>
>> 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/EDTA…
>> <http://www.colorcomputerarchive.com/coco/Documents/Manuals/Programming/EDTA…>
>>
>> Phil
>>
>>
>> On Tue, Oct 25, 2016 at 7:22 AM, Matteo via
>> Pharo-users <pharo-users(a)lists.pharo.org
>> <mailto:pharo-users@lists.pharo.org>> wrote:
>>
>>
>>
>> ---------- Forwarded message ----------
>> From: Matteo <matteob8(a)yahoo.it
>> <mailto:matteob8@yahoo.it>>
>> To: Any question about pharo is welcome
>> <pharo-users(a)lists.pharo.org
>> <mailto:pharo-users@lists.pharo.org>>
>>
>> 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
>> <monty2(a)programmer.net
>> <mailto:monty2@programmer.net>> wrote:
>>
>> +1 for PBE.
>>
>>
>> Sent: Monday, October 24, 2016 at 1:56 AM
>> From: "Nicolai Hess"
>> <nicolaihess(a)gmail.com
>> <mailto:nicolaihess@gmail.com>> To: "Any
>> question about pharo is welcome"
>> <pharo-users(a)lists.pharo.org
>> <mailto:pharo-users@lists.pharo.org>>
>> Subject: Re: [Pharo-users] The Ultimate
>> Smalltalk Tutorial Am 23.10.2016 3:16
>> nachm. schrieb "Vitor Medina Cruz"
>> <vitormcruz(a)gmail.com
>> <mailto:vitormcruz@gmail.com>[mailto:vitormcruz@gmail.com
>> <mailto:vitormcruz@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 <horrido.hobbies(a)gmail.com
>> <mailto:horrido.hobbies@gmail.com>[mailto:horrido.hobbies@gmail.com
>> <mailto:horrido.hobbies@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>[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 <http://Nabble.com>.
>>
>>
>> -- Sent from my Android device with K-9 Mail.
>> Please excuse my brevity.
>>
Oct. 26, 2016
Re: [Pharo-users] UFFI and ObjC
by stepharo
Le 26/10/16 à 12:22, Dimitris Chloupis a écrit :
> I always listen , and I did try it, same problem
>
> I am innocent your Honor
>
> Pharo Configuration worked great :)
> Do you think its worth taking a stab at Mars, is this how it works on
> macos ?
Yes :)
What would be super cool is a spec binding :)
Stef
Oct. 26, 2016
Re: [Pharo-users] UFFI and ObjC
by Dimitris Chloupis
I always listen , and I did try it, same problem
I am innocent your Honor
Pharo Configuration worked great :)
Do you think its worth taking a stab at Mars, is this how it works on macos
?
On Wed, Oct 26, 2016 at 12:54 PM Esteban Lorenzano <estebanlm(a)gmail.com>
wrote:
why nobody listens to me? :â( :â(
I said you need to load the Alien-MacOSX* packages, not a configuration :)
now you have a configuration, you can check it in my previous mail.
Esteban
ps: btw, there is a problem with callbacks I will fix now⦠these packages
has not been used since a lot of time...
On 26 Oct 2016, at 10:53, Dimitris Chloupis <kilon.alios(a)gmail.com> wrote:
Unfortunately does not load it says that a package conflicts with
Alien-core :(
"PackageConflictError: Package/Tag can not be added because it conflicts
with package Alien tag Core
RPackageOrganizer>>validateCanBeAddedPackageName:tagName:
Debug
[ (packageName includes: $-)
ifFalse: [ ^ self ].
^ self
validateCanBeAddedPackageName: (packageName copyUpToLast: $-)
tagName:
(packageName copyAfterLast: $-)
, (tagName ifNotNil: [ '-' , tagName ] ifNil: [ '' ]) ] in
RPackageOrganizer>>validateCanBeAddedPackageName:tagName: in Block: [
(packageName includes: $-)...
IdentityDictionary(Dictionary)>>at:ifAbsent:
RPackageOrganizer>>packageNamed:ifAbsent:
RPackageOrganizer>>validateCanBeAddedPackageName:tagName:
RPackageOrganizer>>validateCanBeAddedPackage:
RPackageOrganizer>>registerPackage:
RPackage>>register
[ (RPackage named: aString asSymbol) register ] in
RPackageOrganizer>>registerPackageNamed: in Block: [ (RPackage named:
aString asSymbol) register ]
IdentityDictionary(Dictionary)>>at:ifAbsent:
RPackageOrganizer>>packageNamed:ifAbsent:
RPackageOrganizer>>registerPackageNamed:
MCVersionLoader>>ensurePackage:
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] in [ | version |
version := versions first.
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] asJob
title: 'Loading ' , version info name asString;
run ] in MCVersionLoader>>load in Block: [ self ensurePackage: version
package....
BlockClosure>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in
Block: [ ^ block cull: self ]
[ p psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ p
psValueAt: index put: anObject....
BlockClosure>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in
Block: [ self prepareForRunning....
BlockClosure>>ensure:
Job>>run
[ | version |
version := versions first.
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] asJob
title: 'Loading ' , version info name asString;
run ] in MCVersionLoader>>load in Block: Debug
[ (packageName includes: $-)
ifFalse: [ ^ self ].
^ self
validateCanBeAddedPackageName: (packageName copyUpToLast: $-)
tagName:
(packageName copyAfterLast: $-)
, (tagName ifNotNil: [ '-' , tagName ] ifNil: [ '' ]) ] in
RPackageOrganizer>>validateCanBeAddedPackageName:tagName: in Block: [
(packageName includes: $-)...
IdentityDictionary(Dictionary)>>at:ifAbsent:
RPackageOrganizer>>packageNamed:ifAbsent:
RPackageOrganizer>>validateCanBeAddedPackageName:tagName:
RPackageOrganizer>>validateCanBeAddedPackage:
RPackageOrganizer>>registerPackage:
RPackage>>register
[ (RPackage named: aString asSymbol) register ] in
RPackageOrganizer>>registerPackageNamed: in Block: [ (RPackage named:
aString asSymbol) register ]
IdentityDictionary(Dictionary)>>at:ifAbsent:
RPackageOrganizer>>packageNamed:ifAbsent:
RPackageOrganizer>>registerPackageNamed:
MCVersionLoader>>ensurePackage:
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] in [ | version |
version := versions first.
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] asJob
title: 'Loading ' , version info name asString;
run ] in MCVersionLoader>>load in Block: [ self ensurePackage: version
package....
BlockClosure>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in
Block: [ ^ block cull: self ]
[ p psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ p
psValueAt: index put: anObject....
BlockClosure>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in
Block: [ self prepareForRunning....
BlockClosure>>ensure:
Job>>run
[ | version |
version := versions first.
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] asJob
title: 'Loading ' , version info name asString;
run ] in MCVersionLoader>>load in Block: RPackageConflictError:
Package/Tag can not be added because it conflicts with package Alien tag
Core
RPackageOrganizer>>validateCanBeAddedPackageName:tagName:
[ (packageName includes: $-)
ifFalse: [ ^ self ].
^ self
validateCanBeAddedPackageName: (packageName copyUpToLast: $-)
tagName:
(packageName copyAfterLast: $-)
, (tagName ifNotNil: [ '-' , tagName ] ifNil: [ '' ]) ] in
RPackageOrganizer>>validateCanBeAddedPackageName:tagName: in Block: [
(packageName includes: $-)...
IdentityDictionary(Dictionary)>>at:ifAbsent:
RPackageOrganizer>>packageNamed:ifAbsent:
RPackageOrganizer>>validateCanBeAddedPackageName:tagName:
RPackageOrganizer>>validateCanBeAddedPackage:
RPackageOrganizer>>registerPackage:
RPackage>>register
[ (RPackage named: aString asSymbol) register ] in
RPackageOrganizer>>registerPackageNamed: in Block: [ (RPackage named:
aString asSymbol) register ]
IdentityDictionary(Dictionary)>>at:ifAbsent:
RPackageOrganizer>>packageNamed:ifAbsent:
RPackageOrganizer>>registerPackageNamed:
MCVersionLoader>>ensurePackage:
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] in [ | version |
version := versions first.
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] asJob
title: 'Loading ' , version info name asString;
run ] in MCVersionLoader>>load in Block: [ self ensurePackage: version
package....
BlockClosure>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in
Block: [ ^ block cull: self ]
[ p psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ p
psValueAt: index put: anObject....
BlockClosure>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in
Block: [ self prepareForRunning....
BlockClosure>>ensure:
Job>>run
[ | version |
version := versions first.
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] asJob
title: 'Loading ' , version info name asString;
run ] in MCVersionLoader>>load in Block: "
On Wed, Oct 26, 2016 at 11:39 AM Esteban Lorenzano <estebanlm(a)gmail.com>
wrote:
you do not need UFFI for that, you already have the Alien-MacOS* packages
(not loaded by default, but you can find it at www.squeaksource.com/Alien,
I need to prepare a configuration and add a catalog entry for it).
then you can do nice things like this:
:)
On 26 Oct 2016, at 05:03, Dimitris Chloupis <kilon.alios(a)gmail.com> wrote:
Is there any information how to use UFI for calling dynamically shared ObjC
libraries ?
<Screen Shot 2016-10-26 at 10.37.54.png><Screen Shot 2016-10-26 at
10.37.54.png>
Oct. 26, 2016
Re: [Pharo-users] UFFI and ObjC
by Denis Kudriashov
2016-10-26 10:38 GMT+02:00 Esteban Lorenzano <estebanlm(a)gmail.com>:
> you do not need UFFI for that, you already have the Alien-MacOS* packages
> (not loaded by default, but you can find it at www.squeaksource.com/Alien,
> I need to prepare a configuration and add a catalog entry for it).
>
> then you can do nice things like this:
>
Nice
Oct. 26, 2016
Re: [Pharo-users] UFFI and ObjC
by Esteban Lorenzano
why nobody listens to me? :â( :â(
I said you need to load the Alien-MacOSX* packages, not a configuration :)
now you have a configuration, you can check it in my previous mail.
Esteban
ps: btw, there is a problem with callbacks I will fix now⦠these packages has not been used since a lot of time...
> On 26 Oct 2016, at 10:53, Dimitris Chloupis <kilon.alios(a)gmail.com> wrote:
>
> Unfortunately does not load it says that a package conflicts with Alien-core :(
>
> "PackageConflictError: Package/Tag can not be added because it conflicts with package Alien tag Core
> RPackageOrganizer>>validateCanBeAddedPackageName:tagName:
> Debug
> [ (packageName includes: $-)
> ifFalse: [ ^ self ].
> ^ self
> validateCanBeAddedPackageName: (packageName copyUpToLast: $-)
> tagName:
> (packageName copyAfterLast: $-)
> , (tagName ifNotNil: [ '-' , tagName ] ifNil: [ '' ]) ] in RPackageOrganizer>>validateCanBeAddedPackageName:tagName: in Block: [ (packageName includes: $-)...
> IdentityDictionary(Dictionary)>>at:ifAbsent:
> RPackageOrganizer>>packageNamed:ifAbsent:
> RPackageOrganizer>>validateCanBeAddedPackageName:tagName:
> RPackageOrganizer>>validateCanBeAddedPackage:
> RPackageOrganizer>>registerPackage:
> RPackage>>register
> [ (RPackage named: aString asSymbol) register ] in RPackageOrganizer>>registerPackageNamed: in Block: [ (RPackage named: aString asSymbol) register ]
> IdentityDictionary(Dictionary)>>at:ifAbsent:
> RPackageOrganizer>>packageNamed:ifAbsent:
> RPackageOrganizer>>registerPackageNamed:
> MCVersionLoader>>ensurePackage:
> [ self ensurePackage: version package.
> self loadWithNameLike: version info name ] in [ | version |
> version := versions first.
> [ self ensurePackage: version package.
> self loadWithNameLike: version info name ] asJob
> title: 'Loading ' , version info name asString;
> run ] in MCVersionLoader>>load in Block: [ self ensurePackage: version package....
> BlockClosure>>cull:
> [ ^ block cull: self ] in [ self prepareForRunning.
> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ ^ block cull: self ]
> [ p psValueAt: index put: anObject.
> aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ p psValueAt: index put: anObject....
> BlockClosure>>ensure:
> CurrentJob(DynamicVariable)>>value:during:
> CurrentJob class(DynamicVariable class)>>value:during:
> [ self prepareForRunning.
> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ self prepareForRunning....
> BlockClosure>>ensure:
> Job>>run
> [ | version |
> version := versions first.
> [ self ensurePackage: version package.
> self loadWithNameLike: version info name ] asJob
> title: 'Loading ' , version info name asString;
> run ] in MCVersionLoader>>load in Block: Debug
> [ (packageName includes: $-)
> ifFalse: [ ^ self ].
> ^ self
> validateCanBeAddedPackageName: (packageName copyUpToLast: $-)
> tagName:
> (packageName copyAfterLast: $-)
> , (tagName ifNotNil: [ '-' , tagName ] ifNil: [ '' ]) ] in RPackageOrganizer>>validateCanBeAddedPackageName:tagName: in Block: [ (packageName includes: $-)...
> IdentityDictionary(Dictionary)>>at:ifAbsent:
> RPackageOrganizer>>packageNamed:ifAbsent:
> RPackageOrganizer>>validateCanBeAddedPackageName:tagName:
> RPackageOrganizer>>validateCanBeAddedPackage:
> RPackageOrganizer>>registerPackage:
> RPackage>>register
> [ (RPackage named: aString asSymbol) register ] in RPackageOrganizer>>registerPackageNamed: in Block: [ (RPackage named: aString asSymbol) register ]
> IdentityDictionary(Dictionary)>>at:ifAbsent:
> RPackageOrganizer>>packageNamed:ifAbsent:
> RPackageOrganizer>>registerPackageNamed:
> MCVersionLoader>>ensurePackage:
> [ self ensurePackage: version package.
> self loadWithNameLike: version info name ] in [ | version |
> version := versions first.
> [ self ensurePackage: version package.
> self loadWithNameLike: version info name ] asJob
> title: 'Loading ' , version info name asString;
> run ] in MCVersionLoader>>load in Block: [ self ensurePackage: version package....
> BlockClosure>>cull:
> [ ^ block cull: self ] in [ self prepareForRunning.
> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ ^ block cull: self ]
> [ p psValueAt: index put: anObject.
> aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ p psValueAt: index put: anObject....
> BlockClosure>>ensure:
> CurrentJob(DynamicVariable)>>value:during:
> CurrentJob class(DynamicVariable class)>>value:during:
> [ self prepareForRunning.
> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ self prepareForRunning....
> BlockClosure>>ensure:
> Job>>run
> [ | version |
> version := versions first.
> [ self ensurePackage: version package.
> self loadWithNameLike: version info name ] asJob
> title: 'Loading ' , version info name asString;
> run ] in MCVersionLoader>>load in Block: RPackageConflictError: Package/Tag can not be added because it conflicts with package Alien tag Core
> RPackageOrganizer>>validateCanBeAddedPackageName:tagName:
> [ (packageName includes: $-)
> ifFalse: [ ^ self ].
> ^ self
> validateCanBeAddedPackageName: (packageName copyUpToLast: $-)
> tagName:
> (packageName copyAfterLast: $-)
> , (tagName ifNotNil: [ '-' , tagName ] ifNil: [ '' ]) ] in RPackageOrganizer>>validateCanBeAddedPackageName:tagName: in Block: [ (packageName includes: $-)...
> IdentityDictionary(Dictionary)>>at:ifAbsent:
> RPackageOrganizer>>packageNamed:ifAbsent:
> RPackageOrganizer>>validateCanBeAddedPackageName:tagName:
> RPackageOrganizer>>validateCanBeAddedPackage:
> RPackageOrganizer>>registerPackage:
> RPackage>>register
> [ (RPackage named: aString asSymbol) register ] in RPackageOrganizer>>registerPackageNamed: in Block: [ (RPackage named: aString asSymbol) register ]
> IdentityDictionary(Dictionary)>>at:ifAbsent:
> RPackageOrganizer>>packageNamed:ifAbsent:
> RPackageOrganizer>>registerPackageNamed:
> MCVersionLoader>>ensurePackage:
> [ self ensurePackage: version package.
> self loadWithNameLike: version info name ] in [ | version |
> version := versions first.
> [ self ensurePackage: version package.
> self loadWithNameLike: version info name ] asJob
> title: 'Loading ' , version info name asString;
> run ] in MCVersionLoader>>load in Block: [ self ensurePackage: version package....
> BlockClosure>>cull:
> [ ^ block cull: self ] in [ self prepareForRunning.
> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ ^ block cull: self ]
> [ p psValueAt: index put: anObject.
> aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ p psValueAt: index put: anObject....
> BlockClosure>>ensure:
> CurrentJob(DynamicVariable)>>value:during:
> CurrentJob class(DynamicVariable class)>>value:during:
> [ self prepareForRunning.
> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ self prepareForRunning....
> BlockClosure>>ensure:
> Job>>run
> [ | version |
> version := versions first.
> [ self ensurePackage: version package.
> self loadWithNameLike: version info name ] asJob
> title: 'Loading ' , version info name asString;
> run ] in MCVersionLoader>>load in Block: "
>
> On Wed, Oct 26, 2016 at 11:39 AM Esteban Lorenzano <estebanlm(a)gmail.com <mailto:estebanlm@gmail.com>> wrote:
> you do not need UFFI for that, you already have the Alien-MacOS* packages (not loaded by default, but you can find it at www.squeaksource.com/Alien <http://www.squeaksource.com/Alien>, I need to prepare a configuration and add a catalog entry for it).
>
> then you can do nice things like this:
>
>
>
>
> :)
>
>
>
>> On 26 Oct 2016, at 05:03, Dimitris Chloupis <kilon.alios(a)gmail.com <mailto:kilon.alios@gmail.com>> wrote:
>>
>> Is there any information how to use UFI for calling dynamically shared ObjC libraries ?
>
> <Screen Shot 2016-10-26 at 10.37.54.png><Screen Shot 2016-10-26 at 10.37.54.png>
Oct. 26, 2016