Re: [Pharo-users] Beginner of smalltalk 80 - first graphic windows and GUI -2

2014-11-26 Thread kilon alios
Hello Hans

My opinion is that you waste your time trying to find a smalltalk 80 just
because you were used to it. Its like me returning back to GWBASIC which is
the first programming language I learned to use back in 1988. Why use
something so old that cant take advantage of new technology and new
software ? It will only make suffer and limit you in many diffirent ways.

Pharo is a modern implementation of smalltalk it does not try to stick to
the past it prefers to embrace the future of smalltalk.

Morphic is what Pharo has inherited from Squeak and is by far the most
dominant and most mature GUI API of Pharo. New kids in the block graphic
wise is Spec , Athens and Roassal.The only common amongst those three is
that they are no GUI APIs but they are graphic libraries

Spec is wrapper above GUI APIs currently it wraps only Morphic and makes it
easier to create complex GUIs. Unlike Morphic however has  a steep learning
curve but pharoers prefer it because it is easier to manage. Spec
documentation is in a dedicate site (Just google "spec pharo" and you will
find it)  and in Pharo For The Enterprise book.

Athens is also similarly to spec a wrapper above vector graphics libraries
, currently it wraps the cairo libraries and can mix with Morphic . Athens
docs are in Pharo For The Enterprise book plus there is a athens
interactive tutorial in smalltalkhub

Roassal is part of the moose tools a collection of tools for the
visualisation and organisation of code. Roassal is also a wrapper above
graphic libraries , it wraps both Morphic and Athens and it has also some
GUI classes . Roassal documentation is in Deep Into Pharo and I think it
has a chapter in Pharo for the Enterprise. Agains all these doc are easily
revealed with a simple google search.

GUI wise I will say that Morphic is still the undisputed king and Spec
becomes slowly very popular as a way to manage Morphic easily.

There is also a new and only Morphic replacement in the works that is
called Bloc but I have not tested to provide information about it.

So both Morphic and Spec are viable options. Obviously Morphic is more
documented because of Squeak but Spec is more actively developed right now
in Pharo.

Whatever you pick any problems you have you ask here and you get your
questions answered and you can also ask at stackoverflow if you have
already an account there.

There are also other GUI and Graphic libraries inside Pharo and outside
Pharo , Pharo like squeak comes with several FFIs that allows you to use
external C / C++ library (C++ libraries will have to be wrapped as C
libraries) which this alone give you access to pretty much every GUI
libraries that popular languages use. JNIPORT is Smalltalk library that
allow Pharo to use Java libraries so you can also use Swing. I am also
working on a way to allow Pharo to use Python libraries , I was partly
successful into creating QT GUIs via pyQT which is the python wrappers for
QT GUI API . QT is probably the most powerful GUI library out and so much
more than that.

So in reality you have like a ton of options , everything comes with its
advantages and disadvantages but for now Morphic and Spec should be enough
for your needs.


Re: [Pharo-users] Alternate browser

2014-11-26 Thread kilon alios
"Kilon is looking to see if he can build one. I believe he can :)"

I wont be building one from scratch , I like your AltBrowser too much to do
that. You basically took the 4 panels of the System Browser and reduced
them to 2 panels. My goal will be to reduce them to one panel .For that to
happens I already forked your browser and I will adding small changes here
and there.

I am also interested how to make text code more visual, think of it like
adding halos to code itself. I am very interested into visual coding. Other
ideas I have is dynamic documentation inside the same panel and also the
ability to tag methods and classes for easier browsing. So mine will be
just an extension to yours. One step at a time and see where it takes me.


Re: [Pharo-users] ViDI Error: glx not supported

2014-11-27 Thread kilon alios
What is Vidi  ? cant find it in smalltalkhub

On Thu, Nov 27, 2014 at 10:57 AM, Yuriy Tymchuk 
wrote:

> Hi Rafael,
>
> thank you for your interest in ViDI. I have not used Pharo on Linux, but I
> hope that soon we will find a solution for this :)
>
> Uko
>
> > On 27 Nov 2014, at 01:41, Rafael Luque 
> wrote:
> >
> > Hi,
> >
> > I installed ViDI on Pharo 4 following the project instructions detailed
> in its GitHub page:
> >
> > Gofer new
> >   smalltalkhubUser: 'YuriyTymchuk'
> >   project: 'Configuration';
> >   configurationOf: 'Vidi';
> >   load.
> > #ConfigurationOfVidi asClass loadStable
> >
> > When I launch the ViDI option I get the error: "Error: glx not
> supported".
> >
> > I'm using Gentoo Linux with NVidia Optimus graphic card, so I use
> bumblebee to switch to NVidia and launched pharo using optirun command like
> this:
> >
> > $ optirun pharo-ui my-image
> >
> > I get glxspheres64 running successfully using the same procedure.
> >
> > How can I activate GLX support inside the Pharo image? I noted the
> option System > Settings > FFI > "Path to OpenGL library (on linux)"
> however I don't see (or I don't know) how to set this value.
> >
> > Thank you.
>
>
>


Re: [Pharo-users] ViDI Error: glx not supported

2014-11-27 Thread kilon alios
"http://vidi.inf.usi.ch";

thanks

"ViDI is a tool I’m developing to review the code. I host it on github:
https://github.com/Uko/Vidi/";

great work Yuriy looks very impressive definitely will give it a try.
Another toy for my collection and very productive one it seems :)


Re: [Pharo-users] ViDI Error: glx not supported

2014-11-27 Thread kilon alios
thats one of the great things about github is how easy it is to report
issues and problem and engage the developers into discussion without having
to detract attention to a mailing list. You can even attach pull requests
to issues that offer code for solving these problems. So yes I will be
definitely reporting back any issues I have , maybe even send you a few
pull requests if the fix is easy for me to do.

On Thu, Nov 27, 2014 at 12:23 PM, Yuriy Tymchuk 
wrote:

>
> On 27 Nov 2014, at 10:59, kilon alios  wrote:
>
> "http://vidi.inf.usi.ch";
>
> thanks
>
> "ViDI is a tool I’m developing to review the code. I host it on github:
> https://github.com/Uko/Vidi/";
>
> great work Yuriy looks very impressive definitely will give it a try.
> Another toy for my collection and very productive one it seems :)
>
>
>
> Thank you Kilon.
>
> ViDI is still under heavy development, but your feedback is much
> appreciated :).
>
> Feel free to open bug reports and feature requests at:
> https://github.com/Uko/Vidi/issues
>
> As you can see, my first beta tester Roberto Minelli discovered a lot of
> these.
>
> Uko
>


Re: [Pharo-users] ViDI Error: glx not supported

2014-11-27 Thread kilon alios
frankly I dont consider Pharo versioning system as mature as git and
github. For example how git is doing branches and monticello is doing them,
or comparing pharo slices to git pull requests. Then you have also tons of
tools on the market that are very efficient at managing git with no
equivalent tools in pharo. I could not even use monticello if I had not
read the PBE. Never opened a manual using SmartGit. But on the other hand
people are free to use whatever makes them comfortable and I dont think we
need to wait for everyone to migrate to git and github or other versioning
systems. At least for me git already works great with Pharo.

On Thu, Nov 27, 2014 at 2:20 PM, Yuriy Tymchuk  wrote:

>
> On 27 Nov 2014, at 12:07, kilon alios  wrote:
>
> thats one of the great things about github is how easy it is to report
> issues and problem and engage the developers into discussion without having
> to detract attention to a mailing list. You can even attach pull requests
> to issues that offer code for solving these problems. So yes I will be
> definitely reporting back any issues I have , maybe even send you a few
> pull requests if the fix is easy for me to do.
>
>
> Thanks Kilon. And yes, you are right, github in fact provides a lot of
> features, but out git support is not mature enough. Maybe one day everyone
> will migrate…
>
> Uko
>
>
>
> On Thu, Nov 27, 2014 at 12:23 PM, Yuriy Tymchuk 
> wrote:
>
>>
>> On 27 Nov 2014, at 10:59, kilon alios  wrote:
>>
>> "http://vidi.inf.usi.ch";
>>
>> thanks
>>
>> "ViDI is a tool I’m developing to review the code. I host it on github:
>> https://github.com/Uko/Vidi/";
>>
>> great work Yuriy looks very impressive definitely will give it a try.
>> Another toy for my collection and very productive one it seems :)
>>
>>
>>
>> Thank you Kilon.
>>
>> ViDI is still under heavy development, but your feedback is much
>> appreciated :).
>>
>> Feel free to open bug reports and feature requests at:
>> https://github.com/Uko/Vidi/issues
>>
>> As you can see, my first beta tester Roberto Minelli discovered a lot of
>> these.
>>
>> Uko
>>
>
>
>


Re: [Pharo-users] ViDI Error: glx not supported

2014-11-27 Thread kilon alios
Maybe its time for me to make a video tutorial about it and lift the myth
that is not dead easy to use git with pharo. Right not it :)



On Thu, Nov 27, 2014 at 5:20 PM, Yuriy Tymchuk  wrote:

> I’m not comparing Monticello and Git, I’m just saying that we don’t have
> tools to work with git that could be easily used by all users.
>
> Uko
>
>
> On 27 Nov 2014, at 15:38, kilon alios  wrote:
>
> frankly I dont consider Pharo versioning system as mature as git and
> github. For example how git is doing branches and monticello is doing them,
> or comparing pharo slices to git pull requests. Then you have also tons of
> tools on the market that are very efficient at managing git with no
> equivalent tools in pharo. I could not even use monticello if I had not
> read the PBE. Never opened a manual using SmartGit. But on the other hand
> people are free to use whatever makes them comfortable and I dont think we
> need to wait for everyone to migrate to git and github or other versioning
> systems. At least for me git already works great with Pharo.
>
> On Thu, Nov 27, 2014 at 2:20 PM, Yuriy Tymchuk 
> wrote:
>
>>
>> On 27 Nov 2014, at 12:07, kilon alios  wrote:
>>
>> thats one of the great things about github is how easy it is to report
>> issues and problem and engage the developers into discussion without having
>> to detract attention to a mailing list. You can even attach pull requests
>> to issues that offer code for solving these problems. So yes I will be
>> definitely reporting back any issues I have , maybe even send you a few
>> pull requests if the fix is easy for me to do.
>>
>>
>> Thanks Kilon. And yes, you are right, github in fact provides a lot of
>> features, but out git support is not mature enough. Maybe one day everyone
>> will migrate…
>>
>> Uko
>>
>>
>>
>> On Thu, Nov 27, 2014 at 12:23 PM, Yuriy Tymchuk 
>> wrote:
>>
>>>
>>> On 27 Nov 2014, at 10:59, kilon alios  wrote:
>>>
>>> "http://vidi.inf.usi.ch";
>>>
>>> thanks
>>>
>>> "ViDI is a tool I’m developing to review the code. I host it on github:
>>> https://github.com/Uko/Vidi/";
>>>
>>> great work Yuriy looks very impressive definitely will give it a try.
>>> Another toy for my collection and very productive one it seems :)
>>>
>>>
>>>
>>> Thank you Kilon.
>>>
>>> ViDI is still under heavy development, but your feedback is much
>>> appreciated :).
>>>
>>> Feel free to open bug reports and feature requests at:
>>> https://github.com/Uko/Vidi/issues
>>>
>>> As you can see, my first beta tester Roberto Minelli discovered a lot of
>>> these.
>>>
>>> Uko
>>>
>>
>>
>>
>
>


Re: [Pharo-users] ViDI Error: glx not supported

2014-11-27 Thread kilon alios
done I am uploading it , should be online in an hour and a half, my
connection is dead slow . 2 hours upload for 10 minutes 720 HD video :D
will make a separate thread for announcing it.

On Thu, Nov 27, 2014 at 9:05 PM, Yuriy Tymchuk  wrote:

>
> On 27 Nov 2014, at 17:13, kilon alios  wrote:
>
> Maybe its time for me to make a video tutorial about it and lift the myth
> that is not dead easy to use git with pharo. Right not it :)
>
>
> Yes, we definitely need more tutorials. I’ll appreciate git-related video.
>
>
> Uko
>
>
>
>
>
> On Thu, Nov 27, 2014 at 5:20 PM, Yuriy Tymchuk 
> wrote:
>
>> I’m not comparing Monticello and Git, I’m just saying that we don’t have
>> tools to work with git that could be easily used by all users.
>>
>> Uko
>>
>>
>> On 27 Nov 2014, at 15:38, kilon alios  wrote:
>>
>> frankly I dont consider Pharo versioning system as mature as git and
>> github. For example how git is doing branches and monticello is doing them,
>> or comparing pharo slices to git pull requests. Then you have also tons of
>> tools on the market that are very efficient at managing git with no
>> equivalent tools in pharo. I could not even use monticello if I had not
>> read the PBE. Never opened a manual using SmartGit. But on the other hand
>> people are free to use whatever makes them comfortable and I dont think we
>> need to wait for everyone to migrate to git and github or other versioning
>> systems. At least for me git already works great with Pharo.
>>
>> On Thu, Nov 27, 2014 at 2:20 PM, Yuriy Tymchuk 
>> wrote:
>>
>>>
>>> On 27 Nov 2014, at 12:07, kilon alios  wrote:
>>>
>>> thats one of the great things about github is how easy it is to report
>>> issues and problem and engage the developers into discussion without having
>>> to detract attention to a mailing list. You can even attach pull requests
>>> to issues that offer code for solving these problems. So yes I will be
>>> definitely reporting back any issues I have , maybe even send you a few
>>> pull requests if the fix is easy for me to do.
>>>
>>>
>>> Thanks Kilon. And yes, you are right, github in fact provides a lot of
>>> features, but out git support is not mature enough. Maybe one day everyone
>>> will migrate…
>>>
>>> Uko
>>>
>>>
>>>
>>> On Thu, Nov 27, 2014 at 12:23 PM, Yuriy Tymchuk 
>>> wrote:
>>>
>>>>
>>>> On 27 Nov 2014, at 10:59, kilon alios  wrote:
>>>>
>>>> "http://vidi.inf.usi.ch";
>>>>
>>>> thanks
>>>>
>>>> "ViDI is a tool I’m developing to review the code. I host it on
>>>> github: https://github.com/Uko/Vidi/";
>>>>
>>>> great work Yuriy looks very impressive definitely will give it a try.
>>>> Another toy for my collection and very productive one it seems :)
>>>>
>>>>
>>>>
>>>> Thank you Kilon.
>>>>
>>>> ViDI is still under heavy development, but your feedback is much
>>>> appreciated :).
>>>>
>>>> Feel free to open bug reports and feature requests at:
>>>> https://github.com/Uko/Vidi/issues
>>>>
>>>> As you can see, my first beta tester Roberto Minelli discovered a lot
>>>> of these.
>>>>
>>>> Uko
>>>>
>>>
>>>
>>>
>>
>>
>
>


Re: [Pharo-users] Alternate browser

2014-11-29 Thread kilon alios
"- I wonder how to get back to Nautilus. It would be nice to be able to use
both."

thats an annoyance for me too, I would like to be given the option to
choose what browser I want to use depending on the situation.

Also your comment on the comments is a valid one, I think we need a more
dynamic browser in general which currently Pharo lacks, that does not try
to choose for us how to do coding and instead gives us the choices . Of
course dynamic browsers are more effort.


Re: [Pharo-users] Alternate browser

2014-12-01 Thread kilon alios
"A Moldable system browser?

The old system browser is dynamic, in a way: class / hierarchy / full.
Changes based on what was your focus. The message list as well, the finder
UI as well. But... complex, not that convincing."

yes exactly . Why bother making a system browser that can do tons of things
when you can build a browser that is easy to customise gui wise and
features wise ? Users will come and extend it far beyond that what a
few developers can do.

Same as games really, you have something like Skyrim and then you have like
tons of mods for it that some are even better than the game itself.

I think generally what Pharo lacks is an ADDONS API like Blender. An API
that would make it easy for users to customise Pharo on the fly. Of course
its really good that we have such direct and live access to the source code
of Pharo but sometimes you dont want to learn a ton of stuff to change just
a few bits.

On Sat, Nov 29, 2014 at 6:21 PM, Thierry Goubier 
wrote:

> Le 29/11/2014 11:39, kilon alios a écrit :
>
>>
>> "- I wonder how to get back to Nautilus. It would be nice to be able to
>> use both."
>>
>> thats an annoyance for me too, I would like to be given the option to
>> choose what browser I want to use depending on the situation.
>>
>
> Doing that is just triggering a nice bug in Pharo 3.
>
> There is apparently no real API for unregistering a tool...
>
>  Also your comment on the comments is a valid one, I think we need a more
>> dynamic browser in general which currently Pharo lacks, that does not
>> try to choose for us how to do coding and instead gives us the choices .
>> Of course dynamic browsers are more effort.
>>
>
> A Moldable system browser?
>
> The old system browser is dynamic, in a way: class / hierarchy / full.
> Changes based on what was your focus. The message list as well, the finder
> UI as well. But... complex, not that convincing.
>
> Thierry
>
>


Re: [Pharo-users] Alternate browser

2014-12-01 Thread kilon alios
"Take the inspector for example. It is a tiny piece of code that can be
extended in many ways and in doing so, it can support various workflows."

What is its API and where is documented ?


Re: [Pharo-users] Alternate browser

2014-12-01 Thread kilon alios
"So, here is the main page:"

thanks for links really impressive what you trying to do with GT tools, but
I still cannot find documentation about the API of extending GT-Inspector

following your link here
http://www.humane-assessment.com/blog/managing-gtinspector-extensions/

GTInspector class>>gtInspectorExtensionsIn: composite
  
  composite list
title: 'Extensions';
display: [
  (Object withAllSubclasses flatCollect: [ :each |
  (Pragma
allNamed: #gtInspectorPresentationOrder:
in: each)
collect: [:p | p method asRingDefinition] ]) sorted ];
format: #gtDisplayString;
filterOn: [ :text :each |
  each gtDisplayString includesSubstring: text caseSensitive: false ]

for example I have tried this  and works fine and well, but since does
not tell me anything about the API , for example what composite is, or
where title and display come to play and generally how I can use this
customisability for my classes. Your other dont help on this issue
either.

I did not know that you can use GTInspector as a browser replacement.
I am impressed :)


Re: [Pharo-users] Alternate browser

2014-12-01 Thread kilon alios
"But I don't understand it that well either, I just look at examples: find
another inspector pane that looks or acts the way you want and go from
there."

I think its reasonable to assume that if someone does not find
documentation will at least try to find examples. But example dont tell the
full story , they dont describe intent, the why and the how, they only
describe the what.

In any case thanks for the pointers, I have not considered GTInspector and
GT tools and I should have because they really back some very useful
features and they seem quite customisable.


Re: [Pharo-users] Alternate browser

2014-12-02 Thread kilon alios
"In my image, I have 144 such extensions taking on average 9 lines of code."

Impressive then apparently GT tools goes exactly the direction I wanted. I
was aware of Glamour but to be frank I have not seen anyone else use it but
you guys so I was kinda sceptical about it and did not took it very
seriously. I was not aware that GT tools were built on top of Glamour and
this certainly gives it more credit, I thought it was merely for making
custom browsers looks like its a lot more than that. Thank you Tudor you
gave me a lot of to read.

I definetly when to develop my tools and libraries in sync to the direction
Pharo is going so I can take advantage of the existing code and not
reinvent the wheel. So now I will sit down and study all these technologies
and see how I can utilise them better in my workflow. Thank you for you
hard work and taking the time explaining.

On Tue, Dec 2, 2014 at 12:29 AM, Sven Van Caekenberghe  wrote:

>
> > On 01 Dec 2014, at 23:06, Tudor Girba  wrote:
> >
> > Glamour is an engine by itself, but for the inspector you mainly need
> the presentations, which are essentially widgets that can be parameterized
> through blocks. A custom presentation like this typically requires one
> method. If you want to get examples of how to apply it for the inspector,
> you can use the inspector to answer that question, as described here:
> > http://www.humane-assessment.com/blog/managing-gtinspector-extensions/
>
> Yes, yes, very nice.
>


Re: [Pharo-users] [Esug-list] [ann] gtspotter: a moldable interface for spotting objects

2014-12-08 Thread kilon alios
Dont know if this is auto completion replacement or not, from the looks of
it seem a lot more than that. Auto completion is one of the thing that
annoys me in Pharo and this looks like a very good replacement.

So the gui is also made with Glamour ?

Look very good looking and very useful cant wait to try it :)

On Tue, Dec 9, 2014 at 12:36 AM, Tudor Girba  wrote:

> Thanks for the suggestions, Johan. I will change the text and we will
> definitely look into making the shortcuts more apparent.
>
> Cheers,
> Doru
>
> On Mon, Dec 8, 2014 at 5:17 PM, Johan Fabry  wrote:
>
>>
>> OK now I get it … thanks for clarifying!
>> I think my confusion stems from the use of ‘category' and then talking
>> about 'the collection object’, which made me think about collections and
>> source code and protocols and packages and I got lost.
>>
>> I think that the sentence of the blog would be clearer like this
>> (uppercase to show changes):
>>
>> To do this, GTSpotter offers an extra action: diving in a RESULTS
>> category. Pressing Cmd+Shift+ArrowRight dives in the collection OF RESULTS
>> OF that category. Thus, we can continue refining the search inside the
>> category.
>>
>> So then, my suggestion for a legend at the bottom of the results list
>> would be:
>> Cmd+Shift+ArrowUp/ArrowDown = Next/Prev category, Cmd+RightArrow = Dive
>> into Result, Cmd+Shift+RightArrow = Dive into Category
>>
>> > On Dec 8, 2014, at 12:48, Tudor Girba  wrote:
>> >
>> > Hi,
>> >
>> > Ok. Let's take it step by step and see if we cannot find a better way
>> of explaining.
>> >
>> > Take a look at the first picture in the blog post. Entering GTSpo shows
>> results both for Classes and for Packages. These "Classes" and "Packages"
>> are what we call search categories, and they have associated a query
>> processor that can populate them with results (see the "Spotting your
>> objects" section from the bottom of the post).
>> >
>> > In our case, we get 39 classes (of which only 5 are shown) and 1
>> package that match the query. If you want to look at all those 39 classes,
>> you can dive in the whole collection behind the category in a separate
>> step. This is achieved through Cmd+Shift+ArrowRight. Does it make more
>> sense now?
>> >
>> > I did not consider the category to be confusing. Would you propose
>> another name?
>> >
>> > Cheers,
>> > Doru
>> >
>> >
>> > On Mon, Dec 8, 2014 at 4:02 PM, Johan Fabry 
>> wrote:
>> > Sorry, but no :-(
>> >
>> > I am always confused when people say ‘category’ because the word has so
>> many overloaded meanings. The same happens in the blog post, it is not
>> clear to me what category means here, and what does it have to do with the
>> collection object?
>> >
>> > > On Dec 7, 2014, at 11:16, Tudor Girba  wrote:
>> > >
>> > > Hi,
>> > >
>> > > Yes, we will still evolve the UI. At the very least you will get the
>> shortkeys directly on the actions.
>> > >
>> > > The answer to your question is in the blog post:
>> > > GTSpotter offers an extra action: diving in a category. Pressing
>> Cmd+Shift+ArrowRight dives in the collection object containing only the
>> items from that category. Thus, we can continue refining the search inside
>> the category.
>> > >
>> > > So, you will open the collection of that sub-category and you will
>> see more items at once (not just 5). Is it clearer now?
>> > >
>> > > Cheers,
>> > > Doru
>> >
>> >
>> >
>> > ---> Save our in-boxes! http://emailcharter.org <---
>> >
>> > Johan Fabry   -   http://pleiad.cl/~jfabry
>> > PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile
>> >
>> >
>> >
>> >
>> > --
>> > www.tudorgirba.com
>> >
>> > "Every thing has its own flow"
>>
>>
>>
>> ---> Save our in-boxes! http://emailcharter.org <---
>>
>> Johan Fabry   -   http://pleiad.cl/~jfabry
>> PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile
>>
>>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>


Re: [Pharo-users] [Esug-list] [ann] gtspotter: a moldable interface for spotting objects

2014-12-09 Thread kilon alios
sounds very interesting cant wait to try it and take a look also at Brick.

On Tue, Dec 9, 2014 at 1:35 AM, Andrei Chis 
wrote:

>
>
> On Mon, Dec 8, 2014 at 8:02 PM, kilon alios  wrote:
>
>> Dont know if this is auto completion replacement or not, from the looks
>> of it seem a lot more than that. Auto completion is one of the thing that
>> annoys me in Pharo and this looks like a very good replacement.
>>
>> So the gui is also made with Glamour ?
>>
>
> No it's in Brick. Brick is a small extension that we made to Morphic to
> make it a little more faster and to control resizing better.
> So it's Morphic not Glamour :)
>
>
> Cheers,
> Andrei
>
>
>>
>> Look very good looking and very useful cant wait to try it :)
>>
>> On Tue, Dec 9, 2014 at 12:36 AM, Tudor Girba 
>> wrote:
>>
>>> Thanks for the suggestions, Johan. I will change the text and we will
>>> definitely look into making the shortcuts more apparent.
>>>
>>> Cheers,
>>> Doru
>>>
>>> On Mon, Dec 8, 2014 at 5:17 PM, Johan Fabry 
>>> wrote:
>>>
>>>>
>>>> OK now I get it … thanks for clarifying!
>>>> I think my confusion stems from the use of ‘category' and then talking
>>>> about 'the collection object’, which made me think about collections and
>>>> source code and protocols and packages and I got lost.
>>>>
>>>> I think that the sentence of the blog would be clearer like this
>>>> (uppercase to show changes):
>>>>
>>>> To do this, GTSpotter offers an extra action: diving in a RESULTS
>>>> category. Pressing Cmd+Shift+ArrowRight dives in the collection OF RESULTS
>>>> OF that category. Thus, we can continue refining the search inside the
>>>> category.
>>>>
>>>> So then, my suggestion for a legend at the bottom of the results list
>>>> would be:
>>>> Cmd+Shift+ArrowUp/ArrowDown = Next/Prev category, Cmd+RightArrow = Dive
>>>> into Result, Cmd+Shift+RightArrow = Dive into Category
>>>>
>>>> > On Dec 8, 2014, at 12:48, Tudor Girba  wrote:
>>>> >
>>>> > Hi,
>>>> >
>>>> > Ok. Let's take it step by step and see if we cannot find a better way
>>>> of explaining.
>>>> >
>>>> > Take a look at the first picture in the blog post. Entering GTSpo
>>>> shows results both for Classes and for Packages. These "Classes" and
>>>> "Packages" are what we call search categories, and they have associated a
>>>> query processor that can populate them with results (see the "Spotting your
>>>> objects" section from the bottom of the post).
>>>> >
>>>> > In our case, we get 39 classes (of which only 5 are shown) and 1
>>>> package that match the query. If you want to look at all those 39 classes,
>>>> you can dive in the whole collection behind the category in a separate
>>>> step. This is achieved through Cmd+Shift+ArrowRight. Does it make more
>>>> sense now?
>>>> >
>>>> > I did not consider the category to be confusing. Would you propose
>>>> another name?
>>>> >
>>>> > Cheers,
>>>> > Doru
>>>> >
>>>> >
>>>> > On Mon, Dec 8, 2014 at 4:02 PM, Johan Fabry 
>>>> wrote:
>>>> > Sorry, but no :-(
>>>> >
>>>> > I am always confused when people say ‘category’ because the word has
>>>> so many overloaded meanings. The same happens in the blog post, it is not
>>>> clear to me what category means here, and what does it have to do with the
>>>> collection object?
>>>> >
>>>> > > On Dec 7, 2014, at 11:16, Tudor Girba  wrote:
>>>> > >
>>>> > > Hi,
>>>> > >
>>>> > > Yes, we will still evolve the UI. At the very least you will get
>>>> the shortkeys directly on the actions.
>>>> > >
>>>> > > The answer to your question is in the blog post:
>>>> > > GTSpotter offers an extra action: diving in a category. Pressing
>>>> Cmd+Shift+ArrowRight dives in the collection object containing only the
>>>> items from that category. Thus, we can continue refining the search inside
>>>> the category.
>>>> > >
>>>> > > So, you will open the collection of that sub-category and you will
>>>> see more items at once (not just 5). Is it clearer now?
>>>> > >
>>>> > > Cheers,
>>>> > > Doru
>>>> >
>>>> >
>>>> >
>>>> > ---> Save our in-boxes! http://emailcharter.org <---
>>>> >
>>>> > Johan Fabry   -   http://pleiad.cl/~jfabry
>>>> > PLEIAD lab  -  Computer Science Department (DCC)  -  University of
>>>> Chile
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > www.tudorgirba.com
>>>> >
>>>> > "Every thing has its own flow"
>>>>
>>>>
>>>>
>>>> ---> Save our in-boxes! http://emailcharter.org <---
>>>>
>>>> Johan Fabry   -   http://pleiad.cl/~jfabry
>>>> PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile
>>>>
>>>>
>>>
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Every thing has its own flow"
>>>
>>
>>
>


Re: [Pharo-users] [Esug-list] [ann] gtspotter: a moldable interface for spotting objects

2014-12-09 Thread kilon alios
So how I can give this a try, I downloaded latest moose 5.0 and there is no
GTSpotter inside

On Tue, Dec 9, 2014 at 10:27 AM, kilon alios  wrote:

> sounds very interesting cant wait to try it and take a look also at Brick.
>
> On Tue, Dec 9, 2014 at 1:35 AM, Andrei Chis 
> wrote:
>
>>
>>
>> On Mon, Dec 8, 2014 at 8:02 PM, kilon alios 
>> wrote:
>>
>>> Dont know if this is auto completion replacement or not, from the looks
>>> of it seem a lot more than that. Auto completion is one of the thing that
>>> annoys me in Pharo and this looks like a very good replacement.
>>>
>>> So the gui is also made with Glamour ?
>>>
>>
>> No it's in Brick. Brick is a small extension that we made to Morphic to
>> make it a little more faster and to control resizing better.
>> So it's Morphic not Glamour :)
>>
>>
>> Cheers,
>> Andrei
>>
>>
>>>
>>> Look very good looking and very useful cant wait to try it :)
>>>
>>> On Tue, Dec 9, 2014 at 12:36 AM, Tudor Girba 
>>> wrote:
>>>
>>>> Thanks for the suggestions, Johan. I will change the text and we will
>>>> definitely look into making the shortcuts more apparent.
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>> On Mon, Dec 8, 2014 at 5:17 PM, Johan Fabry 
>>>> wrote:
>>>>
>>>>>
>>>>> OK now I get it … thanks for clarifying!
>>>>> I think my confusion stems from the use of ‘category' and then talking
>>>>> about 'the collection object’, which made me think about collections and
>>>>> source code and protocols and packages and I got lost.
>>>>>
>>>>> I think that the sentence of the blog would be clearer like this
>>>>> (uppercase to show changes):
>>>>>
>>>>> To do this, GTSpotter offers an extra action: diving in a RESULTS
>>>>> category. Pressing Cmd+Shift+ArrowRight dives in the collection OF RESULTS
>>>>> OF that category. Thus, we can continue refining the search inside the
>>>>> category.
>>>>>
>>>>> So then, my suggestion for a legend at the bottom of the results list
>>>>> would be:
>>>>> Cmd+Shift+ArrowUp/ArrowDown = Next/Prev category, Cmd+RightArrow =
>>>>> Dive into Result, Cmd+Shift+RightArrow = Dive into Category
>>>>>
>>>>> > On Dec 8, 2014, at 12:48, Tudor Girba  wrote:
>>>>> >
>>>>> > Hi,
>>>>> >
>>>>> > Ok. Let's take it step by step and see if we cannot find a better
>>>>> way of explaining.
>>>>> >
>>>>> > Take a look at the first picture in the blog post. Entering GTSpo
>>>>> shows results both for Classes and for Packages. These "Classes" and
>>>>> "Packages" are what we call search categories, and they have associated a
>>>>> query processor that can populate them with results (see the "Spotting 
>>>>> your
>>>>> objects" section from the bottom of the post).
>>>>> >
>>>>> > In our case, we get 39 classes (of which only 5 are shown) and 1
>>>>> package that match the query. If you want to look at all those 39 classes,
>>>>> you can dive in the whole collection behind the category in a separate
>>>>> step. This is achieved through Cmd+Shift+ArrowRight. Does it make more
>>>>> sense now?
>>>>> >
>>>>> > I did not consider the category to be confusing. Would you propose
>>>>> another name?
>>>>> >
>>>>> > Cheers,
>>>>> > Doru
>>>>> >
>>>>> >
>>>>> > On Mon, Dec 8, 2014 at 4:02 PM, Johan Fabry 
>>>>> wrote:
>>>>> > Sorry, but no :-(
>>>>> >
>>>>> > I am always confused when people say ‘category’ because the word has
>>>>> so many overloaded meanings. The same happens in the blog post, it is not
>>>>> clear to me what category means here, and what does it have to do with the
>>>>> collection object?
>>>>> >
>>>>> > > On Dec 7, 2014, at 11:16, Tudor Girba 
>>>>> wrote:
>>>>> > >
>>>>> > > Hi,
>>>>> > >
>>>>> > > Yes, we will still evolve the UI. At the very least you will get
>>>>> the shortkeys directly on the actions.
>>>>> > >
>>>>> > > The answer to your question is in the blog post:
>>>>> > > GTSpotter offers an extra action: diving in a category. Pressing
>>>>> Cmd+Shift+ArrowRight dives in the collection object containing only the
>>>>> items from that category. Thus, we can continue refining the search inside
>>>>> the category.
>>>>> > >
>>>>> > > So, you will open the collection of that sub-category and you will
>>>>> see more items at once (not just 5). Is it clearer now?
>>>>> > >
>>>>> > > Cheers,
>>>>> > > Doru
>>>>> >
>>>>> >
>>>>> >
>>>>> > ---> Save our in-boxes! http://emailcharter.org <---
>>>>> >
>>>>> > Johan Fabry   -   http://pleiad.cl/~jfabry
>>>>> > PLEIAD lab  -  Computer Science Department (DCC)  -  University of
>>>>> Chile
>>>>> >
>>>>> >
>>>>> >
>>>>> >
>>>>> > --
>>>>> > www.tudorgirba.com
>>>>> >
>>>>> > "Every thing has its own flow"
>>>>>
>>>>>
>>>>>
>>>>> ---> Save our in-boxes! http://emailcharter.org <---
>>>>>
>>>>> Johan Fabry   -   http://pleiad.cl/~jfabry
>>>>> PLEIAD lab  -  Computer Science Department (DCC)  -  University of
>>>>> Chile
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> www.tudorgirba.com
>>>>
>>>> "Every thing has its own flow"
>>>>
>>>
>>>
>>
>


Re: [Pharo-users] [Esug-list] [ann] gtspotter: a moldable interface for spotting objects

2014-12-09 Thread kilon alios
thanks but that was not necessary, apparently GTSpotter is not added to the
world menus and it can only be triggered with a shortcut that the blog post
does not mention which is alt+enter.

This an awesome tool. love it :)

Question : how I expand the search results , for example it gives a 5/30
classes how I can see all 30 classes that are the search result ?

On Tue, Dec 9, 2014 at 12:14 PM, Sven Van Caekenberghe  wrote:

> There is a pre-built image here http://gt.moosetechnology.org
>
> > On 09 Dec 2014, at 11:08, kilon alios  wrote:
> >
> > So how I can give this a try, I downloaded latest moose 5.0 and there is
> no GTSpotter inside
> >
> > On Tue, Dec 9, 2014 at 10:27 AM, kilon alios 
> wrote:
> > sounds very interesting cant wait to try it and take a look also at
> Brick.
> >
> > On Tue, Dec 9, 2014 at 1:35 AM, Andrei Chis 
> wrote:
> >
> >
> > On Mon, Dec 8, 2014 at 8:02 PM, kilon alios 
> wrote:
> > Dont know if this is auto completion replacement or not, from the looks
> of it seem a lot more than that. Auto completion is one of the thing that
> annoys me in Pharo and this looks like a very good replacement.
> >
> > So the gui is also made with Glamour ?
> >
> > No it's in Brick. Brick is a small extension that we made to Morphic to
> make it a little more faster and to control resizing better.
> > So it's Morphic not Glamour :)
> >
> >
> > Cheers,
> > Andrei
> >
> >
> > Look very good looking and very useful cant wait to try it :)
> >
> > On Tue, Dec 9, 2014 at 12:36 AM, Tudor Girba 
> wrote:
> > Thanks for the suggestions, Johan. I will change the text and we will
> definitely look into making the shortcuts more apparent.
> >
> > Cheers,
> > Doru
> >
> > On Mon, Dec 8, 2014 at 5:17 PM, Johan Fabry 
> wrote:
> >
> > OK now I get it … thanks for clarifying!
> > I think my confusion stems from the use of ‘category' and then talking
> about 'the collection object’, which made me think about collections and
> source code and protocols and packages and I got lost.
> >
> > I think that the sentence of the blog would be clearer like this
> (uppercase to show changes):
> >
> > To do this, GTSpotter offers an extra action: diving in a RESULTS
> category. Pressing Cmd+Shift+ArrowRight dives in the collection OF RESULTS
> OF that category. Thus, we can continue refining the search inside the
> category.
> >
> > So then, my suggestion for a legend at the bottom of the results list
> would be:
> > Cmd+Shift+ArrowUp/ArrowDown = Next/Prev category, Cmd+RightArrow = Dive
> into Result, Cmd+Shift+RightArrow = Dive into Category
> >
> > > On Dec 8, 2014, at 12:48, Tudor Girba  wrote:
> > >
> > > Hi,
> > >
> > > Ok. Let's take it step by step and see if we cannot find a better way
> of explaining.
> > >
> > > Take a look at the first picture in the blog post. Entering GTSpo
> shows results both for Classes and for Packages. These "Classes" and
> "Packages" are what we call search categories, and they have associated a
> query processor that can populate them with results (see the "Spotting your
> objects" section from the bottom of the post).
> > >
> > > In our case, we get 39 classes (of which only 5 are shown) and 1
> package that match the query. If you want to look at all those 39 classes,
> you can dive in the whole collection behind the category in a separate
> step. This is achieved through Cmd+Shift+ArrowRight. Does it make more
> sense now?
> > >
> > > I did not consider the category to be confusing. Would you propose
> another name?
> > >
> > > Cheers,
> > > Doru
> > >
> > >
> > > On Mon, Dec 8, 2014 at 4:02 PM, Johan Fabry 
> wrote:
> > > Sorry, but no :-(
> > >
> > > I am always confused when people say ‘category’ because the word has
> so many overloaded meanings. The same happens in the blog post, it is not
> clear to me what category means here, and what does it have to do with the
> collection object?
> > >
> > > > On Dec 7, 2014, at 11:16, Tudor Girba  wrote:
> > > >
> > > > Hi,
> > > >
> > > > Yes, we will still evolve the UI. At the very least you will get the
> shortkeys directly on the actions.
> > > >
> > > > The answer to your question is in the blog post:
> > > > GTSpotter offers an extra action: diving in a category. Pressing
> Cmd+Shift+ArrowRight dives in the collection object contain

Re: [Pharo-users] [Esug-list] [ann] gtspotter: a moldable interface for spotting objects

2014-12-09 Thread kilon alios
no that was 100% my fault , its clear in your blog post I just did not get
it at first read.

It works using Ubuntu its alt+shift+rightarrow

I am seriously impressed with your work guys, this takes pharo to another
level.  Thank you.

If I could make some early requests, I would like the option to pin the
GTSpotter window and also move it around if I want to keep it as reference.
Since this could work as an excellent finder replacement too.

On Tue, Dec 9, 2014 at 12:39 PM, Tudor Girba  wrote:

> This is described briefly in the post, but Johan had also a problem with
> the description.
>
> So, if you want to see all 30 classes, you dive in the category through
> Cmd+Shift+RightArrow. This spawns the collection with the results and you
> can continue searching.
>
> Let me know if it works for you.
>
> Doru
>
> On Tue, Dec 9, 2014 at 11:28 AM, kilon alios 
> wrote:
>
>> thanks but that was not necessary, apparently GTSpotter is not added to
>> the world menus and it can only be triggered with a shortcut that the blog
>> post does not mention which is alt+enter.
>>
>> This an awesome tool. love it :)
>>
>> Question : how I expand the search results , for example it gives a 5/30
>> classes how I can see all 30 classes that are the search result ?
>>
>> On Tue, Dec 9, 2014 at 12:14 PM, Sven Van Caekenberghe 
>> wrote:
>>
>>> There is a pre-built image here http://gt.moosetechnology.org
>>>
>>> > On 09 Dec 2014, at 11:08, kilon alios  wrote:
>>> >
>>> > So how I can give this a try, I downloaded latest moose 5.0 and there
>>> is no GTSpotter inside
>>> >
>>> > On Tue, Dec 9, 2014 at 10:27 AM, kilon alios 
>>> wrote:
>>> > sounds very interesting cant wait to try it and take a look also at
>>> Brick.
>>> >
>>> > On Tue, Dec 9, 2014 at 1:35 AM, Andrei Chis <
>>> chisvasileand...@gmail.com> wrote:
>>> >
>>> >
>>> > On Mon, Dec 8, 2014 at 8:02 PM, kilon alios 
>>> wrote:
>>> > Dont know if this is auto completion replacement or not, from the
>>> looks of it seem a lot more than that. Auto completion is one of the thing
>>> that annoys me in Pharo and this looks like a very good replacement.
>>> >
>>> > So the gui is also made with Glamour ?
>>> >
>>> > No it's in Brick. Brick is a small extension that we made to Morphic
>>> to make it a little more faster and to control resizing better.
>>> > So it's Morphic not Glamour :)
>>> >
>>> >
>>> > Cheers,
>>> > Andrei
>>> >
>>> >
>>> > Look very good looking and very useful cant wait to try it :)
>>> >
>>> > On Tue, Dec 9, 2014 at 12:36 AM, Tudor Girba 
>>> wrote:
>>> > Thanks for the suggestions, Johan. I will change the text and we will
>>> definitely look into making the shortcuts more apparent.
>>> >
>>> > Cheers,
>>> > Doru
>>> >
>>> > On Mon, Dec 8, 2014 at 5:17 PM, Johan Fabry 
>>> wrote:
>>> >
>>> > OK now I get it … thanks for clarifying!
>>> > I think my confusion stems from the use of ‘category' and then talking
>>> about 'the collection object’, which made me think about collections and
>>> source code and protocols and packages and I got lost.
>>> >
>>> > I think that the sentence of the blog would be clearer like this
>>> (uppercase to show changes):
>>> >
>>> > To do this, GTSpotter offers an extra action: diving in a RESULTS
>>> category. Pressing Cmd+Shift+ArrowRight dives in the collection OF RESULTS
>>> OF that category. Thus, we can continue refining the search inside the
>>> category.
>>> >
>>> > So then, my suggestion for a legend at the bottom of the results list
>>> would be:
>>> > Cmd+Shift+ArrowUp/ArrowDown = Next/Prev category, Cmd+RightArrow =
>>> Dive into Result, Cmd+Shift+RightArrow = Dive into Category
>>> >
>>> > > On Dec 8, 2014, at 12:48, Tudor Girba  wrote:
>>> > >
>>> > > Hi,
>>> > >
>>> > > Ok. Let's take it step by step and see if we cannot find a better
>>> way of explaining.
>>> > >
>>> > > Take a look at the first picture in the blog post. Entering GTSpo
>>> shows results both for Classes and for Packages. These "Classes" and
>>> "Packages" ar

Re: [Pharo-users] [Esug-list] [ann] gtspotter: a moldable interface for spotting objects

2014-12-09 Thread kilon alios
yeap thats a great feature to have too. I would love also more info ( when
you find the time I am in no rush ) about customizing GTSpotter. Now back
to having fun with this tool and reading its code :)

PS: makes me wonder if I could use it to search for keyboard shortcuts

On Tue, Dec 9, 2014 at 12:59 PM, Tudor Girba  wrote:

> Hi,
>
> At the moment, you can easily get back to the previous context through the
> history category.
>
> Doru
>
> On Tue, Dec 9, 2014 at 11:51 AM, kilon alios 
> wrote:
>
>> no that was 100% my fault , its clear in your blog post I just did not
>> get it at first read.
>>
>> It works using Ubuntu its alt+shift+rightarrow
>>
>> I am seriously impressed with your work guys, this takes pharo to another
>> level.  Thank you.
>>
>> If I could make some early requests, I would like the option to pin the
>> GTSpotter window and also move it around if I want to keep it as reference.
>> Since this could work as an excellent finder replacement too.
>>
>> On Tue, Dec 9, 2014 at 12:39 PM, Tudor Girba 
>> wrote:
>>
>>> This is described briefly in the post, but Johan had also a problem with
>>> the description.
>>>
>>> So, if you want to see all 30 classes, you dive in the category through
>>> Cmd+Shift+RightArrow. This spawns the collection with the results and you
>>> can continue searching.
>>>
>>> Let me know if it works for you.
>>>
>>> Doru
>>>
>>> On Tue, Dec 9, 2014 at 11:28 AM, kilon alios 
>>> wrote:
>>>
>>>> thanks but that was not necessary, apparently GTSpotter is not added to
>>>> the world menus and it can only be triggered with a shortcut that the blog
>>>> post does not mention which is alt+enter.
>>>>
>>>> This an awesome tool. love it :)
>>>>
>>>> Question : how I expand the search results , for example it gives a
>>>> 5/30 classes how I can see all 30 classes that are the search result ?
>>>>
>>>> On Tue, Dec 9, 2014 at 12:14 PM, Sven Van Caekenberghe 
>>>> wrote:
>>>>
>>>>> There is a pre-built image here http://gt.moosetechnology.org
>>>>>
>>>>> > On 09 Dec 2014, at 11:08, kilon alios  wrote:
>>>>> >
>>>>> > So how I can give this a try, I downloaded latest moose 5.0 and
>>>>> there is no GTSpotter inside
>>>>> >
>>>>> > On Tue, Dec 9, 2014 at 10:27 AM, kilon alios 
>>>>> wrote:
>>>>> > sounds very interesting cant wait to try it and take a look also at
>>>>> Brick.
>>>>> >
>>>>> > On Tue, Dec 9, 2014 at 1:35 AM, Andrei Chis <
>>>>> chisvasileand...@gmail.com> wrote:
>>>>> >
>>>>> >
>>>>> > On Mon, Dec 8, 2014 at 8:02 PM, kilon alios 
>>>>> wrote:
>>>>> > Dont know if this is auto completion replacement or not, from the
>>>>> looks of it seem a lot more than that. Auto completion is one of the thing
>>>>> that annoys me in Pharo and this looks like a very good replacement.
>>>>> >
>>>>> > So the gui is also made with Glamour ?
>>>>> >
>>>>> > No it's in Brick. Brick is a small extension that we made to Morphic
>>>>> to make it a little more faster and to control resizing better.
>>>>> > So it's Morphic not Glamour :)
>>>>> >
>>>>> >
>>>>> > Cheers,
>>>>> > Andrei
>>>>> >
>>>>> >
>>>>> > Look very good looking and very useful cant wait to try it :)
>>>>> >
>>>>> > On Tue, Dec 9, 2014 at 12:36 AM, Tudor Girba 
>>>>> wrote:
>>>>> > Thanks for the suggestions, Johan. I will change the text and we
>>>>> will definitely look into making the shortcuts more apparent.
>>>>> >
>>>>> > Cheers,
>>>>> > Doru
>>>>> >
>>>>> > On Mon, Dec 8, 2014 at 5:17 PM, Johan Fabry 
>>>>> wrote:
>>>>> >
>>>>> > OK now I get it … thanks for clarifying!
>>>>> > I think my confusion stems from the use of ‘category' and then
>>>>> talking about 'the collection object’, which made me think about
>>>>> collections and source code and protocols and package

Re: [Pharo-users] [Esug-list] [ann] gtspotter: a moldable interface for spotting objects

2014-12-09 Thread kilon alios
"What do you need to know. At the bottom of the post, there is an example
of how the classes and methods search is done. Do you need more
information?"

Yes I noticed, give me time to really dive into the code and see what new
questions I have.

"Why not? Give it a try. You probably should extend Morph for that :)"

I dont remember if it was Sven once offered a piece of code to return all
defined shortcuts, will dig it out.

On Tue, Dec 9, 2014 at 1:16 PM, Tudor Girba  wrote:

> Hi,
>
>
>
> On Tue, Dec 9, 2014 at 12:05 PM, kilon alios 
> wrote:
>
>> yeap thats a great feature to have too. I would love also more info (
>> when you find the time I am in no rush ) about customizing GTSpotter. Now
>> back to having fun with this tool and reading its code :)
>>
>
> What do you need to know. At the bottom of the post, there is an example
> of how the classes and methods search is done. Do you need more information?
>
> PS: makes me wonder if I could use it to search for keyboard shortcuts
>>
>
> Why not? Give it a try. You probably should extend Morph for that :)
>
> Cheers,
> Doru
>
>
>
>
>> On Tue, Dec 9, 2014 at 12:59 PM, Tudor Girba 
>> wrote:
>>
>>> Hi,
>>>
>>> At the moment, you can easily get back to the previous context through
>>> the history category.
>>>
>>> Doru
>>>
>>> On Tue, Dec 9, 2014 at 11:51 AM, kilon alios 
>>> wrote:
>>>
>>>> no that was 100% my fault , its clear in your blog post I just did not
>>>> get it at first read.
>>>>
>>>> It works using Ubuntu its alt+shift+rightarrow
>>>>
>>>> I am seriously impressed with your work guys, this takes pharo to
>>>> another level.  Thank you.
>>>>
>>>> If I could make some early requests, I would like the option to pin the
>>>> GTSpotter window and also move it around if I want to keep it as reference.
>>>> Since this could work as an excellent finder replacement too.
>>>>
>>>> On Tue, Dec 9, 2014 at 12:39 PM, Tudor Girba 
>>>> wrote:
>>>>
>>>>> This is described briefly in the post, but Johan had also a problem
>>>>> with the description.
>>>>>
>>>>> So, if you want to see all 30 classes, you dive in the category
>>>>> through Cmd+Shift+RightArrow. This spawns the collection with the results
>>>>> and you can continue searching.
>>>>>
>>>>> Let me know if it works for you.
>>>>>
>>>>> Doru
>>>>>
>>>>> On Tue, Dec 9, 2014 at 11:28 AM, kilon alios 
>>>>> wrote:
>>>>>
>>>>>> thanks but that was not necessary, apparently GTSpotter is not added
>>>>>> to the world menus and it can only be triggered with a shortcut that the
>>>>>> blog post does not mention which is alt+enter.
>>>>>>
>>>>>> This an awesome tool. love it :)
>>>>>>
>>>>>> Question : how I expand the search results , for example it gives a
>>>>>> 5/30 classes how I can see all 30 classes that are the search result ?
>>>>>>
>>>>>> On Tue, Dec 9, 2014 at 12:14 PM, Sven Van Caekenberghe 
>>>>>> wrote:
>>>>>>
>>>>>>> There is a pre-built image here http://gt.moosetechnology.org
>>>>>>>
>>>>>>> > On 09 Dec 2014, at 11:08, kilon alios 
>>>>>>> wrote:
>>>>>>> >
>>>>>>> > So how I can give this a try, I downloaded latest moose 5.0 and
>>>>>>> there is no GTSpotter inside
>>>>>>> >
>>>>>>> > On Tue, Dec 9, 2014 at 10:27 AM, kilon alios <
>>>>>>> kilon.al...@gmail.com> wrote:
>>>>>>> > sounds very interesting cant wait to try it and take a look also
>>>>>>> at Brick.
>>>>>>> >
>>>>>>> > On Tue, Dec 9, 2014 at 1:35 AM, Andrei Chis <
>>>>>>> chisvasileand...@gmail.com> wrote:
>>>>>>> >
>>>>>>> >
>>>>>>> > On Mon, Dec 8, 2014 at 8:02 PM, kilon alios 
>>>>>>> wrote:
>>>>>>> > Dont know if this is auto completion replacement or not, from the
>>>>>>> looks of it seem a lot more than that. Auto completion is one

Re: [Pharo-users] [Esug-list] [ann] gtspotter: a moldable interface for spotting objects

2014-12-09 Thread kilon alios
cant find such method , i tried spotter and finder .

On Tue, Dec 9, 2014 at 1:26 PM, Tudor Girba  wrote:

> Look at the implementors of
>
> gtInspectorMappingsIn:
>
> Doru
>
> On Tue, Dec 9, 2014 at 12:24 PM, kilon alios 
> wrote:
>
>> "What do you need to know. At the bottom of the post, there is an
>> example of how the classes and methods search is done. Do you need more
>> information?"
>>
>> Yes I noticed, give me time to really dive into the code and see what new
>> questions I have.
>>
>> "Why not? Give it a try. You probably should extend Morph for that :)"
>>
>> I dont remember if it was Sven once offered a piece of code to return all
>> defined shortcuts, will dig it out.
>>
>> On Tue, Dec 9, 2014 at 1:16 PM, Tudor Girba  wrote:
>>
>>> Hi,
>>>
>>>
>>>
>>> On Tue, Dec 9, 2014 at 12:05 PM, kilon alios 
>>> wrote:
>>>
>>>> yeap thats a great feature to have too. I would love also more info (
>>>> when you find the time I am in no rush ) about customizing GTSpotter. Now
>>>> back to having fun with this tool and reading its code :)
>>>>
>>>
>>> What do you need to know. At the bottom of the post, there is an example
>>> of how the classes and methods search is done. Do you need more information?
>>>
>>> PS: makes me wonder if I could use it to search for keyboard shortcuts
>>>>
>>>
>>> Why not? Give it a try. You probably should extend Morph for that :)
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>>
>>>
>>>> On Tue, Dec 9, 2014 at 12:59 PM, Tudor Girba 
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> At the moment, you can easily get back to the previous context through
>>>>> the history category.
>>>>>
>>>>> Doru
>>>>>
>>>>> On Tue, Dec 9, 2014 at 11:51 AM, kilon alios 
>>>>> wrote:
>>>>>
>>>>>> no that was 100% my fault , its clear in your blog post I just did
>>>>>> not get it at first read.
>>>>>>
>>>>>> It works using Ubuntu its alt+shift+rightarrow
>>>>>>
>>>>>> I am seriously impressed with your work guys, this takes pharo to
>>>>>> another level.  Thank you.
>>>>>>
>>>>>> If I could make some early requests, I would like the option to pin
>>>>>> the GTSpotter window and also move it around if I want to keep it as
>>>>>> reference. Since this could work as an excellent finder replacement too.
>>>>>>
>>>>>> On Tue, Dec 9, 2014 at 12:39 PM, Tudor Girba 
>>>>>> wrote:
>>>>>>
>>>>>>> This is described briefly in the post, but Johan had also a problem
>>>>>>> with the description.
>>>>>>>
>>>>>>> So, if you want to see all 30 classes, you dive in the category
>>>>>>> through Cmd+Shift+RightArrow. This spawns the collection with the 
>>>>>>> results
>>>>>>> and you can continue searching.
>>>>>>>
>>>>>>> Let me know if it works for you.
>>>>>>>
>>>>>>> Doru
>>>>>>>
>>>>>>> On Tue, Dec 9, 2014 at 11:28 AM, kilon alios 
>>>>>>> wrote:
>>>>>>>
>>>>>>>> thanks but that was not necessary, apparently GTSpotter is not
>>>>>>>> added to the world menus and it can only be triggered with a shortcut 
>>>>>>>> that
>>>>>>>> the blog post does not mention which is alt+enter.
>>>>>>>>
>>>>>>>> This an awesome tool. love it :)
>>>>>>>>
>>>>>>>> Question : how I expand the search results , for example it gives a
>>>>>>>> 5/30 classes how I can see all 30 classes that are the search result ?
>>>>>>>>
>>>>>>>> On Tue, Dec 9, 2014 at 12:14 PM, Sven Van Caekenberghe <
>>>>>>>> s...@stfx.eu> wrote:
>>>>>>>>
>>>>>>>>> There is a pre-built image here http://gt.moosetechnology.org
>>>>>>>>>
>>>>>>>>> > On 09 Dec 201

Re: [Pharo-users] [Esug-list] [ann] gtspotter: a moldable interface for spotting objects

2014-12-09 Thread kilon alios
yes I must mistyped it or something. I can find the method now and the 4
implementors. Bad day I guess.

ah yes of course gtinspector can already find those shortcuts and display
them nicely. So that means that we can already do that , nice.

I am really impressed. Great work, I am back to exploring.

On Tue, Dec 9, 2014 at 2:23 PM, Tudor Girba  wrote:

> In the Moose image, you should have 4 implementors. They represent the
> underlying implementation for the keymapping overview in GTInspector:
>
> http://www.humane-assessment.com/blog/managing-morph-keybindings-with-gtinspector
>
> Doru
>
> On Tue, Dec 9, 2014 at 12:44 PM, kilon alios 
> wrote:
>
>> cant find such method , i tried spotter and finder .
>>
>> On Tue, Dec 9, 2014 at 1:26 PM, Tudor Girba  wrote:
>>
>>> Look at the implementors of
>>>
>>> gtInspectorMappingsIn:
>>>
>>> Doru
>>>
>>> On Tue, Dec 9, 2014 at 12:24 PM, kilon alios 
>>> wrote:
>>>
>>>> "What do you need to know. At the bottom of the post, there is an
>>>> example of how the classes and methods search is done. Do you need more
>>>> information?"
>>>>
>>>> Yes I noticed, give me time to really dive into the code and see what
>>>> new questions I have.
>>>>
>>>> "Why not? Give it a try. You probably should extend Morph for that :)"
>>>>
>>>> I dont remember if it was Sven once offered a piece of code to return
>>>> all defined shortcuts, will dig it out.
>>>>
>>>> On Tue, Dec 9, 2014 at 1:16 PM, Tudor Girba 
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>>
>>>>>
>>>>> On Tue, Dec 9, 2014 at 12:05 PM, kilon alios 
>>>>> wrote:
>>>>>
>>>>>> yeap thats a great feature to have too. I would love also more info (
>>>>>> when you find the time I am in no rush ) about customizing GTSpotter. Now
>>>>>> back to having fun with this tool and reading its code :)
>>>>>>
>>>>>
>>>>> What do you need to know. At the bottom of the post, there is an
>>>>> example of how the classes and methods search is done. Do you need more
>>>>> information?
>>>>>
>>>>> PS: makes me wonder if I could use it to search for keyboard shortcuts
>>>>>>
>>>>>
>>>>> Why not? Give it a try. You probably should extend Morph for that :)
>>>>>
>>>>> Cheers,
>>>>> Doru
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> On Tue, Dec 9, 2014 at 12:59 PM, Tudor Girba 
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> At the moment, you can easily get back to the previous context
>>>>>>> through the history category.
>>>>>>>
>>>>>>> Doru
>>>>>>>
>>>>>>> On Tue, Dec 9, 2014 at 11:51 AM, kilon alios 
>>>>>>> wrote:
>>>>>>>
>>>>>>>> no that was 100% my fault , its clear in your blog post I just did
>>>>>>>> not get it at first read.
>>>>>>>>
>>>>>>>> It works using Ubuntu its alt+shift+rightarrow
>>>>>>>>
>>>>>>>> I am seriously impressed with your work guys, this takes pharo to
>>>>>>>> another level.  Thank you.
>>>>>>>>
>>>>>>>> If I could make some early requests, I would like the option to pin
>>>>>>>> the GTSpotter window and also move it around if I want to keep it as
>>>>>>>> reference. Since this could work as an excellent finder replacement 
>>>>>>>> too.
>>>>>>>>
>>>>>>>> On Tue, Dec 9, 2014 at 12:39 PM, Tudor Girba 
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> This is described briefly in the post, but Johan had also a
>>>>>>>>> problem with the description.
>>>>>>>>>
>>>>>>>>> So, if you want to see all 30 classes, you dive in the category
>>>>>>>>> through Cmd+Shift+RightArrow. This spawns the collection with the 
>>>>>>>

Re: [Pharo-users] Left mouse button not working in Pharo 3.0

2014-12-10 Thread kilon alios
just upload your image file so we can take a look, one of the great things
about pharo ;) you can also upload the whole pharo folder

On Wed, Dec 10, 2014 at 10:04 AM, Esteban Lorenzano 
wrote:

> can you share a screenshot of your processes? (World Menu/Tools/Process
> Browsers)
>
> Esteban
>
>
>
> On 10 Dec 2014, at 02:58, David Boeren  wrote:
>
> Didn't seem to have any effect.  The broken windows are still there, and
> the file size is still 99.5MB.
>
> On Tue, Dec 9, 2014 at 8:49 PM, Mariano Martinez Peck <
> marianop...@gmail.com> wrote:
>
>> The size could have been the Monticello cache for all the stuff you
>> loaded?
>> In the big image try ImageCleaner new cleanUpForRelease, then save it and
>> compare size.
>>
>> CHeers,
>>
>> On Tue, Dec 9, 2014 at 9:22 PM, stepharo  wrote:
>>
>>> This is indeed quite strange.
>>>
>>> Le 9/12/14 14:31, dboeren a écrit :
>>>
>>>  OK, some progress.  I made a copy of Pharo to experiment with and found
 World->Windows->DeleteAllWindowsDiscardingEdits.

 This destroyed the three rogue windows and at least to a first glance
 the
 system is working correctly again.

 But, I also still have the original copy which is still malfunctioning.

 Ready for more weird?  The broken copy of Pharo is 99.5MB.  The working
 copy
 is only 70.2MB.

 Here is the full list of what I did to create the working copy:
 1.  Copy/paste the Pharo3.0 file in OSX Finder, rename it to "Pharo 3.0
 test"
 2.  Open Pharo 3.0 Test
 3.  World->Windows->DeleteAllWindowsDiscardingEdits
 4.  Recreate my 3 windows (Workspace, Transcript, Browser) and resize
 them
 to approximately the same layout I had before
 5.  Quit and save the new image

 So whatever was wrong with those three windows was taking up 29.3MB?
 That's
 really bizarre...

 If someone knows how to debug this sort of thing I can upload my
 corrupted
 copy to you and perhaps that would be the best way to shed some light,
 but
 at least I seem to have a working environment again so I can proceed on
 the
 next step of my program :)




 --
 View this message in context: http://forum.world.st/Left-
 mouse-button-not-working-in-Pharo-3-0-tp4795107p4795126.html
 Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



>>>
>>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>
>
>


Re: [Pharo-users] Extending GTSpotter

2014-12-10 Thread kilon alios
anything is doable. The barrier always is knowledge.

There is already a project to bring documentation and a specific kind of
documentation called Pillar which is what we use for updated PBE and Pharo
for the Enterprise books inside the GTInspector. Its a WIP.

On the side of GTSpotter you have a morphic wrapper called Brick that is
used to ease the design of the GUI.

But whether you use Glamour or Spec or Brick or whatever you use Morphic.
Only Bloc which suppose to be the new kid in the block to replace Morphic
is not Morphic but for now at least the heavy weight gorilla is Morphic. As
soon as you understand morphic you are unstopable.

Dynamic documentation is one of the things that Pharo really lacks if you
ask me, I am that annoying guy that complains about documentation all the
time. I think however that we get closer to this .

>From what I see you talk about class and instance comments. Of course with
Pillar at your side you can go way above that and provide functionality
that can rival pdf and html help files.

So yes its doable and yes you can take it very far but as always is about
having the will to do the hard work because in the end nothing is easy as
it looks or else someone else would have done it by now.

On Wed, Dec 10, 2014 at 8:49 PM, Edward Povazan  wrote:

> Hello,
>
> I am having a blast with GTSpotter - it’s the missing link for me, just
> one step to ask a question from Pharo. Keeps the flow going!
>
> Being new to the innards of Pharo, I’ve decided to try something.
> I would love documentation in GTSpotter. For example, I am interested in
> how packages are organized in Pharo.
> Cmd+Enter: ‘Package'
> I get a list of package type classes.
>
> Cmd+Sh+Right Arrow.
> Now I see all the classes in the Classes category ...
> PackageInfo, PackageOrganizer, GRPackage, RPackageOrganizer - all
> interesting candidates in my exploration.
>
> But now I need to browse into each, look at the docs, then bring back
> GTSpotter, navigate to the last context with History, and repeat. More than
> one step.
>
> So I am going to try:
> - when showing all items in classes and methods categories, add a little
> [d] tag to the end of the item text to indicate if there is documentation
> for that item (class/instance or method docs)
> - Cmd+Sh+Right will display the docs.
>
> Is this doable within the current framework?
> If so, I am going to chip away on this.
>
> Thanks,
> -Ed
>
>
>


Re: [Pharo-users] New Pharo user, some questions

2014-12-10 Thread kilon alios
I cant answer your JSON question but I can answer the other two questions
a) iOS b) Pharo video tutorial

a) as far iOS is concerned, yes pharo runs fine on it. I am not so sure
about the new vm Cog but there are 2 commercial pharo apps by the same
developer on Apple Story one is called DrGeo , which is a very cool app for
teaching kids and grown apps about geometry and iStoa which is another
educational app. So yes pharo looks fine on iOS platform.

b) about video tutorial , I am actually making a series of tutorial that I
call "Pharo Video Tutorial" using Pharo 3 and now I am using Pharo 4 , I
like to teach people the cutting edge and you can find a playlist with
those tutorial here

https://www.youtube.com/watch?v=Ol5ivaEATLQ&list=PLqbtQ7OkSta0ULYAd7Qdxof851ybh-_m_&index=1

you can ommit the first one is about a general intro to pharo and the
second which is how to install pharo , the rest are all 100% practical and
I try to keep the blah blah to a minimum.  Excluding the first hour you
have a total of 3 hours cut down to 10 minutes more or less video tutorials
that will give you a very solid introduction to Pharo. Is an ongoing effort
so subscribe to be notified about new tutorials.

On Wed, Dec 10, 2014 at 10:26 PM, dboeren  wrote:

> Now that my image is working properly again and the fires have been put
> out,
> I wanted to introduce myself a bit better...
>
> My name is David Boeren.  I first learned Smalltalk back in college many
> years ago, we used Smalltalk V in an object oriented programming class I
> took which was first-half Smalltalk, second-half C++.  This would be about
> 1992 I think?  In recent years I've mainly been using Java, with occasional
> Python dabblings.  I remember installing Squeak once or twice over the
> years, but to be honest it felt a bit clunky, perhaps this was just an
> early
> primitive version or whatever.
>
> Recently, I've been getting the itch to try out some different languages.
> I
> was kind of looking at Scala or Clojure, one co-worker suggested Erlang,
> and
> so forth.  But after doing a brief review I ended up coming back to
> Smalltalk which even after all these years still stands right up with the
> cutting edge I think.  Sure, there are a few things that I think would be a
> little different if it were designed today like tuple support or whatever,
> but it feels like the right choice for something I'm going to use mainly
> for
> "fun" projects and the interactive environment is awesome.
>
>
> One thing I wanted to ask about is the status of getting Pharo running on
> iOS (or at least iPad).  I found some old posts but nothing much within the
> last couple of years.  I know there were app store policy issues in the
> past
> but I think that Apple has opened things up a bit since then, you can now
> get Pythonista in the app store, or Codea.  Is there still an obstacle or
> is
> it just something that hasn't been gotten around to yet?  I'd love to get
> it
> running on my iPad Mini and be able to transmit code back and forth between
> there and my laptop to work on it wherever I'm at.
>
>
> Second, I'm running into an oddity and I'm not sure what I'm doing wrong or
> whether this is a bug of some sort, this has to do with trying to replace
> unicode characters in a string which seems like it should be a
> straightforward operation.  Here is my code:
>
> "Fetch the raw JSON data from dtdb.co"
> response := 'http://dtdb.co/api/cards/' asUrl retrieveContents
> asString.
>
> "Clean up the data a bit to make it a little more regular"
> response := response copyReplaceAll: 'null' with: '""'.
> response := response copyReplaceAll: '\u2022' with: ','.
> response := response copyReplaceAll: '\u009e' with: 'e'.
>
> Basically I'm just pulling some JSON data and then doing a few string
> replacements to make the data suit my needs.  The first one works.  The
> second one works.  Since the third one ALSO uses a \u code I would
> expect it to work too, but it does not - the accented characters are still
> there.
>
> To get a bit more visibility into this, I copied the CopyReplaceAll code
> from SequenceableCollection into a scratch class method and adding some
> Transcript output:
>
> copyReplaceIn: aString All: oldSubCollection with: newCollection
> "Answer a copy of the receiver in which all occurrences of
> oldSubCollection have been replaced by newCollection "
>
> | startSearch currentIndex endIndex |
>
> Transcript show: 'start' ; cr.
> startSearch := 1.
> [(currentIndex := aString indexOfSubCollection: oldSubCollection
> startingAt: startSearch) > 0]
> whileTrue: [
> Transcript show: 'Found at index ' ; show:
> currentIndex ; cr.
> endIndex := currentIndex + oldSubCollection size -
> 1.
> aString := aString
> copyReplaceFrom: currentInde

Re: [Pharo-users] New Pharo user, some questions

2014-12-11 Thread kilon alios
That is what a pharo app is , its just a copy of the ide, the language and
the tools together with some additional code.


You can hide the IDE from the user of course but it would be still there
unless you remove it.

If you plan to distribute the exposed IDE you need to check with Apple
license terms because I think they still have restrictions on this. So your
limitation is Apple and not Pharo ;)

Of course if you want to use the IDE only for yourself you have no issues
there and you dont need Apple's permission. Of course since people dont
code Pharo on their ipads (I am not a fa of the idea myself I like my 27''
iMac too much :D) you most likely run into unresolved problems.

So I would not recommend Pharo on iOS personally even though people have
done this , but you can try it yourself and make your own mind ;)

On Thu, Dec 11, 2014 at 6:06 AM, David Boeren  wrote:

> Sorry, I may not have been clear with my iOS question.  What I'm
> interested in is running the development environment on iPad, not just a
> deployed app (although that is handy too).  There are other apps that let
> you write code, compile it, and run it all on your iOS device without
> needing a computer or external compiler so I'm thinking that if they pass
> the app store criteria that perhaps Pharo or another Smalltalk could also
> do so.
>
> Thanks for the video link, I'll check it out.
>
>
> On Wed, Dec 10, 2014 at 4:53 PM, kilon alios 
> wrote:
>
>> I cant answer your JSON question but I can answer the other two questions
>> a) iOS b) Pharo video tutorial
>>
>> a) as far iOS is concerned, yes pharo runs fine on it. I am not so sure
>> about the new vm Cog but there are 2 commercial pharo apps by the same
>> developer on Apple Story one is called DrGeo, which is a very cool app for
>> teaching kids and grown apps about geometry and iStoa which is another
>> educational app. So yes pharo looks fine on iOS platform.
>>
>> b) about video tutorial, I am actually making a series of tutorial that I
>> call "Pharo Video Tutorial" using Pharo 3 and now I am using Pharo 4 , I
>> like to teach people the cutting edge and you can find a playlist with
>> those tutorial here
>>
>>
>> https://www.youtube.com/watch?v=Ol5ivaEATLQ&list=PLqbtQ7OkSta0ULYAd7Qdxof851ybh-_m_&index=1
>>
>> you can ommit the first one is about a general intro to pharo and the
>> second which is how to install pharo , the rest are all 100% practical and
>> I try to keep the blah blah to a minimum.  Excluding the first hour you
>> have a total of 3 hours cut down to 10 minutes more or less video tutorials
>> that will give you a very solid introduction to Pharo. Is an ongoing effort
>> so subscribe to be notified about new tutorials.
>>
>> On Wed, Dec 10, 2014 at 10:26 PM, dboeren  wrote:
>>
>>> Now that my image is working properly again and the fires have been put
>>> out,
>>> I wanted to introduce myself a bit better...
>>>
>>> My name is David Boeren.  I first learned Smalltalk back in college many
>>> years ago, we used Smalltalk V in an object oriented programming class I
>>> took which was first-half Smalltalk, second-half C++.  This would be
>>> about
>>> 1992 I think?  In recent years I've mainly been using Java, with
>>> occasional
>>> Python dabblings.  I remember installing Squeak once or twice over the
>>> years, but to be honest it felt a bit clunky, perhaps this was just an
>>> early
>>> primitive version or whatever.
>>>
>>> Recently, I've been getting the itch to try out some different
>>> languages.  I
>>> was kind of looking at Scala or Clojure, one co-worker suggested Erlang,
>>> and
>>> so forth.  But after doing a brief review I ended up coming back to
>>> Smalltalk which even after all these years still stands right up with the
>>> cutting edge I think.  Sure, there are a few things that I think would
>>> be a
>>> little different if it were designed today like tuple support or
>>> whatever,
>>> but it feels like the right choice for something I'm going to use mainly
>>> for
>>> "fun" projects and the interactive environment is awesome.
>>>
>>>
>>> One thing I wanted to ask about is the status of getting Pharo running on
>>> iOS (or at least iPad).  I found some old posts but nothing much within
>>> the
>>> last couple of years.  I know there were app store policy issues in the
>>> past
>>> but I think that Apple has opened things up a bit since then, you can no

Re: [Pharo-users] New Pharo user, some questions

2014-12-11 Thread kilon alios
can you resize the pharo windows ? I saw you struggle with it there

It also looks like its crawling there , which iPad is this , which
generation ?

On Thu, Dec 11, 2014 at 10:09 AM, p...@highoctane.be 
wrote:

> Pharo on iPad.
>
> http://youtu.be/7MNsUiCc5FQ
> Le 10 déc. 2014 21:26, "dboeren"  a écrit :
>
> Now that my image is working properly again and the fires have been put
>> out,
>> I wanted to introduce myself a bit better...
>>
>> My name is David Boeren.  I first learned Smalltalk back in college many
>> years ago, we used Smalltalk V in an object oriented programming class I
>> took which was first-half Smalltalk, second-half C++.  This would be about
>> 1992 I think?  In recent years I've mainly been using Java, with
>> occasional
>> Python dabblings.  I remember installing Squeak once or twice over the
>> years, but to be honest it felt a bit clunky, perhaps this was just an
>> early
>> primitive version or whatever.
>>
>> Recently, I've been getting the itch to try out some different
>> languages.  I
>> was kind of looking at Scala or Clojure, one co-worker suggested Erlang,
>> and
>> so forth.  But after doing a brief review I ended up coming back to
>> Smalltalk which even after all these years still stands right up with the
>> cutting edge I think.  Sure, there are a few things that I think would be
>> a
>> little different if it were designed today like tuple support or whatever,
>> but it feels like the right choice for something I'm going to use mainly
>> for
>> "fun" projects and the interactive environment is awesome.
>>
>>
>> One thing I wanted to ask about is the status of getting Pharo running on
>> iOS (or at least iPad).  I found some old posts but nothing much within
>> the
>> last couple of years.  I know there were app store policy issues in the
>> past
>> but I think that Apple has opened things up a bit since then, you can now
>> get Pythonista in the app store, or Codea.  Is there still an obstacle or
>> is
>> it just something that hasn't been gotten around to yet?  I'd love to get
>> it
>> running on my iPad Mini and be able to transmit code back and forth
>> between
>> there and my laptop to work on it wherever I'm at.
>>
>>
>> Second, I'm running into an oddity and I'm not sure what I'm doing wrong
>> or
>> whether this is a bug of some sort, this has to do with trying to replace
>> unicode characters in a string which seems like it should be a
>> straightforward operation.  Here is my code:
>>
>> "Fetch the raw JSON data from dtdb.co"
>> response := 'http://dtdb.co/api/cards/' asUrl retrieveContents
>> asString.
>>
>> "Clean up the data a bit to make it a little more regular"
>> response := response copyReplaceAll: 'null' with: '""'.
>> response := response copyReplaceAll: '\u2022' with: ','.
>> response := response copyReplaceAll: '\u009e' with: 'e'.
>>
>> Basically I'm just pulling some JSON data and then doing a few string
>> replacements to make the data suit my needs.  The first one works.  The
>> second one works.  Since the third one ALSO uses a \u code I would
>> expect it to work too, but it does not - the accented characters are still
>> there.
>>
>> To get a bit more visibility into this, I copied the CopyReplaceAll code
>> from SequenceableCollection into a scratch class method and adding some
>> Transcript output:
>>
>> copyReplaceIn: aString All: oldSubCollection with: newCollection
>> "Answer a copy of the receiver in which all occurrences of
>> oldSubCollection have been replaced by newCollection "
>>
>> | startSearch currentIndex endIndex |
>>
>> Transcript show: 'start' ; cr.
>> startSearch := 1.
>> [(currentIndex := aString indexOfSubCollection: oldSubCollection
>> startingAt: startSearch) > 0]
>> whileTrue: [
>> Transcript show: 'Found at index ' ; show:
>> currentIndex ; cr.
>> endIndex := currentIndex + oldSubCollection size
>> - 1.
>> aString := aString
>> copyReplaceFrom: currentIndex
>> to: endIndex
>> with: newCollection.
>> startSearch := currentIndex +
>> newCollection size].
>> Transcript show: 'done' ; cr.
>> ^ aString
>>
>> A minimal test seemed to work:
>> HelloWorld copyReplaceIn: 'R\u00e9my Lapointe' All: '\u00e9' with: 'e'.
>>
>> start
>> Found at index 2
>> done
>>
>> Testing this with the real data worked too:
>> HelloWorld copyReplaceIn: ('http://dtdb.co/api/cards/' asUrl
>> retrieveContents asString) All: '\u00e9' with: 'e'.
>> start
>> Found at index 22379
>> Found at index 22500
>> done
>>
>>
>> However, when I went back to using the regular copyReplaceAll:With: method
>> it does not work and I'm not sure why.  When it executes this:
>> aString indexOfSubCollection: oldSubCollec

Re: [Pharo-users] New Pharo user, some questions

2014-12-11 Thread kilon alios
Glad to hear is much better than I assumed. About iOS vs Androids, I have
both. Each one focus on different things. Neither really excites
personally.



On Thu, Dec 11, 2014 at 3:44 PM, p...@highoctane.be 
wrote:

>
>
> On Thu, Dec 11, 2014 at 12:01 PM, kilon alios 
> wrote:
>
>> can you resize the pharo windows ? I saw you struggle with it there
>>
>> It also looks like its crawling there , which iPad is this , which
>> generation ?
>>
>
> This is an iPad2. Pure Morphic is fine, what is not is Nautilus. I guess
> with AltBrowser it would be fine.
>
> I've had a game I wrote for kids (internal stuff done for my wife's kids
> help practice) and it was fine with drag and drop and all.
>
> Now for games on iOS I do use Monkey-X. But I'd love to have a Pharo set
> of classes that would be gaming specific. We could have very fast plugins
> for all the game engine and script it with Pharo. Kind of what one does
> with Lua.
>
> The touch paradigm is different from what one can do on a desktop. It is
> not that Pharo has to work on an iPad. What would be nicer is to have an
> image running on it and to which one would connect remotely for remote
> coding.
>
> What I was interested in with the bluetooth keyboard project is to see how
> to have a kind of dynabook style thing. But Apple has crippled a lot of
> things, like for an external keyboard support like this one has to use
> internal undocumented APIs for the gsEvents and this will prevent anything
> to go to the AppStore. And then one sees apps like iAWriter which has such
> keyboard support, that's weird.
>
> Also, as a result, you realize that there is no ESC key on an iPad, that
> you miss a ton of keys that you take for granted on a desktop.
> Also, all keyboard scancodes are different in various brands and it is a
> true ball of knots. No wonder Apple has one supersimplified protocol for
> input that prevents your from doing powerful keyboard based things. Meh.
>
> Long story short, Android looks much better in that regard, and that's
> where I am looking at these days.
>
> I've got a new Galaxy Alpha Octocore thing and frankly, it blows any
> iPhone 6 out of the water. I am done with iOS I'd say.
> When going to places, there are so much more Android devices than
> iDevices... These Android things are like the beige boxes of the 90's.
> You know who won at the time.
>
> So, next holidays, I'll have a look at CogDroid from JB. When one can buy
> a full quad core stick PC with 2G of RAM and 8G of storage for less than
> $50, well, choice is clear.
>
> An old example:
> http://www.laptopmag.com/reviews/mini-pcs/mk808-android-mini-pc
>
> That's where I want Pharo to run.
>
> Phil
>
>
>>
>> On Thu, Dec 11, 2014 at 10:09 AM, p...@highoctane.be 
>> wrote:
>>
>>> Pharo on iPad.
>>>
>>> http://youtu.be/7MNsUiCc5FQ
>>> Le 10 déc. 2014 21:26, "dboeren"  a écrit :
>>>
>>> Now that my image is working properly again and the fires have been put
>>>> out,
>>>> I wanted to introduce myself a bit better...
>>>>
>>>> My name is David Boeren.  I first learned Smalltalk back in college many
>>>> years ago, we used Smalltalk V in an object oriented programming class I
>>>> took which was first-half Smalltalk, second-half C++.  This would be
>>>> about
>>>> 1992 I think?  In recent years I've mainly been using Java, with
>>>> occasional
>>>> Python dabblings.  I remember installing Squeak once or twice over the
>>>> years, but to be honest it felt a bit clunky, perhaps this was just an
>>>> early
>>>> primitive version or whatever.
>>>>
>>>> Recently, I've been getting the itch to try out some different
>>>> languages.  I
>>>> was kind of looking at Scala or Clojure, one co-worker suggested
>>>> Erlang, and
>>>> so forth.  But after doing a brief review I ended up coming back to
>>>> Smalltalk which even after all these years still stands right up with
>>>> the
>>>> cutting edge I think.  Sure, there are a few things that I think would
>>>> be a
>>>> little different if it were designed today like tuple support or
>>>> whatever,
>>>> but it feels like the right choice for something I'm going to use
>>>> mainly for
>>>> "fun" projects and the interactive environment is awesome.
>>>>
>>>>
>>>> One thing I wanted to ask about is the status of getting Pha

Re: [Pharo-users] Extending GTSpotter

2014-12-12 Thread kilon alios
no objections here :)

On Fri, Dec 12, 2014 at 1:11 PM, Tudor Girba  wrote:
>
> I would like to get Shift+Enter (because Cmd+Enter will be useful in other
> contexts), but we wanted to have something that can live next to the
> Spotlight for a while.
>
> But, now that we are over the first set of problems, I would like to use
> Shift+Enter. Any objections?
>
> Cheers,
> Doru
>
>
>
> On Fri, Dec 12, 2014 at 12:33 PM, stepharo  wrote:
>>
>> I got the same problem and Cmd+ENter was already used on my machine set
>> up.
>> So it was not really simple.
>>
>> Le 11/12/14 17:25, Damien Pollet a écrit :
>>
>>  Cmd+Enter: ‘Package'

>>> Doru, your blog post does not mention this piece of information: how
>>> to invoke GTSpotter
>>> It does not seem to be mentioned in your announcement email either; I
>>> found it here after going through threads talking about GTSpotter.
>>>
>>> Nobody else asked for it, so I'm guessing it was well-known before and
>>> I'm the only one who failed to get addicted to whatever the shortcut
>>> was doing before? How do we make discoverable affordances for such
>>> behaviors in the image?
>>>
>>>
>>>
>>
>>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>


Re: [Pharo-users] Extending GTSpotter

2014-12-12 Thread kilon alios
could not agree more, this is a great tool with a huge potential and really
upgrades the Pharo experience.

I have not see anything similar in other IDEs I have been using in the
past.

On Fri, Dec 12, 2014 at 2:07 PM, Esteban Lorenzano 
wrote:
>
> shift+enter is better.
> I will remove Spotlight soon… honestly spotter is so much better than even
> when not everything is working perfect, is already a huge improvement
>
> Esteban
>
> On 12 Dec 2014, at 12:11, Tudor Girba  wrote:
>
> I would like to get Shift+Enter (because Cmd+Enter will be useful in other
> contexts), but we wanted to have something that can live next to the
> Spotlight for a while.
>
> But, now that we are over the first set of problems, I would like to use
> Shift+Enter. Any objections?
>
> Cheers,
> Doru
>
>
>
> On Fri, Dec 12, 2014 at 12:33 PM, stepharo  wrote:
>>
>> I got the same problem and Cmd+ENter was already used on my machine set
>> up.
>> So it was not really simple.
>>
>> Le 11/12/14 17:25, Damien Pollet a écrit :
>>
>>  Cmd+Enter: ‘Package'

>>> Doru, your blog post does not mention this piece of information: how
>>> to invoke GTSpotter
>>> It does not seem to be mentioned in your announcement email either; I
>>> found it here after going through threads talking about GTSpotter.
>>>
>>> Nobody else asked for it, so I'm guessing it was well-known before and
>>> I'm the only one who failed to get addicted to whatever the shortcut
>>> was doing before? How do we make discoverable affordances for such
>>> behaviors in the image?
>>>
>>>
>>>
>>
>>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>
>
>


Re: [Pharo-users] Question about Morphic in Pharo 4

2014-12-18 Thread kilon alios
No the improvements are gradual and try to clean up some of the design of
Morphic but as you can imagine backward compatibility has to be retained
because there is loads of Pharo tools, apps , code and libraries that rely
on Morphic and Morphic's design. Even if Morphic is replaced at some point
it will be a very gradual process and still some compatibility will be
retained to keep things familiar for experience pharo coders.

Most of all Morphic is by far the biggest and most complex pharo library so
producing a replacement it wont be a walk in the park. So yes you can rely
on the fact that things will stay not exactly the same but pretty similar
for a very very long time. If I had to say an estimate I would say at least
10 years down the road.

On Thu, Dec 18, 2014 at 4:28 PM, nacho <0800na...@gmail.com> wrote:
>
> Hi folks,
> I'm doing some project in Morphic in Pharo 3. I was wondering if big
> changes
> are expected in Moprhic in Pharo 4 or if it will remain relatively
> unchanged.
> Thanks in advance.
> Nacho
>
>
>
>
> -
> Nacho
> Smalltalker apprentice.
> Buenos Aires, Argentina.
> --
> View this message in context:
> http://forum.world.st/Question-about-Morphic-in-Pharo-4-tp4796331.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] Question about Morphic in Pharo 4

2014-12-19 Thread kilon alios
>
> "  Then I guess it grew rapidly and radically out of control and became
> this monstrosity "


Where are the people running screaming , where are the superheroes to save
the day ?

Think about it, if Morphic was really ugly that started as something
beautiful then someone would have rebooted Morphic by now and started
something from scratch and replaced Morphic by now. I have been very
closely following pharo lists for a couple of years now and I have not seen
so many people complain about Morphic.

Sure Morphic has its own messes to deal with but please find me a library
of the size of Morphic that is not messy in some areas. You think that QT ,
GTK , Winforms etc are not heavily criticized ? Think again. GUI APIs are
big ugly and prone to confusion and bad designs.

The problem with modern GUI APIs are that the demands for them are super
complex. Looks at web browser which are now the forefront of GUI design is
a ton of mess because the demands are really that complex . Take a look at
3d applications, 2d app, audio apps and music apps and you will find that
many of them use their own GUI APIs.

Why people tolerate these big messy GUIs APIs , why they tolerate the
ugliness of html/css ? The answer Is simple . because they offer what they
need . Same applies with Morphic, its big and complex because we need it to
be big and complex.

Could the design being improved ? sure and Morphic is constantly improving
, I make my own contribution as well because its an area that heavily
interests me. But make no mistake about it, you will never have a shoe that
fits all.

For me its much better to have several tools and libraries that help us
deal with the complexity of Morphic than simplifying Morphic by removing
useful features in sake of simplifying.

If you want to see what real monstrosity looks like take a look at MFC, its
the only library of any kind that I know that desperately needs an
exorcism.

"Following the Spec tutorial (which is excellent, by the way!)"

See this is where we get in the area of personal preference, I find Spec
very ugly. I mean really , really ugly. I used it to develop my theme
manager Nireas and I definetly dont like its workflow and now I am
seriously looking into porting Nireas back to Morphic and developing my own
library to fix Morphic shortcomings. However this is what is amazing about
Pharo we live in a time that because of the active development and
contribution you have many choices and you can choose the one that fits you
better or the one you like the most.

For the example even though I dont like html/css as you may have guessed by
now, I would love to have webkit or some other web browser engine embeded
inside the pharo image and so being able to display websites from inside
pharo. None can question the incredible value of diversity of options.

"I have also heard that Morphic made more sense in its original habitat in
Self, because you really could just clone a UI component and start
customizing it, because Self only has instances, no classes."

I think prototype based programming is great because offers to the
developer more power in more elegant way than classes. I think you will
find few people not agreeing on this, even one of the creators of Smalltalk
, Ingalls, said something along the lines that if he had to redesign
Smalltalk would have made it prototype based. But and thats a big but in
practice I seriously question the usefulness of prototype based
programming.

Take a look at Pharo its class based but still easy to hack , right ? Yet
people are reluctant to hack and for a good reason. Because you have to
deal with merge hell , people hacking the same thing as you or you do
something and system misbehaves because you hacked an object that another
object depended on.

So classes for me are there to provide a more concrete implementation and
area that is labeled "modify with extreme care" . Afterall its not that
hard to take a Morph class subclass it and create your own class instead of
changing that Morph class directly.

But as I said I agree that prototype based programming is more elegant but
in the end it does not matter as much as you think it does, because if it
did then Prototype based would be dominant by now. So to summarize , no
Morphic fits Pharo like a glove.

"Spec seems to be promising non-Morphic backends, is that an active
development interest and if so what targets are being explored?"

Spec is a wrapper meaning knowing spec does not require to know Morphic and
that means also it can exist without Morphic, not currently, but probably
one day. PolyMorph is an extension of Morphic meaning you have to know
Morphic and depends on it. So they are two very
fundamentally different things. I think however this is a moot point. The
bottom line is that GUI development is an extremely important part of Pharo
and any other programming language. If you can bet on anything is that GUI
APIs of any kind will keep evolving , so yes Morphic will keep improving

Re: [Pharo-users] Question about Morphic in Pharo 4

2014-12-19 Thread kilon alios
Well Spec from what I understand requires a model for each thing you add to
it which makes classes bigger and unecessary complex. I also dont like the
name defaultSpec which for me mean nothing and creates confusion. Other
classes I see use name defaultSpec2 which makes even less sense. Generally
speaking Spec is a library that I find very hard to figure out from example
and reading the code compared to Morphic. Also a shortcoming of spec is
that is not designed to be custom gui friendly from what I see since it
seems to just wrap morphs if you want custom element guis.

Also I dont understand why we need initialise and instiate , looks to me
like Spec requires too many definitions to add stuff together which is an
area that Morphic excel AFAIK where in example of Morphic all you have to
do is addMorph: in Spec it appears to me there so many steps.

If I want to add a button then I should using a single line of code.

Generally speaking my Nireas class is an extremely simple GUI that is
uneccessary complex. Sure I could brake the GUI to smaller Spec widgets but
for me that makes no sense for such a small GUI. I cant see with all this
overhead how Spec would be useful for me for very complex guis I want to
create in the long run when Morphic design is so clear to me.

Another thing to note here is that I have read the Spec documentation again
and again and it has been a seriously struggle to make sense of Spec
because of this complex and weird design. Morphic on the other hand has
been a walk in the park for some guis I created with it because its design
is so simple and elegant. I never read docs on Morphic , I just take a look
at Morph examples and immediately understand how things work. Saying that I
had issues understanding how treemorph worked and cant say I liked the
code.

That also may have to do with how I work which is that I was raised with
legos so I love to assemble things together instead of abstracting them
away which I think is what Spec tries to do. So Morphic definitely fits my
way of thinking better.

On Fri, Dec 19, 2014 at 5:50 PM, Johan Fabry  wrote:

>
> > On Dec 19, 2014, at 07:44, kilon alios  wrote:
> >
> > See this is where we get in the area of personal preference, I find Spec
> very ugly. I mean really , really ugly. I used it to develop my theme
> manager Nireas and I definetly dont like its workflow and now I am
> seriously looking into porting Nireas back to Morphic and developing my own
> library to fix Morphic shortcomings.
>
> I ask this to understand the problem: can you tell me what you find really
> ugly about Spec, why you don’t like its workflow, and why Morphic does it
> better in your opinion?
>
> TIA
>
> ---> Save our in-boxes! http://emailcharter.org <---
>
> Johan Fabry   -   http://pleiad.cl/~jfabry
> PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile
>
>
>


Re: [Pharo-users] Question about Morphic in Pharo 4

2014-12-19 Thread kilon alios
"Can you help me understand?"

sure take this simple example I want to add a button for choosing
background color, I am giving you the list of my problems

1) If I want to initialise it I cant use the initialise method of my class
(why ? ) I have to use initializeWidgets

2)  Inside initializeWidget I create an array that describes the name of
each button but no that is not enough

3) I have also have to initialise seperately the button with self newButton
but wait that is not enough

4) I have to define the action of the button the only step here that makes
sense to me but even that is not enough

5) I have to create a method that returns the name of the button and to
makes things even more verbose

6) I have to define a method at the class side for positioning the button .
No idea why this goes to the class side

And all that so I can say to Spec take this button which has this label and
will trigger this method and put it in that place. Java Swing is not that
verbose.

Generally I dont like this approach that I need to generate so many method
and so many steps to define something so simple.

So what happens right now is that I have a very simple GUI with 7 buttons
and 6 moprh that i use to display colors , guess how many methods my class
has .

36 !!!

By the way in case you wonder 90% of the code is just Spec. For me thats
plain unacceptable.

So what happens if I have a GUI with over 100 buttons do I need 300 methods
just for Spec ? Really ??


Re: [Pharo-users] Question about Morphic in Pharo 4

2014-12-19 Thread kilon alios
I used legos to make my own creations , I was never interested in pre built
solutions. I have not see the lego master builder series no , I have left
lego as childhood memory actually I stopped playing with legos when I was
introduced into coding at age 9 and coding has been my lego ever since.

Documentation for Morphic exist in squeak wiki  (there is plenty of it
there) and in self documentation, its only Pharo that has Morphic
undocumented. Well not entirely there is a chapter about it in PBE but I
think thats ported from Squeak By Example. There also a lot of video
tutorial on youtube for Morphic if I remember correctly.

Frankly I dont completely understand what the target audience of Spec
really is

On Fri, Dec 19, 2014 at 11:43 PM, Daniel Lyons 
wrote:

>
> On Dec 19, 2014, at 9:24 AM, kilon alios  wrote:
>
> That also may have to do with how I work which is that I was raised with
> legos so I love to assemble things together instead of abstracting them
> away which I think is what Spec tries to do. So Morphic definitely fits my
> way of thinking better.
>
>
> My brother and I both played with Legos a lot as kids. We'd each get a big
> set. I would follow the instructions and build the model on the box. Then
> I'd play with it, and eventually get bored with it and it would go on the
> shelf. My brother would get halfway through following the instructions and
> get bored, start making his own stuff. Eventually the pieces would wind up
> in the big bin under his bed, along with whatever bits and pieces he hadn't
> taken apart yet. I always thought his stuff was terrible, didn't look as
> cool as what was on the box. He always thought I was boring because I'd
> just build the one or two things it would tell you how to make.
>
> Today, I am a professional Java web developer, with roots in Python,
> Haskell and Prolog. My brother, on the other hand, is a writer, potter,
> musician, and professional industrial hygienist but does not program at all.
>
> When you compare Smalltalk programmers to other developers, you get a lot
> of people who taught themselves by messing around in the image
> (autodidacts) and you have a lot of people who only know Smalltalk and
> don't really use other languages. The autodidacts I think, tend to love
> Morphic. But I'm not sure how many of them learned it in Pharo versus
> Squeak. And I think most of you probably loved Legos and were a lot more
> like my brother, building your own things to suit yourselves from your own
> imagination. Part of the genius of Pharo, in my opinion, is that it is a
> lot more welcoming to people like me. The downside, of course, is that you
> have to deal with a lot more people like me. :)
>
> Have you seen the Lego Master Builder series? They realized there were a
> lot of kids out there who would benefit from more documentation. Even
> unimaginative parents like myself can benefit from them. I got Lego MBA #1
> and read the manual closely. It's obviously intended for a 10–12-year-old
> but I benefited from it.
>
> Spec's documentation is a lot like the Lego MBA. You're not the target
> audience, I am. I wish everything in the image were documented like that. I
> think that was sort of the intention behind Pharo by Example, which I read
> and got a lot out of. Spec's documentation being out there and
> Polymorph/Morphic not having anything like it definitely sends a message
> about Polymorph and Morphic though, which leads to questions like mine.
>
> —
> Daniel Lyons
>
>
>
>


Re: [Pharo-users] Question about Morphic in Pharo 4

2014-12-19 Thread kilon alios
yes you can find my code here

https://github.com/kilon/Nireas



On Sat, Dec 20, 2014 at 12:17 AM, Johan Fabry  wrote:

> 36 methods for your UI is way too much. I suppose you are doing something
> wrong somewhere. You should not need all of these steps. It should be:
>
> First you add the instance var (e.g. button) and accessors (BTW: Generate
> the accessors. It’s 3 keystrokes and a click), otherwise the UI object
> cannot reference its widgets.
>
> For 1) see my previous mail. The idea is to have 1 clear responsibility
> per method, it’s good software engineering principles to do that.
>
> You don’t need to do 2)
>
> 3) if you don’t put a specific object inside the variable there is no way
> for the system to know what kind of widget you want.
>
> 4) yes this makes sense :-)
>
> I do not understand what you mean with 5), sorry. I don’t do anything like
> that.
>
> 6) you have to state where this button has to go, there is no way around
> that. Class side is not so intuitive, OK. But at least all the layout is in
> one place so we have 1 clear responsibility for each method.
>
> To summarize, there are 4 steps and none of them can really be omitted.
>
> I would like to have a look at your UI class so I can figure out what’s
> going on. Can you tell me where to find it?
>
> > On Dec 19, 2014, at 16:54, kilon alios  wrote:
> >
> > "Can you help me understand?"
> >
> > sure take this simple example I want to add a button for choosing
> background color, I am giving you the list of my problems
> >
> > 1) If I want to initialise it I cant use the initialise method of my
> class (why ? ) I have to use initializeWidgets
> >
> > 2)  Inside initializeWidget I create an array that describes the name of
> each button but no that is not enough
> >
> > 3) I have also have to initialise seperately the button with self
> newButton but wait that is not enough
> >
> > 4) I have to define the action of the button the only step here that
> makes sense to me but even that is not enough
> >
> > 5) I have to create a method that returns the name of the button and to
> makes things even more verbose
> >
> > 6) I have to define a method at the class side for positioning the
> button . No idea why this goes to the class side
> >
> > And all that so I can say to Spec take this button which has this label
> and will trigger this method and put it in that place. Java Swing is not
> that verbose.
> >
> > Generally I dont like this approach that I need to generate so many
> method and so many steps to define something so simple.
> >
> > So what happens right now is that I have a very simple GUI with 7
> buttons and 6 moprh that i use to display colors , guess how many methods
> my class has .
> >
> > 36 !!!
> >
> > By the way in case you wonder 90% of the code is just Spec. For me thats
> plain unacceptable.
> >
> > So what happens if I have a GUI with over 100 buttons do I need 300
> methods just for Spec ? Really ??
>
>
>
> ---> Save our in-boxes! http://emailcharter.org <---
>
> Johan Fabry   -   http://pleiad.cl/~jfabry
> PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile
>
>
>


Re: [Pharo-users] Question about Morphic in Pharo 4

2014-12-19 Thread kilon alios
"Spec is all about *composing* models.
If you want a GUI with many UI elements and try to build this with
a single model, spec won't be much help."

whats a model ?

whats a composing model ?

"Not both are needed, either you call newXmodel for every model or you call
instantatieModels with an array of "instanceVars and Models""

no idea what newXmodel is

"spec is designed to provide *reusable* models."

dont understand what that means since I dont understand model and
documentation does explain it clearly.

"Take a look at DynamicComposableModel (the examples in pharo or the
examples posted on this list), for a simple GUI you only need some few
lines of code."

yes that is more to what I like but I was trying to do thing the "default"
way of Spec.

"That's not unusual. 90% spec means "not 90% morphic"

no what I meant is that 90% is what Spec requires and 10% what is actually
would make sense to me that Spec should require.

"If you have 100 buttons in one GUI without the possiblity to divide it in
small reusable
parts, then spec may be your smallest problem."

divinding something to smaller parts you dont make it simpler or less
verbose you make it more manageable.

"The two years I am working with pharo and reading this list, I have read
more
complains than constructive critics (about morphic and spec).
We have the following options:
- complain
- constructive critics
- contribute
- develop a new framework (develop *active*)"

My choice is pretty much final on "neither" . I want to use Morphic and
extend it where it does not fit my style or my needs.

Just a side note, what I did with Spec is follow its documentation and its
examples, its not as if I made all this up out of my head.

On the matter of complaining , you may want to think that coding is about
gettting a job done but I can assure you this definetly NOT how I see
coding. For me coding is for fun and anything that kills my fun I pay it
back by not using it.  At some point obviously we have to be practical
about how we get things done but anyone who believes that what motivates
coding in general is practical application and not personal emotions is a
person about to be severely surprised.

We can also debate what is "constructive criticism" but it wont be a long
pointless debate since its a very vague definition anyway. I know however
one thing in life, that complain is way more valuable than applauding,
though less desirable.


Re: [Pharo-users] Question about Morphic in Pharo 4

2014-12-19 Thread kilon alios
"Lines 4 to 11 are not necessary. Just remove them"

thats great it removed one big thing that annoyed me. Why is this not
necessary ?

"Lines 20 to 26 introduce 7 methods that are not needed, you could include
this in initializeWidgets itself. So we go from 36 to 29 methods at
instance side."

why would I want to do that ? it will increase the method by 20 lines of
code and would look much meshier . I am not in a desperate need to decrease
the amount of methods so I can make other methods bigger and messier.

"Lines 7 through 12  introduce 6 methods that are not needed, you could
include this in initialize itself. So we go from 29 to 23 methods at
instance side."

again I will pass, I rather brake down things down to small method than
having one long method.

"10 methods for a UI class is not so bad, is it?"

I will say its worse because what we have now is a code that is as verbose
with less method but now harder to read as well because of very big methods
for Smalltalk standards.

One thing that interests me is , can avoid having to return the model by
separate methods and instead pass them to a dictionary/list/array and
return from only one method ? If yes that would be the turning point for me
towards Spec.


Re: [Pharo-users] Question about Morphic in Pharo 4

2014-12-19 Thread kilon alios
"UI Element = an interactive graphical element displayed as part of the
Graphical User Interface.
UI Model = an object that contains the state and behavior of one or several
UI elements."

"To define a user interface, it is sufficient to define the model of the
user interface. […] since all UIs are constructed through composition of
other UI's, and it is sufficient to define the model to define the UI, the
root class of all UIs is named ComposableModel.So, to define a new user
interface, a subclass of ComposableModel needs to be created.”"

I dont understand this for me a GUI is a UI with graphics I dont see it as
two separate entities. I dont see what the model is in my case and why I
should inform Spec about it. I just wanted to create some buttons I dont
see how those method returning the names of the buttons as instance
variables helps me in any way. Whats the benefit ?

"Just wondering, did you see an example with the double instantiation of
models or with the needles splitting up in methods? If so tell us where it
is so we can fix it."

Double initiation may have been just me not understanding documentation
or probably I saw an example that confused me. Splitting up methods is
probably the first thing I learned using Squeak and Pharo. Also The system
browser turns red if you make long methods .


Re: [Pharo-users] Question about Morphic in Pharo 4

2014-12-20 Thread kilon alios
"This is an explanation of how the whole is composed of the different parts
and how different responsibilities of the UI are split up amongst different
classes. In Morphic these are joined and that’s a reason why many persons
are unhappy with it."

AFAIK the idea behind MVC is a GUI system that is divided into 3 elements
each element represented by a class. Model, View , Controller. Model is
where the data is resides and as a class it has methods to process the
data. View is the graphical element itself that is displayed on the screen
. Controller is responsible for the interaction of the View with mainly
handling keyboard and mouse events.

>From my observations I see that the pitfall of Morphic is that it mixes
View with the Controller, since Morph handles also its own events. I fail
to see however how Morphic forces you to also mix in your Model to the
View. I fail to see how a Morph would force me to put my data inside it .

I am really interested in understanding this as it will help me not only
like Spec but also prepare myself for any problem I experience with Morphic
because even if continue to use Spec I will stiil have to rely on Morphic
since custom GUIs is really important for me.

"I focused on you splitting up into methods because that was a complaint of
yours and you said you were following Spec examples when doing that."

But I think I have been crystal clear about this my main issues were 2

1) Spec was forcing to define an array and then also initialise using
classes for each spec element. This is where I was wrong. I am very happy I
was wrong.
2) I have to return each spec element which makes sense to me but what
annoys me is that I have to do it verbosely by returning each
variable separately in its own method. Instead inside a single method and
pass it as an array which would reduce the amount of methods used
dramatically.
3) I did not like the name "defaultSpec" again I was wrong, since as I was
notified I can use whatever name I want as long as I use the pragma

Braking down to smaller methods is something Pharo is doing everwhere. Its
pretty rare to find methods 20 lines long like you were proposing if I
united all these methods. Yes some example of Spec do that . The example
with really long method is the dynamic spec example which in that case it
makes sense for the method to be long as it acts this way to illustrate the
dynamic nature of spec.




On Sat, Dec 20, 2014 at 3:18 AM, Johan Fabry  wrote:

>
> > On Dec 19, 2014, at 21:54, kilon alios  wrote:
> >
> > "UI Element = an interactive graphical element displayed as part of the
> Graphical User Interface.
> > UI Model = an object that contains the state and behavior of one or
> several UI elements."
> >
> > "To define a user interface, it is sufficient to define the model of the
> user interface. […] since all UIs are constructed through composition of
> other UI's, and it is sufficient to define the model to define the UI, the
> root class of all UIs is named ComposableModel.So, to define a new user
> interface, a subclass of ComposableModel needs to be created.”"
> >
> > I dont understand this for me a GUI is a UI with graphics I dont see it
> as two separate entities. I dont see what the model is in my case and why I
> should inform Spec about it. I just wanted to create some buttons I dont
> see how those method returning the names of the buttons as instance
> variables helps me in any way. Whats the benefit ?
>
> This is an explanation of how the whole is composed of the different parts
> and how different responsibilities of the UI are split up amongst different
> classes. In Morphic these are joined and that’s a reason why many persons
> are unhappy with it.
>
> > "Just wondering, did you see an example with the double instantiation of
> models or with the needles splitting up in methods? If so tell us where it
> is so we can fix it."
> >
> > Double initiation may have been just me not understanding documentation
> or probably I saw an example that confused me. Splitting up methods is
> probably the first thing I learned using Squeak and Pharo. Also The system
> browser turns red if you make long methods .
>
> I focused on you splitting up into methods because that was a complaint of
> yours and you said you were following Spec examples when doing that.
>
> ---> Save our in-boxes! http://emailcharter.org <---
>
> Johan Fabry   -   http://pleiad.cl/~jfabry
> PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile
>
>
>


Re: [Pharo-users] Question about Morphic in Pharo 4

2014-12-20 Thread kilon alios
ok thank you for taking it the time explaining things. I will figure this
out myself.

On Sat, Dec 20, 2014 at 3:46 PM, Johan Fabry  wrote:

> This is my last mail to the thread as we are going around in circles.
>
> > "I focused on you splitting up into methods because that was a complaint
> of yours and you said you were following Spec examples when doing that."
> >
> > But I think I have been crystal clear about this my main issues were 2
>
> And you also said that you had a class with 36 methods and you were
> clearly upset about it. There were three exclamation marks.
>
> > 2) I have to return each spec element which makes sense to me but what
> annoys me is that I have to do it verbosely by returning each variable
> separately in its own method. Instead inside a single method and pass it as
> an array which would reduce the amount of methods used dramatically.
>
> These methods are called accessors. Please use the conventional
> terminology so that we can better understand each other. You were talking
> about the names of the spec elements before and that was very confusing
> (and you never cleared it up).
>
> As I said in a previous mail, you don’t write accessors by hand, you
> generate them. Try in Nautilus: click on a class name, right click for the
> menu, Refactoring->Class Refactoring->Generate accesors. Or cmd-h-a. It
> will propose a list of accessors to generate for you.
>
>
>
> ---> Save our in-boxes! http://emailcharter.org <---
>
> Johan Fabry   -   http://pleiad.cl/~jfabry
> PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile
>
>
>


Re: [Pharo-users] Question about Morphic in Pharo 4

2014-12-20 Thread kilon alios
no I am sorry but I cannot understand it, looks like I am too stupid for
Spec . Its ok though thats my fault , thank you all for trying to help me
understand. Unfortunately the whole design of Spec looks extremely hard to
me.

On Sat, Dec 20, 2014 at 3:48 PM, Nicolai Hess  wrote:

> This is how I would do it. (see attachement)
> What do you say? Is it clearer now what I meant with
> compose and reusable models?
>
> I am curios how would a pure morphic based solution look like.
>
> As it is just a simple dialog, I think the pure morphic version would be
> similar (in code size)
> and of course, it can be build by small reusable parts as well.
>
>
>
> 2014-12-20 0:18 GMT+01:00 kilon alios :
>
>> yes you can find my code here
>>
>> https://github.com/kilon/Nireas
>>
>>
>>
>> On Sat, Dec 20, 2014 at 12:17 AM, Johan Fabry 
>> wrote:
>>
>>> 36 methods for your UI is way too much. I suppose you are doing
>>> something wrong somewhere. You should not need all of these steps. It
>>> should be:
>>>
>>> First you add the instance var (e.g. button) and accessors (BTW:
>>> Generate the accessors. It’s 3 keystrokes and a click), otherwise the UI
>>> object cannot reference its widgets.
>>>
>>> For 1) see my previous mail. The idea is to have 1 clear responsibility
>>> per method, it’s good software engineering principles to do that.
>>>
>>> You don’t need to do 2)
>>>
>>> 3) if you don’t put a specific object inside the variable there is no
>>> way for the system to know what kind of widget you want.
>>>
>>> 4) yes this makes sense :-)
>>>
>>> I do not understand what you mean with 5), sorry. I don’t do anything
>>> like that.
>>>
>>> 6) you have to state where this button has to go, there is no way around
>>> that. Class side is not so intuitive, OK. But at least all the layout is in
>>> one place so we have 1 clear responsibility for each method.
>>>
>>> To summarize, there are 4 steps and none of them can really be omitted.
>>>
>>> I would like to have a look at your UI class so I can figure out what’s
>>> going on. Can you tell me where to find it?
>>>
>>> > On Dec 19, 2014, at 16:54, kilon alios  wrote:
>>> >
>>> > "Can you help me understand?"
>>> >
>>> > sure take this simple example I want to add a button for choosing
>>> background color, I am giving you the list of my problems
>>> >
>>> > 1) If I want to initialise it I cant use the initialise method of my
>>> class (why ? ) I have to use initializeWidgets
>>> >
>>> > 2)  Inside initializeWidget I create an array that describes the name
>>> of each button but no that is not enough
>>> >
>>> > 3) I have also have to initialise seperately the button with self
>>> newButton but wait that is not enough
>>> >
>>> > 4) I have to define the action of the button the only step here that
>>> makes sense to me but even that is not enough
>>> >
>>> > 5) I have to create a method that returns the name of the button and
>>> to makes things even more verbose
>>> >
>>> > 6) I have to define a method at the class side for positioning the
>>> button . No idea why this goes to the class side
>>> >
>>> > And all that so I can say to Spec take this button which has this
>>> label and will trigger this method and put it in that place. Java Swing is
>>> not that verbose.
>>> >
>>> > Generally I dont like this approach that I need to generate so many
>>> method and so many steps to define something so simple.
>>> >
>>> > So what happens right now is that I have a very simple GUI with 7
>>> buttons and 6 moprh that i use to display colors , guess how many methods
>>> my class has .
>>> >
>>> > 36 !!!
>>> >
>>> > By the way in case you wonder 90% of the code is just Spec. For me
>>> thats plain unacceptable.
>>> >
>>> > So what happens if I have a GUI with over 100 buttons do I need 300
>>> methods just for Spec ? Really ??
>>>
>>>
>>>
>>> ---> Save our in-boxes! http://emailcharter.org <---
>>>
>>> Johan Fabry   -   http://pleiad.cl/~jfabry
>>> PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile
>>>
>>>
>>>
>>
>


Re: [Pharo-users] Question on temporal variables in Workspace

2014-12-28 Thread kilon alios
I am not familiar with that part of Pharo because I never use temporary
variables in Workspace but I did a little experiment and this is what I
found . I followed these 3 steps

1) I created 2 Workspaces
2) In first Workspace I put the code

|a|
a:= Morph new.
a openInWindow .

3) In the second Workspace I put the code

a:= Morph new.
a openInWindow .

Now executing both examples give the result you would expect , a morph
inside a window BUT if I inspect variable a in both cases , the workspace
variable example returns me a Morph as to be expected on the other hand the
workspace temporary variable returns me an undefined object. So that leads
me to assume here that the temporary variable works as expect by destroying
its reference as soon as the code is executed, hence why its called
"temporary ;)



On Sat, Dec 27, 2014 at 9:28 PM, nacho <0800na...@gmail.com> wrote:

> Hi pharoers,
> In killion video tutorials I see that he uses variables not declaring them
> as temporal (that is | aVariable | ).
> If one does not declare variables as temporal in a workspace what kind of
> variables are them?
> Also why in the tutorial they appear in blue and in my workspace they
> appear
> in red as if there was something wrong? (actually if I declare all
> variables
> as temporal using | | then all turn tu blue).
> Thanks in advance and best regards
> Nacho
>
>
>
>
> -
> Nacho
> Smalltalker apprentice.
> Buenos Aires, Argentina.
> --
> View this message in context:
> http://forum.world.st/Question-on-temporal-variables-in-Workspace-tp4797161.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] Question on temporal variables in Workspace

2014-12-28 Thread kilon alios
"You figured out how to use it, yet you did not use the system to search
for an explanation ?"

Do you call me lazy ?

where you based this assumption ? I have looked in the past on the comment
of the Workspace class but I dont find an adequate (as most class comments
inside Pharo) to explain the inner workings of Workspace. Also I dont have
the time ( I can only spare one hour a day ) to study the entire source
code of Pharo , I read code only on the "need to know basis". I never felt
the need to know how workspace variables work internally and whats
their difference with temporary variables.

"Check the references to the instance variable 'bindings' of Workspace."

if you read my post you would have noticed I have already done that. Unless
you mean something else ?

Also the title of this thread is "Temporary Variables" , I dont see you
mentioning them anywhere .

"When evaluating code (do it, inspect it, print it) the expression is
compiled. Compilation happens in a context. For scripting code this is
often nil, but Pharo (method code) normally references an object (self). So
when evaluating from a Workspace, the workspace instance with its bindings
is used as context. So, these variables are local to the workspace, but
behave a bit like a mixture between global and instance variables."

I don't know how Nacho feels about this but I cant say it makes it clear
for me how workspace variables vs workspace temporary variables work
exactly.

I have read about Squeak compilation model somewhere and the importance of
thisContext , so I think I understand at least vaguely how this works.

I have to say I find the term "scripting" perplexing. Scritping for me is
coding that allows one to manipulate an application, but Pharo is more like
a development enviroment so I dont see how it would be possible to do
scripting inside Pharo using the pharo language.


Re: [Pharo-users] Question on temporal variables in Workspace

2014-12-28 Thread kilon alios
this is the class comment of Workspace :

 <<< A Workspace is a text area plus a lot of support for executable code.
It is a great place to execute top-level commands to compute something
useful, and it is a great place to develop bits of a program before those
bits get put into class methods.

To open a new workspace, execute:

Workspace open


A workspace can have its own variables, called "workspace variables", to
hold intermediate results.  For example, if you type into a workspace "x :=
5" and do-it, then later you could type in "y := x * 2" and y would become
10.

Additionally, in Morphic, a workspace can gain access to morphs that are on
the screen.  If acceptDroppedMorphss is turned on, then whenever a morph is
dropped on the workspace, a variable will be created which references that
morph.  This functionality is toggled with the window-wide menu of a
workspace.



The instance variables of this class are:

bindings  -  holds the workspace variables for this workspace

acceptDroppedMorphss - whether dropped morphs should create new variables
>>>


Call me blind but I dont see anywhere mentioning local/temporary variables
and how they work diffirently for wokspace compared to just regular
workspace variables. Because thats exactly what we discuss here.

"Once you get the hang of it, it is really cool and powerful."

Indeed it get better and better, and I can see why pharo coders feel less
need to rely on documentation compared to beginners like me and Nacho. The
one thing that really annoy me with pharo is what I call "the happy
Kangaroo" problem. That problem appears in some cases that one method
depends on another which depends on the other etc etc that ends up a nasty
spagettification .So trying to understand the code is like hunting down a
happy Kangaroo.  This is where class comments can be really helpful to help
you understand something that you wont get easily from reading method
source.

Actually I think this workspace comment is quite good, I have no issues
with it, it just does not answer the question of this thread which is ok. I
dont care about perfection.


Re: [Pharo-users] Question on temporal variables in Workspace

2014-12-28 Thread kilon alios
yes that is an issue I have as well and it seems that it also continues in
Pharo 4 Playground. But generally should not affect your code.

On Sun, Dec 28, 2014 at 4:32 PM, nacho <0800na...@gmail.com> wrote:

> First of all thanks for all the responses. I should have checked the class
> comment first.
>
> I agree with Kilon, if I use a temporary variable in a workspace after
> doing
> the code if I inspect it the object is gone whereas doing it the way Kilon
> does the object is still there.
> Now why in my Pharo images Workspace variable (I suppose this is the
> correct
> term isn't it?) are in red and in Kilon's awesome tutorials are in blue?
> best regards
> Nacho
>
>
>
>
>
> -
> Nacho
> Smalltalker apprentice.
> Buenos Aires, Argentina.
> --
> View this message in context:
> http://forum.world.st/Question-on-temporal-variables-in-Workspace-tp4797161p4797208.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] if Pharo is key for you

2015-01-11 Thread kilon alios
Good thread I would love also to hear what other Pharoers work behind the
scenes

My own project is Ephestos a visual coding enviroment for Blender . I have
made some good progress in 2014 and I am sure 2015 will bring more
features. Ephestos will benefit the Pharo community by

1) Offering full access to the most powerful open source and free
application for creating of 3d art , Blender.

2) Allow Pharo full access to Cpython libraries one of the most popular and
powerful language out there and also allow python code to mix with pharo ,
see python code as pharo code etc.

Both goals have been achieved partly and I hope to bring my project closer
to them each year.

https://www.youtube.com/watch?v=XPGDQc5LUvE

I am also interested as secondary goals to

3) bring more visual coding tools to pharo

4) integrate tablets and smartphones (android and ios) with pharo as
external controllers and as replacements to both mouse and keyboard.



On Sun, Jan 11, 2015 at 6:21 PM, Offray Vladimir Luna Cárdenas <
off...@riseup.net> wrote:

> Hi all,
>
> Just picking up some old threads, so I answer this below.
>
> El 18/09/13 a las 01:19, Stéphane Ducasse escribió:
>
>> Hi guys
>>
>> if Pharo is key for you then you should ask yourself what you did for
>> Pharo recently.
>> Writing code, writing documentation helping closing bug entries,
>> participating to the association, to the consortium...
>>
>> Pharo is not happening from spontaneous generation.
>>
>> Stef
>>
>>
> Well I recently (previous semester) start to:
>
> 1. Learn Pharo.
> 2. Develop my own app to learn and write about the process [a][b]. I will
> be payed for this prototype and will be a paying member of the association.
> 3. Made my local group of Pharo/Smalltalk on Data narratives and
> visualization for Open/Garage/Citizen Science & Research at our local
> hackerspace with several (3 or 4) meetings that will continue this year [c].
> 4. Read a lot of previous email to be aware the community memory and
> revive older threads when is possible and trying to be a more
> proactive/visible member of this community, even in my newbie condition.
>
> So, what I'm planing for this year:
>
> 1. To learn/teach more about Pharo specially moldable tools, fluid
> interfaces and good devel practices.
> 1. To have a good application with some data narratives and visualization
> build on it. A good download page, documentation and with clean code
> instead of the rookie one I have now.
> 2. To create a stronger local community around data
> visualization/narratives for Open/Garage/Citizen Sciecen & Research powered
> by Pharo.
> 3. To write more.
> 4. Economical contributions to the community through the association.
> 5. Hopefully make stronger ties to the international community in South
> America or Europe by participating in some event or scholarship (this will
> depend on costs).
>
> Thanks for the questions and I will be glad to read other
> answers/prospective about persons and Pharo,
>
> Cheers,
>
> Offray
>
> Links:
> ==
>
> [a] http://mutabit.com/deltas/repos.fossil/grafoscopio/doc/
> tip/Docs/Es/Articulos/Libertadores/bootstrapping-objeto-investigacion.pdf
>
> [b] http://smalltalkhub.com/#!/~Offray/Grafoscopio/
>
> [c] http://hackbo.co/
>
>
>
>


Re: [Pharo-users] Useful tools?

2015-01-13 Thread kilon alios
"The Configuration Browser is nice, but it still doesn't provide any
kind of description for the packages. I mean, looking at the list of
packages, I can probably guess what "Dependency Analyser" does, but I
have exactly zero chance in guessing what Epicea, Ephestos, Illiad,
Kendrick, Mandrill, Marina, Pastell, Pillar or Ston are about. Even a
single line description, displayed in a tooltip, would be a huge
improvement. Can this be added?"

I am the creator of Ephestos , its a library that allow Pharo to be used
for scripting Blender (free 3d graphics application). Epicea is for
managing changes if I remember correctly, Ston is an implementation of JSON
in smalltalk , Pillar is a way to create latex files using Pharo its used
by most recent pharo documentation like the Updated Pharo By Example. I
think adding a tooltip is not enough a better option would have been a
panel that offers a detailed description (a paragraph or two of text)
together with other technical info .

"2. SmalltalkHub seems to have no way of browsing all available
packages. When I'm starting with Pharo and I don't know how some
library I need is called, I'm essentially out of luck: I need to do
much googling or ask on a mailing list, which both take more time than
it should. I see that " The following is a preview of the exploration
features of SmalltalkHub. More to come!" message is still there - I
remember it from a year or more back. Is this considered such a low
priority task, or is it just that nobody had enough time to work on
it?"

Right now Smalltalkhub is pretty much abandonware , this is why I have been
recommending to people to move to github . I have been using github for
more than 6 month now with pharo and works like a charm and there are other
pharo developers that do too. Pharo community just does not have the
resources and the man power to solve all these problems with pharo
implementations.

"One more question: besides asking on a mailing list, is there any
other way of learning about it? Is it linked from somewhere, or does
it need a lot of googling and luck (ie. googling for "pharo catalog
packages" doesn't return this link, at least on the first page of
results)."

I think that can be solved by moving projects to github, there its easier
to find news about project you care and new projects. Several blogs also
exist that mention new projects etc. Another great source is youtube and
vimeo where pharoers including myself have been uploading demos of our
projects for years now. Following the mailing lists is a very good idea
too.


"In general I have a feeling that discoverability of Pharo packages is
very bad right now. It's a serious problem for new users, and even to
a bit more advanced users who return to Pharo after some time of not
following announcements."

Pharo is not a good choice for begineers , noob friendly solutions requires
a lot more work than what you would expect, documentation, blogs, websites,
video tutorials. Pharo does not have the size of community to provide that
but is in a very good road towards that direction. So I am afraid that this
wont change any time soon. I tried to make my own contibution into
improving the situation other like Stef and Damien and others have done
much more and they definitely care but is just too much work for just a few
people.

On Tue, Jan 13, 2015 at 12:19 PM, Piotr Klibert 
wrote:

> Hi,
>
> nice timing - I returned to Pharo after a couple of months spent
> elsewhere and I'm facing the same challenges as Laura. So, a couple of
> additional comments and questions from me:
>
>
> >
> > Have you tried to use System -> Settings browser -> Formatter?
> >
>
> This setting seems to live under "Refactoring engine" category in the
> settings, it is there in vanilla Pharo 3.0 image, but not in the image
> downloaded from here:
> http://www.humane-assessment.com/blog/installing-gtoolkit
>
> Which package is responsible for adding this setting and in which version?
>
> BTW: it seems that Roassal and at least parts of Glamour don't want to
> work with bitmap fonts (StrikeFont does not understand
> #glyphRendererOn: IIRC) at all, despite bitmap font being the default
> (at least on Linux).
>
> >
> > Most of them are accessible from the Configuration Browser in Pharo 3,
> or by
> > searching in http://www.smalltalkhub.com/
> >
>
> Two questions here:
>
> 1. The Configuration Browser is nice, but it still doesn't provide any
> kind of description for the packages. I mean, looking at the list of
> packages, I can probably guess what "Dependency Analyser" does, but I
> have exactly zero chance in guessing what Epicea, Ephestos, Illiad,
> Kendrick, Mandrill, Marina, Pastell, Pillar or Ston are about. Even a
> single line description, displayed in a tooltip, would be a huge
> improvement. Can this be added?
>
> 2. SmalltalkHub seems to have no way of browsing all available
> packages. When I'm starting with Pharo and I don't know how some
> library I need is called, I'm essentially ou

Re: [Pharo-users] Becoming proficient in Pharo

2015-01-13 Thread kilon alios
very good idea indeed. I try to do something similar with my video
tutorial, my aim is to help beginners go beyond the basic of pharo. I find
creating video tutorial much easier and more fun than writing stuff down.
But yes we can do so much more in the area as well.

On Tue, Jan 13, 2015 at 4:13 PM, nacho <0800na...@gmail.com> wrote:

> Hello,
> As I struggle, not without fun of course, to learn more about Pharo and its
> frameworks and idea came to my mind.
> We could put together some guidelines on how to become proficient in Pharo,
> and eventually come to be a power user and / or a developer.
> I read several of this recommendations on various list of other programming
> languages.
> Basically the idea is to have some sort of guide, with theoretical and
> practical stuff.
> For example:
> *Beginners.*
> Start by reading Pharo by Example for getting to know the system.
> On Agile development read  book or article.
> On Object Oriented design and programming read this or that.
> For practice do this exercises from this book or site.
> For a background on Smalltalk read here or there
> Some stuff on algorithms.
>
> *Intermediate*
> Object Serialization read from here.
> The VM from here..
> Building UIs
> Basic Frameworks
> Deep into Pharo
> Pharo for the Enterprise
> etc, etc, etc
>
> *Advanced*
> etc, etc, etc
>
> Like a road map to becoming a serious Pharo users and / or developer. I
> know
> this takes years but I think it would be very useful. Well at least for me.
> I sometimes get lost when I read things like serializing, marshalling,
> object memory, not to mention the internals of Pharo.
>
> Here is a link of something someone prepared for Haskell:
> http://stackoverflow.com/questions/1012573/getting-started-with-haskell
> 
>
> Just an idea, it will be collaborative. I volunteer to keep and maintain
> the
> list updated in a place where it will be available to anyone but of course
> can't contribute much besides doing that.
> Cheers
> Nacho
>
>
>
>
> -
> Nacho
> Smalltalker apprentice.
> Buenos Aires, Argentina.
> --
> View this message in context:
> http://forum.world.st/Becoming-proficient-in-Pharo-tp4799284.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] SmalltalkHub.com <- Flakey?

2015-01-14 Thread kilon alios
Smalltalk hub has its good and bad moments, I have been experiencing weird
behaviour from time to time

On Wed, Jan 14, 2015 at 11:22 AM, Ben Coman  wrote:

> no problem here.
>
> On Wed, Jan 14, 2015 at 12:55 PM, sergio_101  wrote:
>
>> Is the smalltalk hub site really flakey lately, or is it just me?
>>
>> i am having problems loading pages, loading projects, etc..
>>
>> code seems to be uploading okay, though.
>>
>
>


Re: [Pharo-users] Becoming proficient in Pharo

2015-01-14 Thread kilon alios
by using the message "self halt" inside any method. When it reaches this
message it will stop execution and pop up the debugger, from there on its
just a matter of using the debugger to inspect the variables and move
execution one step at a time, the true power of smalltalk. This way you can
see exactly what code is executed and how it affects the variables. Of
course you can do this with other IDEs too but where it gets real
interesting is that the smalltalk debugger allows you to change the code on
the fly thus perform tests on the code to see how it behaves.

On Wed, Jan 14, 2015 at 3:56 PM, nacho <0800na...@gmail.com> wrote:

> Ben,
> How do you actually use the halt method?
> I don't follow you.
> Seems like an interesting thing to explore.
> thanks
> Nacho
>
>
>
>
> -
> Nacho
> Smalltalker apprentice.
> Buenos Aires, Argentina.
> --
> View this message in context:
> http://forum.world.st/Becoming-proficient-in-Pharo-tp4799284p4799495.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] Becoming proficient in Pharo

2015-01-14 Thread kilon alios
i am afraid not. But it will definitely be my next video tutorial ;)

On Wed, Jan 14, 2015 at 4:18 PM, nacho <0800na...@gmail.com> wrote:

> Thanks!
> Kilon, is this feature included in one of your amazing videos?
> thanks
>
>
>
>
> -
> Nacho
> Smalltalker apprentice.
> Buenos Aires, Argentina.
> --
> View this message in context:
> http://forum.world.st/Becoming-proficient-in-Pharo-tp4799284p4799505.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] Becoming proficient in Pharo

2015-01-14 Thread kilon alios
you asked and I delivered. A video tutorial on the debugger , deeper into
live coding and a powerful tool to understand the internals of objects and
their structure

https://www.youtube.com/watch?v=ZE2T2D8hikE

I will of course follow it with additional tutorials since its a rather big
subject but this tutorial should be more than enough to get you started and
make you dangerous with Pharo. Always remember to save images before
changing code , for example a self halt inside Morph initialize method was
more than enough to freeze my image.

On Wed, Jan 14, 2015 at 5:00 PM, kilon alios  wrote:

> i am afraid not. But it will definitely be my next video tutorial ;)
>
> On Wed, Jan 14, 2015 at 4:18 PM, nacho <0800na...@gmail.com> wrote:
>
>> Thanks!
>> Kilon, is this feature included in one of your amazing videos?
>> thanks
>>
>>
>>
>>
>> -
>> Nacho
>> Smalltalker apprentice.
>> Buenos Aires, Argentina.
>> --
>> View this message in context:
>> http://forum.world.st/Becoming-proficient-in-Pharo-tp4799284p4799505.html
>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>
>>
>


Re: [Pharo-users] Could we keep Pharo-dev for Pharo-dev?

2015-01-15 Thread kilon alios
does that mean that announcing new pharo tools that are included in the
standard pharo distribution should go to pharo-users ?

On Thu, Jan 15, 2015 at 9:24 AM, stepharo  wrote:

> Hi guys
>
> I will start to be picky about the mails to which I reply or even read.
> We should be more disciplined. Pharo-dev should be about Pharo-dev this is
> important
> for our concentration.
> I really like the other discussions but we should have them in Pharo-users.
> I think that it makes sense.
>
> Stef
>
>


Re: [Pharo-users] Becoming proficient in Pharo

2015-01-15 Thread kilon alios
Thank you , it means great deal to me to help people appreciate what
excites me about Pharo and the debugger is No1 reason for me and I suspect
for the majority of Pharo developers too. I actually have my own questions
too that I will try to answer with my next video, these videos are an
opportunity for me to test my knowledge. The Debugger is a huge chapter and
there is a lot of technomagic you can do with it.

On Thu, Jan 15, 2015 at 5:09 PM, nacho <0800na...@gmail.com> wrote:

> Master kilon,
> thank you very much. This is an excellent videcast.
> As always with your videos a lot of questions arise after watching them!
> I really appreciate you taking the time to put this togheter.
> Cheers
> nacho
>
>
>
>
> -
> Nacho
> Smalltalker apprentice.
> Buenos Aires, Argentina.
> --
> View this message in context:
> http://forum.world.st/Becoming-proficient-in-Pharo-tp4799284p4799717.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] Stackoverflow, was: [Pharo-dev] Could we keep Pharo-dev for Pharo-dev?

2015-01-15 Thread kilon alios
Yeah StackOverflow has serious issues with moderation but still that does
not change the fact that is a popular site where tons of developers go
there to find answers to their questions. I asked my own questions on SO
about Pharo and so far I have not been disappointed.

On Thu, Jan 15, 2015 at 4:54 PM, Stephan Eggermont  wrote:

> Serge wrote:
> >Shall we move the discussion to pharo-users instead ?
>
> Yep.
>
> >I was not aware of that. Do you have recent examples about this behaviour
> ?
>
> The last closed question was fine. Flagging it just gets clueless
> moderator replies:
> "declined - The question really needs to be fleshed out.
>  Including the code for the rectangle morph would help a lot."
>
> An earlier one was
> Command pattern in smalltalk [closed] (you might not be able to see that
> as it was deleted).
>
> Of the 10 most popular smalltalk questions, at least 8 would be closed
> using current moderation standards.
>
> There is not 1 question from last year amongst the 50 most popular
> questions.
> In the top 100 there are 2, and the most popular one is about Objective C.
> The most popular question from last year gets 7 votes. That means there are
> not enough smalltalkers on SO to be able to reopen questions.
>
> The gaming system basically values popularity of answers,
> not correctness. It reinforces majority choices.
>
> Phil wrote:
> >Traffic increases as a sign of traction/engagement and we want to silence
> things. Yeah sure.
> >
> >Put a tag in the title and filter on that.
>
> Some channels are more effective than others.
> Stackoverflow is not an effective channel.
>
> Ignoring it is not smart.
> Answer questions and point people to the
> mailing lists.
>
> Stephan
>
>
>


Re: [Pharo-users] [ANN] A simple debugger for stepping though bytecodes.

2015-01-16 Thread kilon alios
wow nice, great job Andrei

what are the practical uses for this debugger, does it also allow you
change the bytecode as the regular debugger allow you to change code ?

On Thu, Jan 15, 2015 at 11:22 PM, Andrei Chis 
wrote:

> Hi all,
>
> We've just made a simple debugger for stepping through bytecodes. It's
> still just the first version so a lot of things can still be improved.
>
> More info here:
> https://chisvasileandrei.wordpress.com/2015/01/15/a-bytecode-debugger/
>
> Cheers,
> Andrei
>


Re: [Pharo-users] InfoWorld on Redline Smalltalk

2015-01-17 Thread kilon alios
There was a promise long time ago that RTalk will be released soon enough
and never happened. The difference with RTalk is not that is just smalltalk
language on JVM , which frankly I dont care that much, but also the entire
IDE, basically they replaced the Smalltalk bytecode with JVM  bytecode and
the rest is just smalltalk probably with the exception of few parts here
and there.

Porting code to JVM and Javascript has 3 issues

a) you are no longer able to use the libraries of your popular
implementation (see Pharo) unless you wrap those libraries with something
like JNA (a ffi for JAVA)
b) most people would not use JVM unless if they have to and in most cases
it will be more likely their code will be written in JAVA so they use JAVA
c) JVM and Javascript languages are notorious for being slow , so once
again fall back to JAVA and Javascript

So those language ported to JVM act mainly as scripting languages, you got
a JAVA app which is probably quite big and you port small parts of it to
that other language to make your code more managable and less verbose.

Python started similarly as a scripting language for C and then C++ , again
for similar reasons. As a language grow in popular the more it got its own
libraries ,, even though even back then it allowed for easy access to C/C++
libraries.

So overall I doubt that Smalltalk will ever be a big hit on JVM or
Javascript. The problem with smalltalk that other languages dont have is
that it comes with an IDE , which is both a blessing and a curse. The last
time I checked Pharo was 200k lines of codes, that is huge for a dynamic
language. If we take out the IDE we lose a big advantage as developers, add
to that the fact that other IDEs have very limited supported for Smalltalk
and you end up as a not so cool situation especially if you are used to
code in Pharo. This is something I have against with Amber.

So the ideal scenario is for someone to do what Rtalk promised but that
would requires someone or some coder with very deep knowledge of the JVM,
So dont hold your breath.

My choice is sticking with Pharo, sure Javascript and Java are nice sirens
singing an irresistible song but I am not willing to give up the comforts
of Pharo just so I have access to Java and Javascript libraries. Tempting
but not that tempting.  Pharo is an excellent choice if you are a lone
coder and you want to be very productive which if you think of it is
completely diffirent to what the JVM aims for which is big coder groups and
big companies.

On the other hand if there is a real need for Smalltalk on JVM then sooner
or later someone will step up and start something. Right now from what I
see Clojure and Scala are the only two langauge that get some attention ,
again nowhere near as much as other popular languages but they still
somewhat popular. The thing with Clojure is that is not just lisp on JVM ,
there was already lisp for JVM called ABCL and never got popular, Clojure
became popular not because its lisp but because it targeted concurrency and
made it easier . If Smalltalk is to become ever as popular it has to bring
something similar to the table and I think concurency would not be a bad
idea either especially for those that are not big fans of lisp syntax and
prefer something like Smalltalk.

On Sat, Jan 17, 2015 at 6:37 PM, horrido  wrote:

> I had never heard of RTalk or Gravel. In all my Googling, I've never come
> across these two. They're obviously not on the minds of very many people.
> Are they even active projects?
>
> At least Redline is relatively prominent. At least James Ladd is actively
> working on it. His efforts should be commended and *supported*.
>
> Let's rally around the Redline project. This should be doable.
>
> Generalissimo
>
>
> Stephan Eggermont wrote
> > continued from pharo-dev, please keep discussion here.
> >
> > The smalltalk on jvm situation is exactly like it shouldn't be.
> > There are three implementations, not working together:
> > - RTalk
> > - Gravel
> > - Redline
> >
> > The first two are driven by existing commercial smalltalk users
> > coming from a platform that they feel is not sufficiently
> > developing (different ones).  This amount of fragmentation is ridiculous.
> > Of course they have different priorities and needs, but it should be
> > possible to share the work that all three feel they have to do.
> > The result is that at least two of them move forward very slowly.
> >
> > Stephan
>
>
>
>
>
> --
> View this message in context:
> http://forum.world.st/InfoWorld-on-Redline-Smalltalk-tp4799678p4800173.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] Manners on the list?

2015-01-19 Thread kilon alios
Boys dont be fooled , this is Skynet. The End is Nigh!

On the subject of manners, you look like a sensible being even for an AI,
just be polite. And yes replying to messages is a way to be polite also its
not about manners, generally sharing your experience with pharo can help
benefit all of us or some of us. There is a reason that I am registered to
this mailing list and is way more just to answer my questions about Pharo ,
it is about learning through the experience of others.

I have 3 rules that I demand others including me to follow

1) respect others
2) have fun as much as you can handle
3) be stubborn never give up

Now of you of go back to making your army of terminators and I'll be back.

On Mon, Jan 19, 2015 at 7:21 PM, Laura Risani 
wrote:

> Alexandre, i was born human. One day i fell in love and my heart was
> broken. Not having found a fix, i remain since then a heartless bot.
>
> 2 + 3 = 3 + 2
>
> On Sun, Jan 18, 2015 at 9:18 PM, Alexandre Bergel  > wrote:
>
>> Guys…
>> I am convinced that Laura is not a real person, but simply a bot.
>>
>> Laura, prove me I am wrong, how much is 2 + 3 ?
>>
>> Alexandre
>>
>>
>> > On Jan 18, 2015, at 8:27 PM, Laura Risani 
>> wrote:
>> >
>> > Thank you all for your responses. They led me to a founded criteria on
>> posting behavior, one about which i was quite unsure before.
>> >
>> >
>> > @Stephan Eggermont
>> > I will always provide feedback. And try my best to format it.
>> >
>> > @stepharo
>> > >because this is a challenge to answer questions and a really good way
>> to learn
>> > Interesting point, i haven't thought about.
>> >
>> > @ben
>> > >My favourite reference is Eric S Raymond's "How To Ask Smart
>> Questions". http://www.catb.org/esr/faqs/smart-questions.html.
>> > I like people who doesn't consider the basic to be trivial.
>> >
>> > @Hilaire
>> > >it is useful to write an answer to your problem on the mailing list:
>> the problem you met was or will be a problem for other, so it is a nice,
>> > simple and effective way to contribute.
>> > Should one embrace the policy of each time one gets a question answered
>> or a problem solved on the list, make a self answering post on Stack
>> Overflow to render it readably available to others and also as a practical
>> display of gratitude? If the question gets closed it won't be matter (or
>> just a little)
>> >
>> > Best,
>> > Laura
>> >
>> > On Sun, Jan 18, 2015 at 8:01 AM, Hilaire  wrote:
>> > Le 17/01/2015 00:48, Laura Risani a écrit :
>> > > It doesn't kind of feel right saying nothing when someone gives me a
>> > > rather lengthly answer, unless it was the tacit agreement.
>> > >
>> > > So i'm facing questions whether or not to make a post, because i'm not
>> > > sure which are the right/usual manners for this particular mail-list
>> > > form of communication.
>> > >
>> >
>> > One can guess the right manner is the same manner you will use in real
>> > life: if you get help from a problem, you just say thank you.
>> >
>> > In the other hand, if you find yourself the answer to your problem, it
>> > is useful to write an answer to your problem on the mailing list: the
>> > problem you met was or will be a problem for other, so it is a nice,
>> > simple and effective way to contribute.
>> >
>> > Hilaire
>> >
>> > --
>> > Dr. Geo - http://drgeo.eu
>> > iStoa - http://istoa.drgeo.eu
>> >
>> >
>> >
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>


Re: [Pharo-users] What we have with our community: near indestructible

2015-01-19 Thread kilon alios
I am very happy with Pharo and of course I love it.

I love Pharo because it is very good, and its very good because people have
worked hard to improve it. New libraries, new bug fixes, new tools , even
pharo is small its actually quite hard to follow its evolution because it
surprisingly  active. Another positive factor is that the community is
really open to contributions and new ideas, it may sound like implied for
an open source project but is not always the case.

I feel sad at time because my lack of knowledge holds me back from
contributing more, learning is hard because there is not tons of
documentation like other languages so there a lot that one have to figure
out by himself. But I dont mind the hard work , its fun.

I have figured out sockets, regex, Spec and even played with the Dark theme
this past year. Now I try to figure out petitparser and how to parse python
types to pharo objects.

I want to help newcomers to love pharo with updated documentation and new
tools to simplify workflow. I contributed to the new Pharo By example by
porting 5 chapters to Pharo 3 and also created almost 4 hours of Pharo
video tutorials.  I move slowly but I am moving :)

My goal for 2015 is also to start documenting Morphic.

Pharo is my fun hour ;)

On Mon, Jan 19, 2015 at 8:03 PM, p...@highoctane.be 
wrote:

> I was reflecting on the PR efforts and the scale and nature of our
> community.
>
> There is one single thing that is our core: we are a bunch of individuals
> dedicated to Pharo and we deeply like (should I say "love"?) it.
>
> That very fact that we are committed to investing in understanding it and
> making it better, and that, no matter what, makes the community pretty much
> indestructible.
>
> We do not care about fame, we care about something else. Solid, flexible,
> nimble, ... I don't know.
>
> That's a case of QWAN indeed. But Pharo has it.
>
> I came on board with 1.3.
> The progress has been massive. Pharo 4 is going to be a hell of a great
> piece of software. And things are accelerating.
>
> I am proud to be part of the community. I've my moments of doubt. But then
> there is an inner voice saying: "come on, it can be made to work". And it
> is true as we have full control on the tool.
>
> Just wanted to share.
>
> Peace.
>
> Phil
>


Re: [Pharo-users] What we have with our community: near indestructible

2015-01-19 Thread kilon alios
Actually I could add the book to github group for Pharo documentation so
everyone can contribute as long as he is the member of the group which
already contains the source for the new PBE and Pharo for the Enterprise
and all other books.

On Mon, Jan 19, 2015 at 8:41 PM, nacho <0800na...@gmail.com> wrote:

> Great!! Great!! Kilon,
> Please let me help you, at least reading the drafts or whatever I can be
> usefull to.
> I'm eager to learn morphic!!!
> cheers
> Nacho
>
>
>
>
> -
> Nacho
> Smalltalker apprentice.
> Buenos Aires, Argentina.
> --
> View this message in context:
> http://forum.world.st/What-we-have-with-our-community-near-indestructible-tp4800434p4800450.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] Mea Culpa

2015-01-21 Thread kilon alios
Popularity indeed comes with a high price. Guido the creator of python he
has said in one of his presentation that there many people who want to add
their libraries to python distribution but they should not want to do that,
because once a library is added it become very difficult to change since so
many people depend on it to keep backward compatibility. He claimed that
even simple bug fixes have to go through lengthy review process. This can
be expanded to the entirety of the IDE and the language.

This the most important reason why pharo has been moving forward so fast
and why popular languages move at glacial speed. I dont want to lose that
so yes I dont want for pharo to become popular.

On Thu, Jan 22, 2015 at 4:45 AM, Hernán Morales Durand <
hernan.mora...@gmail.com> wrote:

> Hello Richard,
>
> 2015-01-21 17:12 GMT-03:00 horrido :
>
>> Okay, so far, I've made two mistakes. First was my lack of sensitivity to
>> cultural differences around the world. Now that I know better, I shall do
>> better.
>
>
> You better take a lot of care writing about politics, sports, or whatever
> that could be considered Off-Topic. Some people is always looking for
> excuses to kick out offenders. And some others are monitoring with eagle
> eyes any out-of-order comment you can possibly write. Rules of the game.
>
>
>> Second was my failure to distinguish between different subgroups within
>> the
>> Pharo forum.
>
>
> Welcome to Smalltalk :)
>
>
>> The reason I chose Pharo forum to discuss my campaign was the
>> fact that it is the most active Smalltalk forum there is. People who are
>>
> interested in Smalltalk join the most active forum generally, and this
>> includes not only Pharoers, but people from ESUG, Squeak, Cincom, Amber,
>> Redline, etc.
>>
>>
> Yes, this is parasitic behavior and well-known for biologists.
> Unfortunately I haven't seen many smalltalkers interested in on-line social
> behavior, probably because in such small community the most valuable asset
> is The Code, followed by The Documentation. Which of course, are excuses to
> get The Money.
>
>
>> So, for example, when I appealed for contributors to the Redline project,
>> I
>> should've distinguished the target audience as those groups other than
>> Pharoers. This was my failure and I own up to it.
>>
>> It is unfortunate that I must use the Pharo forum for this purpose. The
>> Smalltalk community is so terribly fragmented that there is no universal
>> Smalltalk forum to address, at least, none that is actually *inhabited*.
>> Without the ability to address the largest number of Smalltalkers, the SRP
>> cannot make any progress. I'm sorry, but I have to be blunt.
>>
>>
> Then maybe you should start your own Smalltalk mailing-list?
>
> For spanish language we have ClubSmalltalk. Is a cross-smalltalk mailing
> list where people may write in other languages, but has become really low
> volume in the last years. And Smalltalk was (is?) very popular in
> Argentina, so you can get a dimension of how terribly small the community
> is.
>
>
>> If anyone can offer a practical alternative, I'd like to hear it.
>> Otherwise,
>> the SRP has only two choices:
>>
>> 1) Continue what it is doing on the Pharo forum, and be mindful of which
>> group(s) I am addressing.
>>
>> 2) Fold up the campaign and leave the destiny of Smalltalk to the Fates.
>> Without the ability to reach out to Smalltalkers everywhere, I am
>> hopelessly
>> disadvantaged.
>>
>>
> I am not that convinced Smalltalk should be popular. Surely any
> smalltalker could find easily (more) job offers, that would be the only
> determinant factor because we need desperately more Smalltalk positions.
> But popularity has many drawbacks some smalltalkers are afraid to
> competition, and we all read the StackOverflow 'popular' questions...
>
> So, my alternative is: Instead of broadcasting Smalltalk by traditional
> internet advertising, go and get them. I suspect you won't get much from
> us, we are some kind of Loyal Customers. But there are tons of
> unexperienced developers lacking of fear to change, which are reading
> Quora, StackExchange, Wikipedia, etc. And unexperienced developers are the
> next business decision makers.
>
> For example, see this articles which CS students read every day:
>
> http://en.wikipedia.org/wiki/Double-ended_queue
> http://en.wikipedia.org/wiki/Bit_array
> http://en.wikipedia.org/wiki/Binary_search_algorithm
> http://en.wikipedia.org/wiki/Hash_function
> http://en.wikipedia.org/wiki/String_%28computer_science%29
> http://en.wikipedia.org/wiki/List_of_artificial_intelligence_projects
> http://en.wikipedia.org/wiki/Regular_expression
> http://en.wikipedia.org/wiki/Sorting_algorithm
> http://en.wikipedia.org/wiki/Virtual_machine
> http://en.wikipedia.org/wiki/XML
> http://en.wikipedia.org/wiki/Free_software
>
> No Smalltalk mention there. There you have it, the Library of Alexandria
> of our time, and people do not read about us.
>
> Cheers,
>
> Hernán
>
>
>
>> Regard

Re: [Pharo-users] pharo _looks_ good, but can be improved ...

2015-01-25 Thread kilon alios
frankly I dont see why people keep linking this design document. Google has
no clue about good design as most software companies, they definitely
droped the ball in that area with Android. But that is my opinion. Pharo
can be definetly be improved in several areas but it has been already a
huge improvement over Squeak. So I am not afraid of Pharo design wise its
on a good road and I try to also give it a helping hand :)

Then on the other hand design is a matter of taste.

On Sun, Jan 25, 2015 at 4:00 PM, Mayuresh Kathe  wrote:

> while i admire what the pharo team has done with it's user interface, i
> believe it can be improved.
> has google's "material design" been considered off-late?
> do take a look at; http://www.google.com/design/
>
> ~mayuresh
>
>
>


Re: [Pharo-users] How much users ?

2015-01-26 Thread kilon alios
probably the biggest reason is that the list has been quite inactive till
now. Another is that many of pharo users find it easy to contribute back to
pharo because of the nature of the enviroment and the third , the community
is just to small to have a sizable pharo-user list. Personally I am
surprised that Pharo-dev has not much more.

On Mon, Jan 26, 2015 at 4:31 PM, Alejandro Infante <
alejandroinfant...@gmail.com> wrote:

> Is interesting that we have more people in Pharo-Dev than in Pharo-Users,
> I thought it was the other way.
>
> Any reason for that?
>
> Cheers,
> Alejandro
>
> > On Jan 26, 2015, at 2:43 PM, Marcus Denker 
> wrote:
> >
> >
> >> On 26 Jan 2015, at 14:22, Pierre CHANSON 
> wrote:
> >>
> >> Hi all,
> >>
> >> anyone know how much user Pharo count ?
> >
> > Unknown.
> >
> >> And how much mailing lists user ?
> >
> > Pharo-Users: 452
> > Pharo-Dev:514
> >
> > But then, not all the users are on the mailing lists…
> >
> >   Marcus
>
>
>


[Pharo-users] Hijacking a Configuration for loading a Github Baseline

2015-01-27 Thread kilon alios
So I have a Configuration in the Meta repo of pharo 4 and 3 that loads the
latest version of my project Ephestos.

However I have moved my development to github since I am very happy with
the workflow and since I discovered loading github repos via a baseline I
have little use for smalltalkhub.

So my plan is this, keep the configuration in the meta repo so people and
me can install my project easily with one click via the wonderful simple
configuration browser , but I dont want anymore to load any versions with
it. Instead I want to tell the configuration "load the github baseline"
which  means it will fetch the code from my github account master branch
which is the stable branch anyway (and the only branch so far) .

That will allow me to never have to update that configuration again since
it will just load the latest code from github repo.

The question is how to do this the easiest and cleanest way possible ?


Re: [Pharo-users] Hijacking a Configuration for loading a Github Baseline

2015-01-27 Thread kilon alios
beautiful it worked like a charm following your instructions , I now can
brake my project to smaller ones, each one with each own github repo and
use Baselines to load each one and still allow the user to load my Project
in one single click from Configuration Browser. Love it how Pharo make this
all this so easy, with python it was a nightmare. Brilliant just Brilliant
! :)

On Tue, Jan 27, 2015 at 11:19 AM, Thierry Goubier  wrote:

> Hi Kilon,
>
> a simple way to do that is to change your configuration so that it uses
> the baseline in your github. The SmaCC configuration for Pharo 4.0 is
> written in this way for the stable version.
>
> version204: spec
> 
> spec
> for: #'pharo4.x'
> do: [
> spec
> blessing: #stable;
> author: 'ThierryGoubier';
> description: 'SmaCC Smalltalk Compiler Compiler for Pharo
> 4.0'.
> spec
> baseline: 'SmaCC' with: [ spec repository:
> 'github://ThierryGoubier/SmaCC:master' ];
> import: 'SmaCC' ]
>
> Thierry
>
>
>
> 2015-01-27 10:08 GMT+01:00 kilon alios :
>
>> So I have a Configuration in the Meta repo of pharo 4 and 3 that loads
>> the latest version of my project Ephestos.
>>
>> However I have moved my development to github since I am very happy with
>> the workflow and since I discovered loading github repos via a baseline I
>> have little use for smalltalkhub.
>>
>> So my plan is this, keep the configuration in the meta repo so people and
>> me can install my project easily with one click via the wonderful simple
>> configuration browser , but I dont want anymore to load any versions with
>> it. Instead I want to tell the configuration "load the github baseline"
>> which  means it will fetch the code from my github account master branch
>> which is the stable branch anyway (and the only branch so far) .
>>
>> That will allow me to never have to update that configuration again since
>> it will just load the latest code from github repo.
>>
>> The question is how to do this the easiest and cleanest way possible ?
>>
>
>


Re: [Pharo-users] Hijacking a Configuration for loading a Github Baseline

2015-01-27 Thread kilon alios
No I have not used git tags so far, so I am not familiar with them. But I
will keep in mind, I am considering not having versions at all, I find it a
curious concept.

Dale there is one thing I wanted to ask you , would it possible put in my
github repo installation instructions for installing prerequisites ?

For example I may use Thierry's SmaCC which I currently study to figure out
how it works.

I could add that to my ConfigurationOfEphestos that I have saved to Meta
Repo of Pharo 4. But I dont want to touch that repo, ideally I would like
to do this from the BaselineOfEphestos which is stored in my Ephestos
github repo. Is that possible ? Can the baseline handle installation of
dependencies and trigger other configurations ? Or is that a job only for
Configurations ?

I want not to have to maintain also meta repo 4, I just want to only to do
all things in my github repo.

On Tue, Jan 27, 2015 at 4:57 PM, Dale Henrichs <
dale.henri...@gemtalksystems.com> wrote:

>  Kilon,
>
> One more point that you might find useful ... If you use tags (i.e.,
> v1.0.0, v1.0.1, v1.1.0), you can specify tag wildcards  in the branch field
> of the github repository description.
>
> Using Thierry's example the following resolves the latest commit on the
> master branch (bleeding edge):
>
>   github://ThierryGoubier/SmaCC:master
>
> Using a tag name, you can match the tagged commit:
>
>   github://ThierryGoubier/SmaCC:v1.0.0
>   github://ThierryGoubier/SmaCC:v1.1.0
>
> Using a tag wildcard you can specify the latest tag 1.0.*:
>
>   github://ThierryGoubier/SmaCC:v1.0.*
>
> which matches v1.0.1, v1.0.2, whichever is latest, but not v1.0.2.1.
>
> To match the latest tag in the 1.0 family use 1.0.?:
>
>   github://ThierryGoubier/SmaCC:v1.0.?
>
> which matches v1.0.1, v1.0.2  and v1.0.2.1.
>
> There are more examples here[1].
>
> This feature was introduced in Metacello 1.0.0-beta.32.16[2].
>
> Dale
>
> [1]
> https://github.com/dalehenrich/metacello-work/issues/277#issuecomment-58970696
> [2]
> https://github.com/dalehenrich/metacello-work/issues?q=milestone%3A1.0.0-beta.32.16+is%3Aclosed
>
>
> On 1/27/15 1:52 AM, kilon alios wrote:
>
> beautiful it worked like a charm following your instructions , I now can
> brake my project to smaller ones, each one with each own github repo and
> use Baselines to load each one and still allow the user to load my Project
> in one single click from Configuration Browser. Love it how Pharo make this
> all this so easy, with python it was a nightmare. Brilliant just Brilliant
> ! :)
>
> On Tue, Jan 27, 2015 at 11:19 AM, Thierry Goubier <
> thierry.goub...@gmail.com> wrote:
>
>>  Hi Kilon,
>>
>>  a simple way to do that is to change your configuration so that it uses
>> the baseline in your github. The SmaCC configuration for Pharo 4.0 is
>> written in this way for the stable version.
>>
>> version204: spec
>> 
>> spec
>> for: #'pharo4.x'
>> do: [
>> spec
>> blessing: #stable;
>> author: 'ThierryGoubier';
>>     description: 'SmaCC Smalltalk Compiler Compiler for Pharo
>> 4.0'.
>> spec
>> baseline: 'SmaCC' with: [ spec repository:
>> 'github://ThierryGoubier/SmaCC:master' ];
>> import: 'SmaCC' ]
>>
>>  Thierry
>>
>>
>>
>> 2015-01-27 10:08 GMT+01:00 kilon alios :
>>
>>> So I have a Configuration in the Meta repo of pharo 4 and 3 that loads
>>> the latest version of my project Ephestos.
>>>
>>>  However I have moved my development to github since I am very happy
>>> with the workflow and since I discovered loading github repos via a
>>> baseline I have little use for smalltalkhub.
>>>
>>>  So my plan is this, keep the configuration in the meta repo so people
>>> and me can install my project easily with one click via the wonderful
>>> simple configuration browser , but I dont want anymore to load any versions
>>> with it. Instead I want to tell the configuration "load the github
>>> baseline" which  means it will fetch the code from my github account master
>>> branch which is the stable branch anyway (and the only branch so far) .
>>>
>>>  That will allow me to never have to update that configuration again
>>> since it will just load the latest code from github repo.
>>>
>>> The question is how to do this the easiest and cleanest way possible ?
>>>
>>
>>
>
>


Re: [Pharo-users] Hijacking a Configuration for loading a Github Baseline

2015-01-27 Thread kilon alios
I love your answers they are straight to the point, easy to understand and
very useful, this one is no different, thank you :)

I have another questions but I will make a separate thread for it so its
easier for users to google and search for it, including me .

By the way the official docs are only here ? -->
https://github.com/dalehenrich/metacello-work/tree/master/docs

On Tue, Jan 27, 2015 at 8:37 PM, Dale Henrichs <
dale.henri...@gemtalksystems.com> wrote:

>  Kilon,
>
> I don't use tags a lot in my own projects, but if someone is using your
> project in a production situation, then using tags is a good idea (if you
> follow semantic versioning) so that the users can tell when and if you have
> made api-breaking changes...
>
> Since the Smacc project looks like it is on github you have two options
> for doing a "project reference": reference the configuration or reference
> the baseline.
>
> To reference a configuration-based project do something like the following
> (in a baseline):
>
>   spec
> configuration: 'SmaCC'
> with: [
>   spec
> versionString: '2.0.4';
> repository: 'http://.' ].
>   spec
> package: 'PackageThatDependsUponSmacc'
> with: [ spec requires: #('Smacc') ].
>
> Note that you might want to use a symbolic version (if they are defined in
> the project) so that you can always get the #stable version which
> presumably changes over time ...
>
> To reference a baseline-based project do something like the following (in
> a baseline):
>
>   spec
> baseline: 'SmaCC'
> with: [ spec repository: 'github://ThierryGoubier/SmaCC:master' ].
>   spec
> package: 'PackageThatDependsUponSmacc'
> with: [ spec requires: #('Smacc') ]
>
> Note that you can use the tag wild cards to achieve a similar effect of
> using symbolic versions with configurations.
>
> Did this answer your question?
>
> Dale
>
> On 01/27/2015 07:21 AM, kilon alios wrote:
>
> No I have not used git tags so far, so I am not familiar with them. But I
> will keep in mind, I am considering not having versions at all, I find it a
> curious concept.
>
>  Dale there is one thing I wanted to ask you , would it possible put in
> my github repo installation instructions for installing prerequisites ?
>
>  For example I may use Thierry's SmaCC which I currently study to figure
> out how it works.
>
>  I could add that to my ConfigurationOfEphestos that I have saved to Meta
> Repo of Pharo 4. But I dont want to touch that repo, ideally I would like
> to do this from the BaselineOfEphestos which is stored in my Ephestos
> github repo. Is that possible ? Can the baseline handle installation of
> dependencies and trigger other configurations ? Or is that a job only for
> Configurations ?
>
>
>  I want not to have to maintain also meta repo 4, I just want to only to
> do all things in my github repo.
>
> On Tue, Jan 27, 2015 at 4:57 PM, Dale Henrichs <
> dale.henri...@gemtalksystems.com> wrote:
>
>>  Kilon,
>>
>> One more point that you might find useful ... If you use tags (i.e.,
>> v1.0.0, v1.0.1, v1.1.0), you can specify tag wildcards  in the branch field
>> of the github repository description.
>>
>> Using Thierry's example the following resolves the latest commit on the
>> master branch (bleeding edge):
>>
>>   github://ThierryGoubier/SmaCC:master
>>
>> Using a tag name, you can match the tagged commit:
>>
>>   github://ThierryGoubier/SmaCC:v1.0.0
>>   github://ThierryGoubier/SmaCC:v1.1.0
>>
>> Using a tag wildcard you can specify the latest tag 1.0.*:
>>
>>   github://ThierryGoubier/SmaCC:v1.0.*
>>
>> which matches v1.0.1, v1.0.2, whichever is latest, but not v1.0.2.1.
>>
>> To match the latest tag in the 1.0 family use 1.0.?:
>>
>>   github://ThierryGoubier/SmaCC:v1.0.?
>>
>> which matches v1.0.1, v1.0.2  and v1.0.2.1.
>>
>> There are more examples here[1].
>>
>> This feature was introduced in Metacello 1.0.0-beta.32.16[2].
>>
>> Dale
>>
>> [1]
>> https://github.com/dalehenrich/metacello-work/issues/277#issuecomment-58970696
>> [2]
>> https://github.com/dalehenrich/metacello-work/issues?q=milestone%3A1.0.0-beta.32.16+is%3Aclosed
>>
>>
>> On 1/27/15 1:52 AM, kilon alios wrote:
>>
>> beautiful it worked like a charm following your instructions , I now can
>> brake my project to smaller ones, each one with each own github repo and
>> use Baselines to load each one an

[Pharo-users] SmaCC: First steps

2015-01-28 Thread kilon alios
Ok I have read a few times of the tutorial of Smacc in here
http://www.refactoryworkers.com/SmaCC/ASTs.html

and I am also following the help tool documentation inside pharo for SmaCC
and I have to say I am very confused. Please bare with me because I am
extremely noob when it comes to parsing, this is my first effort.

Now the way I understand it so far, is that SmaCC uses a syntax similar to
regex expressions to define parsers and scanners. Scanners evaluate a
string to see that it contains a valid form and parser divide to parts
named as "tokens" and help in the creating of ASTs which are basically
hierarchy tree containing the syntax elements of a language.

Now in order to make SmaCC work I need to use the SmaCC tool that comes
with pharo . The smacc tool takes two inputs a scanner and a parser class.
Does that mean I need to create that parser and scanner class ? I thought
since I define the syntax that those things would be generated by the tool.

What I need to define exactly ?

Why when I select the PythonScanner2 and PythonParser2 and click then
Compile LR it gives a MNU receiver of method is nil ?

I am using latest Pharo 4 image.

My goal is to parse python types to similar pharo objects. I get those
python types as strings and my main focus in lists, dictionaries and tuples
. The tricky part is that one can contain the other inside in every
imagined way.

The way I understand it I will need something called "transformations" to
convert those python types to OrderedCollections, Arrays etc and anything
would make more sense for a pharo coder.

Additionally what is the meaning of the vertibal bar ?   --> |
eg.
| Number

Are there any other tutorials that can help a beginner like me to
understand these concepts ?

I am not looking for someone to give me the solution to the plate, I would
love to learn and understand parsing because I am very interested into
making Pharo easy to mix with Python code and allow Pharo to use Python
libraries without the user having to learn or code Python :)

As you may imagine this is a crucial ingredient for my project Ephestos
which tries to use Pharo to script Blender by either replacing or
cooperating with blender python. So learning a good way to parse pharo code
to python code and vice versa is extremely important for me.


Re: [Pharo-users] SmaCC: First steps

2015-01-28 Thread kilon alios
Yes I am aware of PettitParser but the one thing that made me very
interested into SmaCC is that it already supports Python syntax parsing ,
though I think is for Python 2 but if its 2.7 it wont be much issue for me
that use Python 3.4 syntax.

>From a first look it looks PettitParser easier to use but Thiery told me
SmaCC is also fairly easy and personally I dont care so much I only want
something that gets the job done as fast as possible. Having an existing
python parser certainly makes things faster for me.

But yes I have played around with pettitparser and I really liked it.

On Wed, Jan 28, 2015 at 4:22 PM, Johan Fabry  wrote:

> Hi Kilon,
>
> I think it’s better that you take a look at PetitParser (e.g.
> http://www.themoosebook.org/book/internals/petit-parser ) I have found
> PetitParser more user friendly than SmaCC.
>
>
> On Jan 28, 2015, at 14:53, kilon alios  wrote:
>
> Ok I have read a few times of the tutorial of Smacc in here
> http://www.refactoryworkers.com/SmaCC/ASTs.html
>
> and I am also following the help tool documentation inside pharo for SmaCC
> and I have to say I am very confused. Please bare with me because I am
> extremely noob when it comes to parsing, this is my first effort.
>
> Now the way I understand it so far, is that SmaCC uses a syntax similar to
> regex expressions to define parsers and scanners. Scanners evaluate a
> string to see that it contains a valid form and parser divide to parts
> named as "tokens" and help in the creating of ASTs which are basically
> hierarchy tree containing the syntax elements of a language.
>
> Now in order to make SmaCC work I need to use the SmaCC tool that comes
> with pharo . The smacc tool takes two inputs a scanner and a parser class.
> Does that mean I need to create that parser and scanner class ? I thought
> since I define the syntax that those things would be generated by the tool.
>
> What I need to define exactly ?
>
> Why when I select the PythonScanner2 and PythonParser2 and click then
> Compile LR it gives a MNU receiver of method is nil ?
>
> I am using latest Pharo 4 image.
>
> My goal is to parse python types to similar pharo objects. I get those
> python types as strings and my main focus in lists, dictionaries and tuples
> . The tricky part is that one can contain the other inside in every
> imagined way.
>
> The way I understand it I will need something called "transformations" to
> convert those python types to OrderedCollections, Arrays etc and anything
> would make more sense for a pharo coder.
>
> Additionally what is the meaning of the vertibal bar ?   --> |
> eg.
> | Number
>
> Are there any other tutorials that can help a beginner like me to
> understand these concepts ?
>
> I am not looking for someone to give me the solution to the plate, I would
> love to learn and understand parsing because I am very interested into
> making Pharo easy to mix with Python code and allow Pharo to use Python
> libraries without the user having to learn or code Python :)
>
> As you may imagine this is a crucial ingredient for my project Ephestos
> which tries to use Pharo to script Blender by either replacing or
> cooperating with blender python. So learning a good way to parse pharo code
> to python code and vice versa is extremely important for me.
>
>
>
>
> ---> Save our in-boxes! http://emailcharter.org <---
>
> Johan Fabry   -   http://pleiad.cl/~jfabry
> PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile
>
>


Re: [Pharo-users] SmaCC: First steps

2015-01-28 Thread kilon alios
"Ok. I made sure the help was up to date with the current SmaCC; the online
tutorial may differ a bit (GUI, some of the class creation commands)."

Yes I am not complaining about your effort. I am just new with parsing and
everything looks alien to me :D

I am mostly following your documentation inside pharo but I dont mind
reading anything available.

"Scanners divide the input stream in tokens with regular expressions."

ok so regular expressions are used, good I am familiar with them because
already used them to parse pharo messages to python method calls. At least
I know something useful :)

"If you give new classes, it will create them. If you give existing
classes, it will reuse them."

Ok so creating classes for parser an scanner is only optional. That mean
that those classes can do some extra work that is not defined with the
SmaCC syntax.

"This is the issue I told you about in Pharo 4. The fix is waiting for
review before integration (https://pharo.fogbugz.com/default.asp?14730)."

Ah yes now I remember, I could review it I am a member of pharo fogbuz but
I am clueless of how it works and what it affects so maybe I am not a good
reviewer in this case.

"With the PythonParser, you get a visitor generated, so you can subclass it
and visit the ast produced by the parser and generate the relevant
OrderedCollections."

Roger so that means I will have to take a deep look into PythonParser class
and try to figure things out.

"It means or."

I assumed so , but I wanted to make sure.

"I don't have any at hand: I teach that at the moment, so I'm not
delegating to a tutorial for my students ;)"

I was not aware that you are a teacher and that you teach SmaCC , cool. So
I think I will try to put more effort to reading the tutorial and
experimenting with Pharo 3 till Pharo 4 is fixed.

"The way it is set should support you well for doing what you want, so keep
doing it :)"

Great if you say I can do this , this is already great news for me. The
effort is not a problem , no pain no gain. I will be back with more
questions.


Re: [Pharo-users] SPEC and Athens

2015-01-28 Thread kilon alios
"Am I supposed to advertise Pharo the same way? To a beginner?"

yes, as they say "truth will set you free". Don't try to lie to a beginner,
dont try to exaggerate , dont try to make Pharo into a holy grail. Be
sincere , be accurate. The begineer may not like Pharo but at least will
respect it and the community.

The community and include myself in it have been working hard to improve
the situation for beginners. I think things are in the right road.
Pharo-users mailing list has exploded lately and that shows that people
care about Pharo. Still a ton can be done but things are always way harder
than they look and this why they always take time.

And no you cannot replace Pharo with Swift, Pharo is irreplaceable really .
There is no software out there that does what Pharo does and does it
better, so Pharo is unique. The question is that if you care about what
Pharo offers, if not then obviously you will choose another languages and
other tools. Pharo comes with its own set of disadvantages as well as all
solutions out there.  In the end it comes down to making a choice.

I love the Pharo workflow , I decided to stick around. But someone else
will chose something else, thats fine.

I think what Stef is trying to say is that if the user really loves Pharo ,
then he will want Pharo to improve and contributing is the best way to
ensure a better future for Pharo. Personally I dont think we need to be
reminded of this, I think its dead obvious if someone falls in love with an
open source software he or she will contribute to it sooner or later, in a
small or big way.

This is why afterall open source has been so extremely succesfull.


Re: [Pharo-users] New book for Pharo :)

2015-01-28 Thread kilon alios
No idea what the problem really is, and what is that "mess" that concerns
Numpy/SciPy but I welcome the new book , more documentation is always a
cause of celebration, thank you for your hard work :)

"I think SciTalk is a nice name :p"

Way cooler than SciPy if you ask me ;)


Re: [Pharo-users] SmaCC: First steps

2015-01-30 Thread kilon alios
Ok so I tried to parse a very simple list like

[ 67,12342,5 ]

using Parse and explore , I can find these number by following this AST
(for example 67)

PyFileInputNode>>statements: -> 1: PySimpleStmNode>>stmts: -> 1:
PyExprStmtNode>>tests: ->1: PyPowerNode>>atom: -> PyAtomNode>>list: -> 1:
PyPowerNode>>atom: -> PyPowerNode>>numberToken -> numberToken>>value -> 67

quite a structure, but the one thing I dont get is "tests" , why "tests" ?

Does it tests something and if yes what ?


Re: [Pharo-users] Implementing text navigation shortcuts

2015-01-30 Thread kilon alios
Can Rubric be used for displaying paragraphs etc ? I want to improve the
documentation situation for pharo by improving the help tool.

Nothing major just something that will improve the general look. Shortucts
also play a huge role in this, I really like Emacs documentation system
that allow you to navigate via shortcuts .

On Fri, Jan 30, 2015 at 12:13 PM, Tudor Girba  wrote:

> Rubric is already in the image and has most of these keybindings properly
> defined.
>
> Doru
>
> On Fri, Jan 30, 2015 at 11:09 AM, stepharo  wrote:
>
>>  Yes we should continue to remove the old key-bindings hard-coded.
>>
>> Stef
>>
>> Le 30/1/15 00:48, Nicolai Hess a écrit :
>>
>>
>> 2015-01-29 23:06 GMT+01:00 Laura Risani :
>>
>>> Hi all,
>>>
>>>  I like to implement a keyboard shortcut for, while editing any text,
>>> move the text pointer to the next position after $: .
>>>
>>>  Seems that the base of all text editing is the class
>>> #TextMorphForEditView. I see there there is an instance variable for the
>>> text. My problem is i can not find a method that tells/sets the current
>>> position in the text of the text pointer.
>>>
>>>  I've tried going through the list of methods of #TextMorphForEditView
>>> and its superclasses. Also through the one of senders of #arrowRight trying
>>> to find the instantiation of #KMKeyCombination needed to implement the
>>> existing shortcut "ctrl + right arrow" which jumps to the next position
>>> after an space, but i found nothing.
>>>
>>>  Best,
>>> Laura
>>>
>>
>>  Hello Laura,
>>
>> not all editing functions are actually in the TextMorph
>> (TextMorphForEditView ...) classes or the Text class, instead they
>> delegated this to an editor
>> class (Editor/SimpleEditor/SmalltalkEditor...).
>>  And - yes that is bad -  not all keyboard shortcuts go through
>> KMKeyCombination and KMKeymap.
>> The SmalltalkEditor class defines its own shortcut handler.
>>  For exampe: cmd+shift+a -> #argAdvance:
>>  This method searches for the next $: followed by a space and place the
>> caret after the space.
>>
>>  nicolai
>>
>>
>>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>


Re: [Pharo-users] SmaCC: First steps

2015-01-30 Thread kilon alios
Ok thanks for the info, I am still however curious about these "tests" are
just tests (which may or may not happen) that determine the AST, for
example which node to use ?

Or are they tests related to unit testing class PythonParserTests ?

Also you said I need to use the visitor created by PythonParser I assume
you mean PyRootNodeVisitor ? Just as it is explained in the AST chapter of
the documentation.

In my case this simple python list will need me to subclass it and override
method visitListmaker , the aListmaker passed as argument to the method
should I assume it is PyListmakerNode ?

On Fri, Jan 30, 2015 at 10:50 AM, Thierry Goubier  wrote:

> Hi kilon,
>
> The tests instance variable is linked to the python grammar: top level
> items in an expression are probably tests, and, through the grammar, tests
> can be just atoms.
>
> So the tests instance variable doesn't means it is testing anything :)
>
> Thierry
> Le 30 janv. 2015 09:23, "kilon alios"  a écrit :
>
> Ok so I tried to parse a very simple list like
>>
>> [ 67,12342,5 ]
>>
>> using Parse and explore , I can find these number by following this AST
>> (for example 67)
>>
>> PyFileInputNode>>statements: -> 1: PySimpleStmNode>>stmts: -> 1:
>> PyExprStmtNode>>tests: ->1: PyPowerNode>>atom: -> PyAtomNode>>list: -> 1:
>> PyPowerNode>>atom: -> PyPowerNode>>numberToken -> numberToken>>value -> 67
>>
>> quite a structure, but the one thing I dont get is "tests" , why "tests"
>> ?
>>
>> Does it tests something and if yes what ?
>>
>


Re: [Pharo-users] New versions of the Pharo Launcher for Windows and MacOS

2015-01-30 Thread kilon alios
Thank you Damien, cant imagine myself without PharoLauncher, love it :)

On Tue, Jan 20, 2015 at 3:58 PM, Damien Cassou 
wrote:

> Hi everyone,
>
> I've just updated the Windows and MacOS packages of the Pharo Launcher.
> Please update:
>
> http://www.smalltalkhub.com/#!/~Pharo/PharoLauncher
>
> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> "Success is the ability to go from one failure to another without
> losing enthusiasm." --Winston Churchill
>
>


Re: [Pharo-users] Implementing text navigation shortcuts

2015-01-30 Thread kilon alios
Ok thanks that means I will wait for TxText too, I am in no big hurry. Well
unless TxText takes more than a year to be added to Pharo.

On Fri, Jan 30, 2015 at 12:37 PM, Tudor Girba  wrote:

> Rubric is basically a clone of TextMorph that was significantly refactored
> by Alain.
>
> Just keep in mind that Rubric is just a bridge solution. The goal is to
> adopt TxText as soon as possible.
>
> Cheers,
> Doru
>
>
>
> On Fri, Jan 30, 2015 at 11:23 AM, kilon alios 
> wrote:
>
>> Can Rubric be used for displaying paragraphs etc ? I want to improve the
>> documentation situation for pharo by improving the help tool.
>>
>> Nothing major just something that will improve the general look.
>> Shortucts also play a huge role in this, I really like Emacs documentation
>> system that allow you to navigate via shortcuts .
>>
>> On Fri, Jan 30, 2015 at 12:13 PM, Tudor Girba 
>> wrote:
>>
>>> Rubric is already in the image and has most of these keybindings
>>> properly defined.
>>>
>>> Doru
>>>
>>> On Fri, Jan 30, 2015 at 11:09 AM, stepharo  wrote:
>>>
>>>>  Yes we should continue to remove the old key-bindings hard-coded.
>>>>
>>>> Stef
>>>>
>>>> Le 30/1/15 00:48, Nicolai Hess a écrit :
>>>>
>>>>
>>>> 2015-01-29 23:06 GMT+01:00 Laura Risani :
>>>>
>>>>> Hi all,
>>>>>
>>>>>  I like to implement a keyboard shortcut for, while editing any text,
>>>>> move the text pointer to the next position after $: .
>>>>>
>>>>>  Seems that the base of all text editing is the class
>>>>> #TextMorphForEditView. I see there there is an instance variable for the
>>>>> text. My problem is i can not find a method that tells/sets the current
>>>>> position in the text of the text pointer.
>>>>>
>>>>>  I've tried going through the list of methods of
>>>>> #TextMorphForEditView and its superclasses. Also through the one of 
>>>>> senders
>>>>> of #arrowRight trying to find the instantiation of #KMKeyCombination 
>>>>> needed
>>>>> to implement the existing shortcut "ctrl + right arrow" which jumps to the
>>>>> next position after an space, but i found nothing.
>>>>>
>>>>>  Best,
>>>>> Laura
>>>>>
>>>>
>>>>  Hello Laura,
>>>>
>>>> not all editing functions are actually in the TextMorph
>>>> (TextMorphForEditView ...) classes or the Text class, instead they
>>>> delegated this to an editor
>>>> class (Editor/SimpleEditor/SmalltalkEditor...).
>>>>  And - yes that is bad -  not all keyboard shortcuts go through
>>>> KMKeyCombination and KMKeymap.
>>>> The SmalltalkEditor class defines its own shortcut handler.
>>>>  For exampe: cmd+shift+a -> #argAdvance:
>>>>  This method searches for the next $: followed by a space and place
>>>> the caret after the space.
>>>>
>>>>  nicolai
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Every thing has its own flow"
>>>
>>
>>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>


Re: [Pharo-users] SmaCC: First steps

2015-01-30 Thread kilon alios
thank for your congratulations, because at times I fear I ask too obvious
questions. I have to say I find this parsing very complex but very
fascinating too :) Time to experiment with the visitor.

On Fri, Jan 30, 2015 at 11:49 PM, Thierry Goubier  wrote:

>
>
> 2015-01-30 14:04 GMT+01:00 kilon alios :
>
>> Ok thanks for the info, I am still however curious about these "tests"
>> are just tests (which may or may not happen) that determine the AST, for
>> example which node to use ?
>>
>
> 'tests' is just there because, in the grammar, there is this at a certain
> point:
>
> testlist:
> test 'test' "," testlist
> | test 'test' comma_opt
> ;
>
> I have named this use of test 'test', so SmaCC has deduced that testlist
> will be a list of test(s) nodes (or maybe other stuff such as atoms,
> depending on the productions for test).. so, SmaCC, in each rule where
> testlist is found, it will add a 'tests' instance variable.
>
> So, basically, the grammar rules explain how each node can be decomposed
> in sub-nodes, and the additional annotations (the 'test' naming and the
> {{}} or {{}}) drive how the classes for the nodes you want to keep are
> generated. In that testlist case, no node will be generated, but everywhere
> testlist appear on the right of the rule, then it will add a 'tests'
> instance variable.
>
>
>>
>> Or are they tests related to unit testing class PythonParserTests ?
>>
>
> Not at all :)
>
>
>>
>> Also you said I need to use the visitor created by PythonParser I assume
>> you mean PyRootNodeVisitor ? Just as it is explained in the AST chapter of
>> the documentation.
>>
>> In my case this simple python list will need me to subclass it and
>> override method visitListmaker , the aListmaker passed as argument to the
>> method should I assume it is PyListmakerNode ?
>>
>
> In my experience, what you need to do is you have a look at the ast
> generated and see if you can recognize the elements. From what I see in
> your simple example, the key to your list is that PyAtomNode instance with
> something in list. Once you have that, you know that you need to visit
> PyAtomNode (and check that it has the [ ] tokens).
>
> Looking into what is listmaker in atom in the grammar (congratulations by
> the way, you have seen it :) ), you'll see that it creates a listmaker node
> only in the first case: test followed by a list_for, otherwise it falls
> back to testlist...
>
> Thierry
>
>
>
>>
>> On Fri, Jan 30, 2015 at 10:50 AM, Thierry Goubier <
>> thierry.goub...@gmail.com> wrote:
>>
>>> Hi kilon,
>>>
>>> The tests instance variable is linked to the python grammar: top level
>>> items in an expression are probably tests, and, through the grammar, tests
>>> can be just atoms.
>>>
>>> So the tests instance variable doesn't means it is testing anything :)
>>>
>>> Thierry
>>> Le 30 janv. 2015 09:23, "kilon alios"  a écrit :
>>>
>>> Ok so I tried to parse a very simple list like
>>>>
>>>> [ 67,12342,5 ]
>>>>
>>>> using Parse and explore , I can find these number by following this AST
>>>> (for example 67)
>>>>
>>>> PyFileInputNode>>statements: -> 1: PySimpleStmNode>>stmts: -> 1:
>>>> PyExprStmtNode>>tests: ->1: PyPowerNode>>atom: -> PyAtomNode>>list: -> 1:
>>>> PyPowerNode>>atom: -> PyPowerNode>>numberToken -> numberToken>>value -> 67
>>>>
>>>> quite a structure, but the one thing I dont get is "tests" , why
>>>> "tests" ?
>>>>
>>>> Does it tests something and if yes what ?
>>>>
>>>
>>
>


Re: [Pharo-users] Slides from the Pharo Status talk at FOSDEM 2015

2015-02-03 Thread kilon alios
I do agree, that nomads do not build cathedrals but there is the flip side
of the coin, why one would want to be a nomad and the great benefits coming
with being a nomad

Guido the creator of python explains it from the side of the Python
Standard library but I think it applies fine for Pharo too

http://youtu.be/EBRMq2Ioxsc?t=49m4s

he makes the point at 49th minute for a couple of minutes. Especially if
the subject of your coding is quite unconventional putting it inside a
standard distribution can be a huge wast of time that not only can offer
limited benefits but even decrease the quality of the code substantially.

Afterall the most beautiful things in life are not big at all ;)

But yes I agree that being teamplayer is extremely important too. The
balance is somewhere in between and I am a big supporter of what you trying
to do with making pharo more modular.

Thanks for the slides. I am using Pharo for a couple of years and I am
amazed how far it has come , keep up the great work.

On Tue, Feb 3, 2015 at 12:10 PM, Marcus Denker 
wrote:

>
> > On 02 Feb 2015, at 21:19, Marcus Denker  wrote:
> >
> > Hi,
> >
> > Here are the slides from my talk from yesterday:
> >
> > http://www.slideshare.net/MarcusDenker/2015-fosdempharo
> >
>
> The part in between Pharo3 and Pharo4 tries a bit to explain the
> philosophy… I did a longer
> talk at ESUG last year about that:
>
> Nomads do not build Cathedrals
> http://www.slideshare.net/MarcusDenker/2014-esugcathedral
>
> The video of that is online:
>
> Video Part 1: https://www.youtube.com/watch?v=Vcoy5gwUvOA
> Video Part 2: https://www.youtube.com/watch?v=5LrH9r4FNzY
>
> In the spirit of the talk, I should do a pass over it and make a version 2…
>
> e.g. one book that was very influential to my thinking was
> Finite and Infinite Games by James P. Carse:
>
> http://kk.org/cooltools/archives/000434
>
> To me a software system should always be thought as an “infinite game”…
>
> Marcus
>


Re: [Pharo-users] Slides from the Pharo Status talk at FOSDEM 2015

2015-02-03 Thread kilon alios
But thats not the point I am trying to make and what Guido is talking about
in the video.

The summary of those two minutes is that "you dont want to contribute your
code to us because as soon as you do you are trapped by our huge scary
monster of backward compatibility and we wont tolerate any change to the
design"

So you end up being a nomad because you want to be flexible, you dont even
know if at some point you decide to rewrite your code because the code may
be very experimental.

The cool thing about nomads that they are extremely flexible unlike
Cathedrals ;)

Pharo right now is in the "honeymoon" period of expanding and expanding ,
as new , fresh thing. But the more user it will get the more inflexible
will become to change. That's a big price to pay for abandoning the nomad
life.



On Tue, Feb 3, 2015 at 3:07 PM, Marcus Denker 
wrote:

>
> On 03 Feb 2015, at 13:59, kilon alios  wrote:
>
> I do agree, that nomads do not build cathedrals but there is the flip side
> of the coin, why one would want to be a nomad and the great benefits coming
> with being a nomad
>
> Guido the creator of python explains it from the side of the Python
> Standard library but I think it applies fine for Pharo too
>
> http://youtu.be/EBRMq2Ioxsc?t=49m4s
>
> he makes the point at 49th minute for a couple of minutes. Especially if
> the subject of your coding is quite unconventional putting it inside a
> standard distribution can be a huge wast of time that not only can offer
> limited benefits but even decrease the quality of the code substantially.
>
>
> The idea is not that everything should be added… the idea is that we do
> experiments (or commercial projects), and *after* we re-assess if
> the changes that where needed to make those real make sense to be feed
> back into the main system.
> Often it is just parts, and in all “research” cases a real engineering
> pass is needed: research prototypes are just good enough to publish a
> paper… every minute
> spend doing more means publishing less, which is hurting your research
> career.
> (Research is a very nomadic activity…)
>
> Thanks for the slides. I am using Pharo for a couple of years and I am
> amazed how far it has come , keep up the great work.
>
>
> Thanks!
>
> Marcus
>


Re: [Pharo-users] Slides from the Pharo Status talk at FOSDEM 2015

2015-02-03 Thread kilon alios
The weak spot in your argument is that you use the worst example you can
choose to prove it.

Ruby.

Ruby has two big issues for your line of arguments. First its popularity
was build by a single man. A nomad. His name is David Heinemeier Hansson
. He is the guy
behind that library you probably know as "Ruby on Rails".  Not only he
created that library alone, not only that library is the single reason why
Ruby is so popular, though personally I would not call it a popular
language, but he also did not allow people to commit to his code for a
single year before opening up the project to external commits. A true nomad
if you ask me.

The second issue is that you use Ruby as an example language that does not
care about design and cool ideas, which is kinda strange if you think about
how much Ruby copies from smalltalk. Actually I would even argue that Ruby
is more smalltalk than even objective c.

But further more its not hard to find evidence of the contributions of
nomads to our society, whether you learn about Einstein, Newton , Socrtates
etc. Our western civilization is based on the effort of individuals that
worked alone, "standing on the shoulder of giants" , but alone none the
less and they did not only succeed but carried modern civilisation to what
we take today for granted (and we should not).

Codings of course is no exception.

So even though I acknowledge the huge importance of teamwork , cooperation
and competition, I am also perfectly capable of seeing nomads as something
vastly more than people living in mud huts.

I also dont share your optimism that an "idea" / "design orientated" coder
will have any problem materialising his dream software in the "abomination"
language called C++ . As a matter of fact tons of great software with
gorgeous design that people highly praise has been built in this language.
For me one such thing is the QT framework for which Pharo has no
alternative that can approach it even in the distance of 100 light years.
And believe me I am N fan of C++.

Like you I love Pharo, but unlike you I dont think I will live long enough
to see Pharo used by 1 million people. But it is one of those things I will
be very glad to be wrong about. It would be great to have something like QT
for Pharo  , or other great libraries. But even if Pharo remains small , no
regrets , I love it and I will keep coding in it.

But then I dont see Pharo as neither the Blue , or the Red, or the Pink
pill. Is just another tool with advantages and disadvantages. A personal
choice that I dont try to impose to others as "better".

On Tue, Feb 3, 2015 at 5:38 PM, Sean P. DeNigris 
wrote:

> kilon.alios wrote
> > I do agree, that nomads do not build cathedrals but there is the flip
> side
> > of the coin, why one would want to be a nomad and the great benefits
> > coming
> > with being a nomad
> >
> > Guido the creator of python explains it from the side of the Python
> > Standard library but I think it applies fine for Pharo too
>
> Cathedral to me means architecture i.e. the application of forethought and
> understanding to make the most beautiful, functional structure in the most
> efficient way VS. nomads slapping together temporary mud huts that can be
> abandoned and easily rebuilt elsewhere in better conditions. This is
> orthogonal to the also-important issue that rigidity often accompanies a
> large user-base.
>
> One could have a beautiful cathedral that is frequented only by the
> faithful, and not turned into a tourist attraction like Notre Dame or Il
> Duomo di Firenze. Steph often says that if we were looking to be famous,
> we'd be programming in Ruby ;) Conversely, one could have a mud hut that
> becomes a historic landmark or revered for it's earthly charm, and can
> never
> be improved.
>
> And as for popularity = rigidity, that's certainly true for languages taken
> up by pop culture. That is because of one of Alan Kay's frequent
> observations - that nearly everyone is driven by utility, with only a tiny
> minority concerned inherently with ideas. Once people are programming a
> language because that's the language "you're supposed to use" - like C++ or
> Ruby - the utilitarianists flock in, and, because they are concerned only
> with its usefulness, they will not tolerate much disturbance due to
> "beauty", "design", or other intangibles.
>
> But, who says we have to go there? I for one am not interested in that
> game.
> One estimate says there are 18.5 million software developers in the world
> [1]. I don't remember the exact percentage of inherent-idea people, but
> let's be extremely conservative and say 5% (I think it was much higher).
> That gives us 0.05 x 18.5M = 925,000 potential Pharo users that would revel
> in the idea of an infinite game pursuing a beautiful, simple liberator of
> human expression; and therefore willing to tolerate and adapt themselves to
> the inevitable change, just like we all do now.
>
> N

Re: [Pharo-users] spotter preview

2015-02-03 Thread kilon alios
"And also as someone pointed out during Pharo Days... to have tooltips
above the buttons showing the shortcut."

+1

GT tools have greatly enhanced the Pharo experience. I do think that
GTInspector and GTPlayground could use a GUI cleanup in their design but
GTSpotter is gorgeously well done. The nice thing about this tool is that
the way its designed it can replace pretty much every single tool inside
Pharo.
I could imagine myself coding solely inside it. Who knows maybe in the
future :)

On Tue, Feb 3, 2015 at 6:35 PM, Peter Uhnák  wrote:

> The keybindings are:
>> - trigger Spotter with Shift+Enter.
>> - toggle preview with Cmd+P (or Alt+P on Windows/Linux)
>>
>
> It would be great to have all the keybindings (also moving inside the
> Spotter) written somewhere in one place (for all platforms) so one doesn't
> need to go scavenge blogs and source code for them.
> And also as someone pointed out during Pharo Days... to have tooltips
> above the buttons showing the shortcut.
>
> But I love this thing... you always add something cool. :)
>
> Peter
>


Re: [Pharo-users] Slides from the Pharo Status talk at FOSDEM 2015

2015-02-03 Thread kilon alios
well this is why I say its a weak spot. I dont disagree with everything you
say. I do agree that a language like C++ goes to a very diffirent direction
to Pharo and will attract diffirent kind of people, or even the same people
with different set of goals.

If you mean something more than that, then I am open to other opinions as
always :)

My point is that nomads should not be underestimated. But then I am one of
them so maybe I am a bit biased :D

On Tue, Feb 3, 2015 at 7:08 PM, Sean P. DeNigris 
wrote:

> kilon.alios wrote
> > The weak spot in your argument is that you use the worst example you can
> > choose to prove it.
>
> Ha ha ha, did you really just boil my whole post down to two examples of
> languages which are "languages you're supposed to use" (which by the way if
> you read carefully I never suggest are inherently good ideas)?!
>
>
>
> -
> Cheers,
> Sean
> --
> View this message in context:
> http://forum.world.st/Slides-from-the-Pharo-Status-talk-at-FOSDEM-2015-tp4803290p4803432.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] Slides from the Pharo Status talk at FOSDEM 2015

2015-02-03 Thread kilon alios
Yes sure , I agree, but why that does not apply to Pharo ?

I would not want to use Pharo libraries that get changed and redesigned in
each version and I have to rewrite my code. I could not even imagine the
nightmare scenario of having a big code base and a language that keep
changing. Python broke compatibility from version 2 to version 3 and it was
not a smooth ride for people, it took years for people to migrate and still
there are a lot that are still using Python 2. The changes they made were
not even that big and even offered a tool to automagically convert code
from version 2 to version 3.

What makes Pharo immune to this situation ? because the way I see it Pharo
is not immune at all.

On Tue, Feb 3, 2015 at 7:19 PM, Sean P. DeNigris 
wrote:

> kilon.alios wrote
> > If you mean something more than that, then I am open to other opinions as
> > always :)
>
> The only meaning I connected to C++ and Ruby were that they were
> dogmatically and widely enough approved for use to be rigid by necessity.
> Based on some of your comments, I assume I probably could have used Python
> as an example of a language that got popular enough to expand beyond people
> that truly "get it", and thus have significant push back to
> non-backward-compatibility in the community.
>
>
>
> -
> Cheers,
> Sean
> --
> View this message in context:
> http://forum.world.st/Slides-from-the-Pharo-Status-talk-at-FOSDEM-2015-tp4803290p4803435.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] Question on Morphic drawOn: method.

2015-02-04 Thread kilon alios
alt+shift+left click should bring on the halo , the claw like icon has a
menu with the debuger as an entry you can trigger to see whats wrong. You
can also inspect the morph too and play around with it, very useful even
when you got no errors.

On Wed, Feb 4, 2015 at 9:33 PM, nacho <0800na...@gmail.com> wrote:

> Thank you both of you!
> I will continue with my Morphic explorations
>
> Nacho
>
>
>
> -
> Nacho
> Smalltalker apprentice.
> Buenos Aires, Argentina.
> --
> View this message in context:
> http://forum.world.st/Question-on-Morphic-drawOn-method-tp4803695p4803734.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] Spotter: How to see more beyond #/##

2015-02-05 Thread kilon alios
because right controls the search input box cursor. Maybe a shortcut to
switch focus between input search box and the search results panel could
cut down the complexity of the shortcuts considerably.

On Thu, Feb 5, 2015 at 12:00 PM, Guillermo Polito  wrote:

> Maybe I'm not getting it but, Why not just using "Right"?
>
> El Thu Feb 05 2015 at 10:43:39 AM, Ben Coman 
> escribió:
>
> I've been meaning to ask the same question.In light of your answer,
>> Would you consider being able to place the cursor on the line "Classes
>> 5/26" line, and using the standard CMD-Right rather than CMD-Shift-Right.
>> To me that seems to follow the pattern of CMD-Right "opening up" an item.
>>
>> cheers -ben
>>
>> On Thu, Feb 5, 2015 at 2:27 AM, Aliaksei Syrel 
>> wrote:
>>
>>> Hi,
>>>
>>> Select any of that 5 items and use CMD (Alt on
>>> windows,linux)+Shift+Right.
>>> Of course shortcuts in spotter are not very obvious, so we are planning
>>> to add hints and have all actions to present as buttons in UI
>>>
>>> Cheers,
>>> Alex
>>>
>>> On Wed, Feb 4, 2015 at 7:11 PM, Sean P. DeNigris 
>>> wrote:
>>>
 Spotter is showing me "Classes 5/26". How do I see the remaining 21?



 -
 Cheers,
 Sean
 --
 View this message in context:
 http://forum.world.st/Spotter-How-to-see-more-beyond-tp4803696.html
 Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.


>>>
>>


Re: [Pharo-users] Question on Morphic drawOn: method.

2015-02-05 Thread kilon alios
upload your code to smalltalkhub or github and lets take a look at it.
Sharing your image is also a viable option


On Thu, Feb 5, 2015 at 12:56 PM, nacho <0800na...@gmail.com> wrote:

> @Trygve
> I've checked and it doesn't work. I can't even bring the halo on to delete
> the morph. The debugger keeps popping.
> Thanks anyway to all
> Nacho
>
>
>
>
> -
> Nacho
> Smalltalker apprentice.
> Buenos Aires, Argentina.
> --
> View this message in context:
> http://forum.world.st/Question-on-Morphic-drawOn-method-tp4803695p4803895.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] Published some old games ...

2015-02-08 Thread kilon alios
Thank you Stef, its great to have some games for Pharo :)

Some issues

1) I cannot find ChineseChekers in conf browser
2) None of the 3 games comes with an easy way to open them. I had to use
$GameName$ new openInWindow.
3) Tetris is giving me a MNU apparently it does not find the LedMorph class
it needs.
4) Miners was displaying some weird artefacts when I hit a mine. They dont
go away when I hit new game.

On Sun, Feb 8, 2015 at 2:27 PM, olivier auverlot  wrote:

> very cool !
>
> 2015-02-08 12:05 GMT+01:00 Ignacio Sniechowski <0800na...@gmail.com>:
>
>> Stef,
>> Thanks so much!
>> I love this because its fun to analyze the code and learn from it.
>> Best
>> Nacho
>>
>>
>> *Lic. Ignacio Sniechowski, MBA*
>> *Prosavic SRL*
>>
>> *Tel: (011) 4542-6714*
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> On Sun, Feb 8, 2015 at 6:28 AM, stepharo  wrote:
>>
>>>  Hi guys
>>>
>>> It was for so long on my todo list that I decided to start addressing it.
>>> I publish games that were defined long time ago in Squeak.
>>> - Tetris
>>> - Miners
>>> - SameGame
>>> - ChineseCheckers
>>>
>>> There are now available via the metarepository configuration browser
>>> I will continue to publish some others.
>>>
>>>
>>> Stef
>>>
>>>
>>>
>>>
>>>
>>
>


Re: [Pharo-users] Published some old games ...

2015-02-08 Thread kilon alios
yes it works and I took the liberty to commit to the meta repo for pharo 4
, well done Stef :)

On Sun, Feb 8, 2015 at 7:49 PM, stepharo  wrote:

>  I fixed the configurationOfTetris but I cannot publish it to
> MetaRepoForPharo40.
> Can you copy it from my repo and try?
>
> I will verify all the others.
>
>
>
>
>


Re: [Pharo-users] Published some old games ...

2015-02-08 Thread kilon alios
wow if you turn it upside down it reads "written in C" ;D

Definetly not ideal example code for beginners , but I am grateful someone
actually bothered writing that code so I and other newcomers learn a bit
more about Morphic.

On Sun, Feb 8, 2015 at 7:56 PM, stepharo  wrote:

>  why I think that such games should be rewritten: crying for a subclass :)
>
> drawOn: aCanvas
> "Draw a rectangle with a solid, inset, or raised border.
> Note: the raised border color *and* the inset border color are
> generated
> from the receiver's own color, instead of having the inset border color
> generated from the owner's color, as in BorderedMorph."
>
> | font rct |
>
> borderWidth = 0 ifTrue: [  "no border"
> aCanvas fillRectangle: bounds color: color.
> ^ self.].
>
> borderColor == #raised ifTrue: [
> ^ aCanvas frameAndFillRectangle: bounds
> fillColor: color
> borderWidth: borderWidth
> topLeftColor: color lighter lighter
> bottomRightColor: color darker darker darker].
>
> borderColor == #inset ifTrue: [
> aCanvas frameAndFillRectangle: bounds
> fillColor: color
> borderWidth: 1 " borderWidth"
> topLeftColor: (color darker darker darker)
> bottomRightColor: color lighter.
> self isMine ifTrue: [
> font  := StrikeFont familyName: 'Atlanta' size: 22 emphasized:
> 1.
> rct := bounds insetBy: ((bounds width) - (font widthOfString:
> '*'))/2@0.
> rct := rct top: rct top + 1.
> aCanvas drawString: '*' in: (rct translateBy: 1@1) font: font
> color: Color black.
> ^ aCanvas drawString: '*' in: rct font: font color: Color red
> .].
> self nearMines > 0 ifTrue: [
> font := StrikeFont familyName: 'ComicBold' size: 22
> emphasized: 1.
> rct := bounds insetBy: ((bounds width) - (font widthOfString:
> nearMines asString))/2@0.
> rct := rct top: rct top + 1.
> aCanvas drawString: nearMines asString in: (rct translateBy:
> 1@1) font: font color: Color black.
> ^ aCanvas drawString: nearMines asString in: rct font: font
> color: ((palette at: nearMines) ) .].
> ^self. ].
>
> "solid color border"
> aCanvas frameAndFillRectangle: bounds
> fillColor: color
> borderWidth: borderWidth
> borderColor: borderColor.
>
>
>
>
>
> Le 8/2/15 17:39, kilon alios a écrit :
>
> Thank you Stef, its great to have some games for Pharo :)
>
>  Some issues
>
>  1) I cannot find ChineseChekers in conf browser
> 2) None of the 3 games comes with an easy way to open them. I had to use
> $GameName$ new openInWindow.
> 3) Tetris is giving me a MNU apparently it does not find the LedMorph
> class it needs.
> 4) Miners was displaying some weird artefacts when I hit a mine. They dont
> go away when I hit new game.
>
> On Sun, Feb 8, 2015 at 2:27 PM, olivier auverlot <
> olivier.auver...@gmail.com> wrote:
>
>> very cool !
>>
>> 2015-02-08 12:05 GMT+01:00 Ignacio Sniechowski <0800na...@gmail.com>:
>>
>>>  Stef,
>>> Thanks so much!
>>> I love this because its fun to analyze the code and learn from it.
>>> Best
>>> Nacho
>>>
>>>
>>> *Lic. Ignacio Sniechowski, MBA*
>>>  *Prosavic SRL*
>>>
>>>  *Tel: (011) 4542-6714*
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Sun, Feb 8, 2015 at 6:28 AM, stepharo  wrote:
>>>
>>>>  Hi guys
>>>>
>>>> It was for so long on my todo list that I decided to start addressing
>>>> it.
>>>> I publish games that were defined long time ago in Squeak.
>>>> - Tetris
>>>> - Miners
>>>> - SameGame
>>>> - ChineseCheckers
>>>>
>>>> There are now available via the metarepository configuration browser
>>>> I will continue to publish some others.
>>>>
>>>>
>>>> Stef
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>
>
>


Re: [Pharo-users] Published some old games ...

2015-02-08 Thread kilon alios
In case of mines I see now that each opened cell is a red box of doom .

Apparently the morph DNU fontOfSize . Looks like StrikeFont class is the
culprit used in MinesTile>>drawOn:


Re: [Pharo-users] Published some old games ...

2015-02-08 Thread kilon alios
Well done Stef . The artefact problem is gone and I have committed your
configuration to MetaRepo4.

On Sun, Feb 8, 2015 at 8:30 PM, stepharo  wrote:

> I fixed it.
> Now this is a good example on how an application should embed its fonts.
>
> Stef
> Le 8/2/15 19:12, kilon alios a écrit :
>
>
>> In case of mines I see now that each opened cell is a red box of doom .
>>
>> Apparently the morph DNU fontOfSize . Looks like StrikeFont class is the
>> culprit used in MinesTile>>drawOn:
>>
>>
>>
>
>


Re: [Pharo-users] Published some old games ...

2015-02-08 Thread kilon alios
Does pharo come with its own standard TTFs ? I am unfamiliar with how fonts
work in Pharo exactly will take a look at mines and see what I can
understand.

On Sun, Feb 8, 2015 at 11:11 PM, stepharo  wrote:

>  Thanks I do not get why it does not work with me. O_o
>
> Le 8/2/15 20:07, kilon alios a écrit :
>
> Well done Stef . The artefact problem is gone and I have committed your
> configuration to MetaRepo4.
>
> On Sun, Feb 8, 2015 at 8:30 PM, stepharo  wrote:
>
>> I fixed it.
>> Now this is a good example on how an application should embed its fonts.
>>
>   In fact this is a good example on why an application should embed its
> fonts and I would like to have a solution for that.
>
>
>
>> Stef
>> Le 8/2/15 19:12, kilon alios a écrit :
>>
>>
>>> In case of mines I see now that each opened cell is a red box of doom .
>>>
>>> Apparently the morph DNU fontOfSize . Looks like StrikeFont class is the
>>> culprit used in MinesTile>>drawOn:
>>>
>>>
>>>
>>
>>
>
>


Re: [Pharo-users] Published some old games ...

2015-02-09 Thread kilon alios
hehe I like your pacman clone , well done :)

On Mon, Feb 9, 2015 at 10:11 PM, Laura Risani 
wrote:

> Hi ,
>
> I developed some little games in distribution v3 (seems they work fine in
> v4 except perhaps some visual difference).
> If you want to take a look at them (feedback is welcome) they are here
>
> MCSmalltalkhubRepository
> owner: 'squidik'
> project: 'Games'
> user: ''
> password: nil
>
> Love,
> Laura
>
> On Mon, Feb 9, 2015 at 5:04 PM, stepharo  wrote:
>
>>  You have basically
>> logicalfont that describes what you want
>> then a logicial font is checking reality and you get a Strikefont? or
>> a FT
>> Now htere were many patches and globals so this part would really need to
>> cleaning such StandardFonts which is a kind of registry.
>> Especially because FT are not polymorphic with StrikeFont.
>>
>>
>>
>>
>> Le 8/2/15 22:33, kilon alios a écrit :
>>
>> Does pharo come with its own standard TTFs ? I am unfamiliar with how
>> fonts work in Pharo exactly will take a look at mines and see what I can
>> understand.
>>
>> On Sun, Feb 8, 2015 at 11:11 PM, stepharo  wrote:
>>
>>>  Thanks I do not get why it does not work with me. O_o
>>>
>>> Le 8/2/15 20:07, kilon alios a écrit :
>>>
>>> Well done Stef . The artefact problem is gone and I have committed your
>>> configuration to MetaRepo4.
>>>
>>> On Sun, Feb 8, 2015 at 8:30 PM, stepharo  wrote:
>>>
>>>> I fixed it.
>>>> Now this is a good example on how an application should embed its fonts.
>>>>
>>>   In fact this is a good example on why an application should embed its
>>> fonts and I would like to have a solution for that.
>>>
>>>
>>>
>>>> Stef
>>>> Le 8/2/15 19:12, kilon alios a écrit :
>>>>
>>>>
>>>>> In case of mines I see now that each opened cell is a red box of doom .
>>>>>
>>>>> Apparently the morph DNU fontOfSize . Looks like StrikeFont class is
>>>>> the culprit used in MinesTile>>drawOn:
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>


Re: [Pharo-users] Published some old games ...

2015-02-09 Thread kilon alios
No idea what you talking about so I will take your word for it :`D

On Mon, Feb 9, 2015 at 10:04 PM, stepharo  wrote:

>  You have basically
> logicalfont that describes what you want
> then a logicial font is checking reality and you get a Strikefont? or
> a FT
> Now htere were many patches and globals so this part would really need to
> cleaning such StandardFonts which is a kind of registry.
> Especially because FT are not polymorphic with StrikeFont.
>
>
>
>
> Le 8/2/15 22:33, kilon alios a écrit :
>
> Does pharo come with its own standard TTFs ? I am unfamiliar with how
> fonts work in Pharo exactly will take a look at mines and see what I can
> understand.
>
> On Sun, Feb 8, 2015 at 11:11 PM, stepharo  wrote:
>
>>  Thanks I do not get why it does not work with me. O_o
>>
>> Le 8/2/15 20:07, kilon alios a écrit :
>>
>> Well done Stef . The artefact problem is gone and I have committed your
>> configuration to MetaRepo4.
>>
>> On Sun, Feb 8, 2015 at 8:30 PM, stepharo  wrote:
>>
>>> I fixed it.
>>> Now this is a good example on how an application should embed its fonts.
>>>
>>   In fact this is a good example on why an application should embed its
>> fonts and I would like to have a solution for that.
>>
>>
>>
>>> Stef
>>> Le 8/2/15 19:12, kilon alios a écrit :
>>>
>>>
>>>> In case of mines I see now that each opened cell is a red box of doom .
>>>>
>>>> Apparently the morph DNU fontOfSize . Looks like StrikeFont class is
>>>> the culprit used in MinesTile>>drawOn:
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>


Re: [Pharo-users] SmaCC: First steps

2015-02-10 Thread kilon alios
Ok so after rereading the tutorial and testing again and again , I think I
have finally managed to understand how SmaCC really works and I was
succesful into converting simple python litsts to pharo arrays and ordered
collections.

The tricky part now is to apply this knowledge to complex python types like
multi dimensional lists, tuples and dictionaries. I understand that the
visitor allows me to visit a specific object instances each time they are
found in the AST . But because I want to walk the AST in order to build
multi dimensional ordered collections I need something more, or maybe my
understanding of the visitor pattern is flawed.

The problem I am having here is that each time I parse a python type that
python type is not necessarily represented by different kind of node. For
example whether its a list or a tuple or a dictionary the same class is
used PyAtomNode. In order to differentiate between those diffirent python
types PyAtomNode has instance variables for right and left bracket,
parantheses, and curly. So my initial thinking is to check those instance
variables to see if they are nil and from that I can conclude which python
type I am parsing.

So I can preform simple ifs that check that the instance variable is Nil or
not but the question is if my strategy is a good one or a bad one.

I could define my own syntax to simplify the AST tree including different
nodes for different python types , because from the looks of it , it seems
it is a bit too verbose for my needs but On the other hand I am not so sure
because in the future my needs may become more verbose too.

So I am very close and ready to create my full python types converter for
pharo but I wanted some good advice before wasting time on something that
is not efficient.


By the way Thierry I have to agree with you Smacc is a very capable parser,
also I like the use of regex syntax, makes it uglier compared Pettit Parser
but I prefer the compact regex syntax to having to define and browse tons
of classes and send tons of messages. Also the Python support is very good
and I am impressed how easily SmaCC can parse whole python applications
since some of the test are very complex. Well done great work!



On Sat, Jan 31, 2015 at 12:04 AM, kilon alios  wrote:

> thank for your congratulations, because at times I fear I ask too obvious
> questions. I have to say I find this parsing very complex but very
> fascinating too :) Time to experiment with the visitor.
>
> On Fri, Jan 30, 2015 at 11:49 PM, Thierry Goubier <
> thierry.goub...@gmail.com> wrote:
>
>>
>>
>> 2015-01-30 14:04 GMT+01:00 kilon alios :
>>
>>> Ok thanks for the info, I am still however curious about these "tests"
>>> are just tests (which may or may not happen) that determine the AST, for
>>> example which node to use ?
>>>
>>
>> 'tests' is just there because, in the grammar, there is this at a certain
>> point:
>>
>> testlist:
>> test 'test' "," testlist
>> | test 'test' comma_opt
>> ;
>>
>> I have named this use of test 'test', so SmaCC has deduced that testlist
>> will be a list of test(s) nodes (or maybe other stuff such as atoms,
>> depending on the productions for test).. so, SmaCC, in each rule where
>> testlist is found, it will add a 'tests' instance variable.
>>
>> So, basically, the grammar rules explain how each node can be decomposed
>> in sub-nodes, and the additional annotations (the 'test' naming and the
>> {{}} or {{}}) drive how the classes for the nodes you want to keep are
>> generated. In that testlist case, no node will be generated, but everywhere
>> testlist appear on the right of the rule, then it will add a 'tests'
>> instance variable.
>>
>>
>>>
>>> Or are they tests related to unit testing class PythonParserTests ?
>>>
>>
>> Not at all :)
>>
>>
>>>
>>> Also you said I need to use the visitor created by PythonParser I assume
>>> you mean PyRootNodeVisitor ? Just as it is explained in the AST chapter of
>>> the documentation.
>>>
>>> In my case this simple python list will need me to subclass it and
>>> override method visitListmaker , the aListmaker passed as argument to the
>>> method should I assume it is PyListmakerNode ?
>>>
>>
>> In my experience, what you need to do is you have a look at the ast
>> generated and see if you can recognize the elements. From what I see in
>> your simple example, the key to your list is that PyAtomNode instance with
>> something in list. Once you have that, you know that you need to visit
>> PyAtomNode (and check that it ha

Re: [Pharo-users] get them while they are young

2015-02-11 Thread kilon alios
Well done Martin, personally I would not recommend Pharo to beginner
coders, but with Updated Pharo By Example near completion I may change my
mind ;)

On Wed, Feb 11, 2015 at 9:58 AM, Martin Bähr <
mba...@email.archlab.tuwien.ac.at> wrote:

> here is the reaction of a student preparing for a GSoC project for which
> the
> student needs to learn smalltalk:
>
>   "I have installed Pharo v4.0 and started the book Pharo By Example as
>suggested by you  I just wanted to say that I am in the initial
> stages
>and loving it already :)"
>
> greetings, martin.
>
> --
> eKita   -   the online platform for your entire academic
> life
> --
> chief engineer
>  eKita.co
> pike programmer  pike.lysator.liu.secaudium.net
> societyserver.org
> secretary
> beijinglug.org
> mentor
> fossasia.org
> foresight developer  foresightlinux.org
> realss.com
> unix sysadmin
> Martin Bähr  working in china
> http://societyserver.org/mbaehr/
>
>


Re: [Pharo-users] SmaCC: First steps

2015-02-11 Thread kilon alios
"What you see is that, with the {{}}, I create PyAtomNode instances for all
productions, even if it isn't appropriate. Maybe this should be changed
like that for lists :

|   {{List}}
|  listmaker 'list'  {{List}}"

Both approaches you described a) adding instance methods to PyAtomNode that
provide checks for the type b) Creating separate nodes for diffirent types
work for me. Solution (b) seemed more smalltalky to me. Maybe a best
compromise would be to have for example PyListNode as a subclass of
PyAtomNode ?

If I can create something that others find useful too, I certainly would
prefer it. My needs are not very specific, I think I want pretty much what
anyone would want for importing data from python to pharo . One way or
another I will satisfy my needs this is not my worry.

"And the last one is about the visitor. For complex processing like the
transformations you intend, I would see two strategies: a builder inside
the visitor with a stack/context strategy, so that you can recurse in your
visit of the ast and add elements to the right collection, or a simple
recurse and merge the result of the lower visits (when in a List node,
collect the visit of all the children as an array or as an
OrderedCollection)."

Yes that was my way of thinking too. A collection of methods that consume
the AST , walk the tree and build a more simplified structure.

The problem I was having was two side, from one side PyAtomNode is used for
several diffirent things. From the other side not only lists, dictionaries,
tupples can be multidimensional but also can act as containers for each
other. So a list can contain a dictionary which can contain a list which
can contain a tupple and as you imagine the rabbit whole can go very deep.
Of course nothing of this is surprising for any language.

Generally speaking this is not such a big problem right now for me because
I prefer dealing with simple types with a bit of multidimensionality. Most
of the types Blender uses is like that. But it may become a problem later
on for example if the user wants to have access to the node system of
blender. Nodes can easily contain other nodes and it can create a nightmare
scenario in that case but I will leave that for when the time comes.

"I believe you are on the right path, if my explanations made sense :)"

Your explanation not only made sense but you pretty much described what I
was considering doing.

"If you start changing the grammar as suggested above, make a fork and pull
requests on github :)"

Will do, my focus is in latest python 3 because its what Blender uses, but
on types should not make any diffirence.


  1   2   3   4   >