[Pharo-users] Namespaces (was Re: Behold Pharo: The Modern Smalltalk)

2017-10-12 Thread Ben Coman
On Thu, Oct 12, 2017 at 8:52 PM, Sean P. DeNigris 
wrote:

> horrido wrote
> > Having separate namespaces would be really good.
> > VisualWorks has them. Why not Pharo?
>
> I can't remember ever hearing disagreement on this subject. It seems the
> only questions have been: 1) how to do them *right*,


The default position would be leveraging someone else's experience, so this
begs the question, what is wrong in namespace implementations in VW,
Gemstone, Squeak (as our immediate neighbours, then plus Dolphin,
SmalltalkX, other languages)
Are there been any research papers around comparing these?

I found the "Pharo on Gemstone VM" talk impressive.  The "develop on Pharo
deploy on Gemstone" philosophy seems like a nice synergy for Pharo's
commercial future.  So a naive approach would be to do namespaces just like
Gemstone.  Maybe its not the best, but would it be "good enough" --
perfection being the enemy of done and all that jazz.

cheers -ben


> and 2) where they fall on the endless prioritized todo list
>


Re: [Pharo-users] [Ann] PharoLauncher v1.0.1 released!

2017-10-12 Thread Ben Coman
On Thu, Oct 12, 2017 at 3:43 PM, Christophe Demarey <
christophe.dema...@inria.fr> wrote:

> Hi Vitor,
>
> Le 11 oct. 2017 à 13:44, Vitor Medina Cruz  a écrit
> :
>
> Hi Christophe,
>
> Yes, but:
>
> 1- I can’t execute it if I don’t have administrative rights
>
> ok. That the point I missed.
> I think I will add a zip file with PharoLauncher for windows for user like
> you not having admin rights.
>

Might this be a "portable" app, where downloaded images and VMs are stored
next to the PharoLancher application, configured by a startup-setting file?


Alternatively...
searching around I found this...
https://stackoverflow.com/questions/18990418/nsis-require-admin-permission
https://github.com/NSIS-Dev/Documentation/blob/master/Reference/RequestExecutionLevel.md


Also, when PharoLauncher is installed by an administrator and later used by
a standard user, I guess there may be problems with Pharo needing to write
changes to a restricted location??   Maybe that can be dealt with by...
when a new user runs PharoLauncher from the start menu, copy it to their
user folder $LocalAppdata\Programs\PharoLauncher
and run PharoLauncher from there where they have privilege to write?
https://stackoverflow.com/questions/31641818/install-application-files-to-standard-windows-user-using-nsis

btw, where are the NSIS source files accessible?  Can they be dropped in
the PharoLauncher git repo?

HTH
cheers -ben


Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-12 Thread Ben Coman
On Wed, Oct 11, 2017 at 10:39 PM, Offray Vladimir Luna Cárdenas <
offray.l...@mutabit.com> wrote:

> The more I use Pharo, the less I use web documentation.
>
That is a familiar path, but still an obstacle for people to get over in
trying Pharo - i.e. its a barrier of entry.  I've previously referred to
this article by JoelOnSoftware, but to pull out a key part... "Think of
these barriers as an obstacle course that people have to run before you can
count them as your customers. If you start out with a field of 1000
runners, about half of them will trip on the tires; half of the survivors
won’t be strong enough to jump the wall; half of those survivors will fall
off the rope ladder into the mud, and so on, until only 1 or 2 people
actually overcome all the hurdles. With 8 or 9 barriers, everybody will
have one non-negotiable deal killer.  This calculus means that eliminating
barriers to switching is the most important thing you have to do if you
want to take over an existing market, because eliminating just one barrier
will likely double your sales. Eliminate two barriers, and you’ll double
your sales again."

For example, Stef mentioned that the Pharo web docs were dropped because
were't used much.  But perhaps their value is not for regular use by the
community, but more for outsiders evaluating Pharo, or newcomers
transitioning from their old workflow to a Pharo one.  In that case their
value eliminating one barrier of entry is much greater than measured from
the number of page hits.


btw, What I like about Richards's articles is that... most of our
community's articles are for people already using Pharo, even if only a
newcomer of a few days working through an introductory tutorial.  Richard's
articles target outsiders and one of the side benefits for *me* is that it
pulls in critical outside perspectives to remind me of the
barriers-of-entry stopping people using Pharo.

Take for instance the common angst people have against working in an Image
in Smalltalk.  There are some legitimate concerns with ending up in a state
you can't recreate, which we are addressing this with the bootstrapping
projects.  But I think we might publicize this better to outsiders. For
example... Mr Smith knows nothing about Smalltalk and takes an interest in
Pharo.  Smith discusses with colleague Jones who presents a poor opinion of
the Smalltalk Image approach. So Smith never tries Pharo!  Alternatively,
if Smith has already read in an FAQ about this common argument and how we
address it by our bootstrap process, he can inform Jones', and maybe
now we've got two curious newcomers.

cheers -ben


Re: [Pharo-users] FYI about Pharo MOOC

2017-10-12 Thread Ricardo Pacheco
Hello Stephane, I can help with the Spanish subtitles. You can send me a file
with the text, if you have it. My french is basic so please send also the
English fil, to double check.



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Zinc release?

2017-10-12 Thread Sven Van Caekenberghe


> On 12 Oct 2017, at 15:58, Herby Vojčík  wrote:
> 
> There are a few fixes out there for Zinc, not to mention convenience like 
> ZnEntity class >> json:. Don't you consider releasing the new version (as I 
> tried to update it by hand, it is not that easy, it has more components, to 
> load HTTP I had to update Character-Encoding as well, so probably better if 
> bumped as a group)?
> 
> Herby

That's what configurations are for, to track the latest development release in 
a consistent way. You just do

  ConfigurationOfZincHTTPComponents project bleedingEdge load.

Provided you loaded a recent configuration.

See the class comment of ConfigurationOfZincHTTPComponents for more info.

Sven




Re: [Pharo-users] "Building-With versus Building-on"

2017-10-12 Thread Andrew Glynn
I know about personalization being a lot of work, particularly with Eclipse.  I 
copied the text out of the ‘summary’ page in About Eclipse into Kate, and it 
was 1233 lines long, lol.  

I was one of two team leads on what was probably the most complex application 
I’ve worked on, using VA Java and VA C++ with CORBA to exchange objects (the 
need to combine both was due to legacy issues).  Siemens now owns the 
application, which was successful enough to bankrupt its closest competitor, 
but the binary jars in the latest version are still dated 2002, and every 
addition has been made via .the WS* API we included, which if I remember 
correctly, uses version 1.x of WebSphere.  I’m a bit surprised it still runs at 
all tbh, but its security must be horrible by now.

Eclipse’s only saving grace is EMF/CDO, and a few projects built on them, IMHO.

Sent from Mail for Windows 10

From: Dimitris Chloupis
Sent: Thursday, October 12, 2017 2:05 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] "Building-With versus Building-on"

It's a mentality issue, modern programming languages provide the material 
necessary to create innovative environments but their communities just simply 
does not care. A language designer may introduce a feature in a language that 
is super useful. Still people may not use it. 

And let's face it even with Pharo nothing beats a personalized environment, of 
course personalisation is a lot of work. Hence why people avoid it.  

Essentially boiling down to cooking your own food instead of getting it from a 
shop. When you begin to learn how to cook , its kinda sucks, but the more you 
cook the better it tastes. Of course it takes time to get there and hence why 
so few people cook. 

Eclispe , which I will disagree with your that is not the worst IDE, started as 
a smalltalk IDE and then it got Eclipsed. I am sure those people had a "build 
on" environment , still it got messy. We can blame porting to Java, but can we 
really blame Java for the mess that is called "Eclipse" e nope. 

I once saw a youtube video about a musician using windows sounds (the standard 
sounds we all know of) to make  a very nice music piece. He did all that using 
multiple instances of windows media player. Just pause reading think about this 
for a minute. That's the real essence of creativity

Use something very limited and come up with something amazing. The software 
industry is not about creativity for the most part. On the other hand I that 
work with 3d its amazing how fast super cool new technologies pop around like 
mushrooms. Every year we have massive improvements in libraries and tools. But 
the coding for 3d graphics is all about creativity , artists are not very 
forgiving for ugly GUI, limited features and innovation stagnation. Artists 
want to be inspired by the tools they use. But then that's the creativity 
realm. Creativity pays the bills in this case, lack of it , game is not fun, 
rendering or animation is not fun, you can lose millions. 

Of course in the creativity realm , there is too much innovation and unless you 
keep up you are kicked out the door, yesterday. Which brings down to the 
problem of complexity and how you deal with it. And I don't mean about bad 
complexity , aka web dev, I am talking about good complexity. Features you 
cannot ignore because other will use before you and you are left behind etc. 


On Thu, Oct 12, 2017 at 7:13 PM Peter Fisk  wrote:
Thanks for posting this.

It is one of the best descriptions of the state of the software industry that I 
have seen.


On Thu, Oct 12, 2017 at 11:50 AM, Andrew Glynn  wrote:
https://medium.com/@dasein42/building-with-versus-building-on-c51aa3034c71

This is an article not specifically about Pharo, rather on the state of the 
industry
in general and how it got that way, but positing Pharo as a way to learn
building-on rather than building-with, where in the latter case on
every project you start at essentially the same place.  

As a result it does put in front of people a fair amount of info on Pharo, and 
challenges them to try it.

cheers
Andrew Glynn




Re: [Pharo-users] "Building-With versus Building-on"

2017-10-12 Thread Stephane Ducasse
Thanks Andrew I read it fast and I will reread it. It is really
interesting to me because I never took the time to understand "worse
is better".

On Thu, Oct 12, 2017 at 5:50 PM, Andrew Glynn  wrote:
> https://medium.com/@dasein42/building-with-versus-building-on-c51aa3034c71
>
>
> This is an article not specifically about Pharo, rather on the state of the
> industry
> in general and how it got that way, but positing Pharo as a way to learn
> building-on rather than building-with, where in the latter case on
> every project you start at essentially the same place.
>
>
> As a result it does put in front of people a fair amount of info on Pharo,
> and challenges them to try it.
>
>
> cheers
>
> Andrew Glynn



Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-12 Thread Stephane Ducasse
On Mon, Oct 9, 2017 at 2:45 PM, horrido  wrote:
> Hey, guys, I'm mentioned in this  O'Reilly newsletter
> 
> !!! All because of the Pharo article.
>
> I wonder, is my campaign /actually/ succeeding? If so, I can die happy. ;-)

Great!
But do not die yet we have more to do :).

Stef



Re: [Pharo-users] [ANN] Libusb binding + HID support for Pharo

2017-10-12 Thread Stephane Ducasse
Hi Julien I will read the small tutorial for sure.
I have many PS3 paddle at home waiting for it.

Stef

On Thu, Oct 12, 2017 at 3:34 PM, Julien  wrote:
>
>
>>
>>
>> For example, one could get data from a PS3 controller, a mouse, a
>> keyboard, an Arduino device, etc…
>
>
> And did you use it for these kind of devices? Or anything else?
>
>
> There is an example with an HID mouse on the wiki
> https://github.com/tamerescrl/libusb-pharo/wiki/Get-and-parse-HID-reports
>
> I managed to get data from a PS3 controller but I can not find my code
> anymore, I think I lost it.
>
> It was not that hard to do, I may re-do it one day and write a small
> tutorial.
>
> The only problem with PS3 controller is that the HID descriptor is hidden
> (you have to get it from the internet, it is not stored in the device).
>
> Julien



Re: [Pharo-users] FYI about Pharo MOOC

2017-10-12 Thread Stephane Ducasse
I'm about to release the en versions.
you can find them unofficially on http://www.stephaneducasse.eu/MOOC/

Stef

On Tue, Oct 10, 2017 at 10:10 PM, Gour  wrote:
> On Tue, 10 Oct 2017 21:31:55 +0200
> Stephane Ducasse
>  wrote:
>
> Hello Stef,
>
>> I will ask one guy thursday and let you know.
>
> Thanks a lot!
>
>> We will release Mooc with english voices (not mine else english
>> natives would get an heart attack - I have what they call a sexy
>> french accents ;)
>
> I did watch few of your Pharo-related presentations and, although not native,
> happily survived. :-)
>
> Moreover, I'd say that your English is charming! At least, one is sure that 
> the
> real human is speaking and not some "robot" put on auto-pilot, so if the new
> Mooc is going to be the same as the  current/old one, I'd prefer to download
> the current files and watched them along with *.srt subtitles?
>
> Iow. my point is that the accent is just one part of the talk/teaching, but 
> the
> energy behind it is much more imporant - this is, my conviction, based on my
> own teaching experiences.
>
>
> Sincerely,
> Gour
>
> --
> From anger, complete delusion arises, and from delusion
> bewilderment of memory. When memory is bewildered,
> intelligence is lost, and when intelligence is lost
> one falls down again into the material pool.
>
>
>



Re: [Pharo-users] FYI about Pharo MOOC

2017-10-12 Thread Stephane Ducasse
Tx I wish you the best for your phd.

On Tue, Oct 10, 2017 at 11:08 PM, Offray Vladimir Luna Cárdenas
 wrote:
> I would love to. As soon as I finish my PhD (that has become my
> "anguished motto") I will have time for this community endeavors again.
>
> Cheers,
>
> Offray
>
>
> On 10/10/17 14:02, Stephane Ducasse wrote:
>> Thanks offray.
>> I would love to have spanish subtitles.
>> We will have japanese subtitles
>>
>> On Tue, Oct 10, 2017 at 3:19 PM, Offray Vladimir Luna Cárdenas
>>  wrote:
>>> Probably is a English native speaker. It really amuse me the amount of
>>> complain about this. Is something like, please don't show me anything other
>>> cultures, even if I just need to turn on captions and read(!), like most of
>>> us did to learn English by ourselves. Whenever I have the opportunity, I see
>>> movies in their native language and just add subtitles, to lost less in
>>> translation. Yes, English is the third most spread language and is good for
>>> intercultural communication, because is the most spread *second* language,
>>> but sadly, most English native speaker don't even bother about experience
>>> the minimum of other language and cultures, beyond the "tourist package" and
>>> even hear another language seems too much effort. Fortunately there is a
>>> minority of native English speakers that thinks different.
>>>
>>> Thanks for the voice translation. It improves a course that was already good
>>> and totally doable with subtitles.
>>>
>>> Keep the good work. Cheers,
>>>
>>> Offray
>>>
>>>
>>> On 10/10/17 08:05, Serge Stinckwich wrote:
>>>
>>> The MOOC is completely dubbed in English this year, so you don't need
>>> subtitles.
>>>
>>>
>>>
>>> On Tue, Oct 10, 2017 at 1:07 PM, horrido  wrote:
 Somebody posted this about the Pharo MOOC:

 https://medium.com/@josephshirk/it-would-be-nice-if-it-were-in-english-b07f6445f23

 To which I responded:

 https://medium.com/@richardeng/the-videos-are-like-lecturers-in-university-49a68c23cf01

 Some food for thought.



 --
 Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

>>>
>>>
>>> --
>>> Serge Stinckwich
>>> UCN & UMI UMMISCO 209 (IRD/UPMC)
>>> Every DSL ends up being Smalltalk
>>> http://www.doesnotunderstand.org/
>>>
>>>
>>
>
>



Re: [Pharo-users] [ANN] "PDFtalk 2.0", "PDFtalk for Gemstone" and "Gemstone Fileout" released

2017-10-12 Thread Manuel Leuenberger
Nice! Now, who’s is porting it to Pharo and builds a viewer/editor? I need that 
;)

> On 12 Oct 2017, at 21:12, Christian Haider 
>  wrote:
> 
> Hi,
>  
> the second major version of the PDF library for VisualWorks is now available.
> The main driver for this was the project to port the library to Gemstone 
> which is available as well.
> Also, the tool used for the port.
>  
> Check the project page: https://wiki.pdftalk.de  
> where you can find more information about the three projects and the release 
> notes.
>  
> Happy hacking,
> Christian
>  
>  
> Smalltalked Visuals GmbH
> HRG: HRB 14115 HL Amtsgericht Lübeck
> Geschäftsführer: Christian Haider
> Media Docks
> Willy-Brandt-Allee 31c
> 23554 Lübeck, Germany
> http://www.smallCharts.de 
> Tel.: +49 (0)170 / 1880 250



[Pharo-users] [ANN] "PDFtalk 2.0", "PDFtalk for Gemstone" and "Gemstone Fileout" released

2017-10-12 Thread Christian Haider
Hi,

 

the second major version of the PDF library for VisualWorks is now
available.

The main driver for this was the project to port the library to Gemstone
which is available as well.

Also, the tool used for the port.

 

Check the project page: https://wiki.pdftalk.de where you can find more
information about the three projects and the release notes.

 

Happy hacking,

Christian

 

 

Smalltalked Visuals GmbH

HRG: HRB 14115 HL Amtsgericht Lübeck

Geschäftsführer: Christian Haider

Media Docks

Willy-Brandt-Allee 31c

23554 Lübeck, Germany

  http://www.smallCharts.de

Tel.: +49 (0)170 / 1880 250

 



Re: [Pharo-users] "Building-With versus Building-on"

2017-10-12 Thread Dimitris Chloupis
It's a mentality issue, modern programming languages provide the material
necessary to create innovative environments but their communities just
simply does not care. A language designer may introduce a feature in a
language that is super useful. Still people may not use it.

And let's face it even with Pharo nothing beats a personalized environment,
of course personalisation is a lot of work. Hence why people avoid it.

Essentially boiling down to cooking your own food instead of getting it
from a shop. When you begin to learn how to cook , its kinda sucks, but the
more you cook the better it tastes. Of course it takes time to get there
and hence why so few people cook.

Eclispe , which I will disagree with your that is not the worst IDE,
started as a smalltalk IDE and then it got Eclipsed. I am sure those people
had a "build on" environment , still it got messy. We can blame porting to
Java, but can we really blame Java for the mess that is called
"Eclipse" e nope.

I once saw a youtube video about a musician using windows sounds (the
standard sounds we all know of) to make  a very nice music piece. He did
all that using multiple instances of windows media player. Just pause
reading think about this for a minute. That's the real essence of creativity

Use something very limited and come up with something amazing. The software
industry is not about creativity for the most part. On the other hand I
that work with 3d its amazing how fast super cool new technologies pop
around like mushrooms. Every year we have massive improvements in libraries
and tools. But the coding for 3d graphics is all about creativity , artists
are not very forgiving for ugly GUI, limited features and innovation
stagnation. Artists want to be inspired by the tools they use. But then
that's the creativity realm. Creativity pays the bills in this case, lack
of it , game is not fun, rendering or animation is not fun, you can lose
millions.

Of course in the creativity realm , there is too much innovation and unless
you keep up you are kicked out the door, yesterday. Which brings down to
the problem of complexity and how you deal with it. And I don't mean about
bad complexity , aka web dev, I am talking about good complexity. Features
you cannot ignore because other will use before you and you are left behind
etc.


On Thu, Oct 12, 2017 at 7:13 PM Peter Fisk  wrote:

> Thanks for posting this.
>
> It is one of the best descriptions of the state of the software industry
> that I have seen.
>
>
> On Thu, Oct 12, 2017 at 11:50 AM, Andrew Glynn  wrote:
>
>> https://medium.com/@dasein42/building-with-versus-building-on-c51aa3034c71
>>
>>
>> This is an article not *specifically* about Pharo, rather on the state of 
>> the industry
>> in general and how it got that way, but positing Pharo as a way to learn
>> building-*on* rather than building-*with*, where in the latter case on
>> every project you start at essentially the same place.
>>
>>
>> As a result it does put in front of people a fair amount of info on
>> Pharo, and challenges them to try it.
>>
>>
>> cheers
>>
>> Andrew Glynn
>>
>>
>


Re: [Pharo-users] "Building-With versus Building-on"

2017-10-12 Thread Peter Fisk
Thanks for posting this.

It is one of the best descriptions of the state of the software industry
that I have seen.


On Thu, Oct 12, 2017 at 11:50 AM, Andrew Glynn  wrote:

> https://medium.com/@dasein42/building-with-versus-building-on-c51aa3034c71
>
>
> This is an article not *specifically* about Pharo, rather on the state of the 
> industry
> in general and how it got that way, but positing Pharo as a way to learn
> building-*on* rather than building-*with*, where in the latter case on
> every project you start at essentially the same place.
>
>
> As a result it does put in front of people a fair amount of info on Pharo,
> and challenges them to try it.
>
>
> cheers
>
> Andrew Glynn
>
>


[Pharo-users] "Building-With versus Building-on"

2017-10-12 Thread Andrew Glynn
https://medium.com/@dasein42/building-with-versus-building-on-c51aa3034
c71
This is an article not specifically about Pharo, rather on the state of
the industry
in general and how it got that way, but positing Pharo as a way to
learn
building-on rather than building-with, where in the latter case on
every project you start at essentially the same place.  
As a result it does put in front of people a fair amount of info on
Pharo, and challenges them to try it.

cheersAndrew Glynn

Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-12 Thread Brad
Plus, namespaces are difficult to implement. It could tear your class library 
to pieces 

Brad Selfridge
913-269-2385

> On Oct 12, 2017, at 9:10 AM, Dimitris Chloupis  wrote:
> 
> For me there is also question 3) How closely they are related to the 
> bootstrap project
> 
> namespaces afterall is all about modularity which is the goal of bootstrap as 
> well . no ?
> So maybe we should not view them as a separate project and more as boostrap 
> v2 , after v1 is released of course
> Proably Pharo 9 or 10 should be a good period to focus on them. Bootstrap 
> will have matured and stabilize and then we can go the extra step of 
> namespaces. 
> 
> Also in Delphi , besides namespaces which is purely a language construct we 
> had "Components" , think of them as namespaces but meant to work convenient 
> in a IDE enviroment. I really like it as an idea and Delphi based its whole 
> library on components. Again pure objects of course, with some metadata for 
> the IDE to use, like category, dependencies etc
> 
> So if namespaces is the bridge between bootstrap and the language , 
> Components can be the bridge between bootsrap and the IDE , because their 
> role was to assembly libraries together via drag and drop and make code like 
> legos. So it can be Components containing namespaces, namespaces containing 
> objects. 
> 
> Thats one idea that worked well enough in practice to make Borland very 
> profitable. It applied it both in Delphin and C++ Builder products. The 
> library was called VCL (Visual Component Library) and still exists today 
> after decades of use. 
> 
> Metacello also can come to this game on the basis that nowdays everything is 
> online , Components could abstract git and other version controls and offer a 
> convenient drag and drop from the github directly to the comforts of you 
> image with no extra tool needed like Iceberg.
> 
> You can then use Iceberg to commit back to the repo. 
> 
> It can really come together quite nicely if Components function as in Delphi, 
> a common protocol for object to communicate for IDE convenience, without 
> braking the existing legacy code in Pharo. 
> 
> Well thats just an idea, based on my personal experience.   
> 
>> On Thu, Oct 12, 2017 at 3:53 PM Sean P. DeNigris  
>> wrote:
>> horrido wrote
>> > Having separate namespaces would be really good.
>> > VisualWorks has them. Why not Pharo?
>> 
>> I can't remember ever hearing disagreement on this subject. It seems the
>> only questions have been: 1) how to do them *right*, and 2) where they fall
>> on the endless prioritized todo list
>> 
>> 
>> 
>> -
>> Cheers,
>> Sean
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>> 


[Pharo-users] Zinc release?

2017-10-12 Thread Herby Vojčík
There are a few fixes out there for Zinc, not to mention convenience 
like ZnEntity class >> json:. Don't you consider releasing the new 
version (as I tried to update it by hand, it is not that easy, it has 
more components, to load HTTP I had to update Character-Encoding as 
well, so probably better if bumped as a group)?


Herby



Re: [Pharo-users] [ANN] Libusb binding + HID support for Pharo

2017-10-12 Thread Julien
> 
>  
> 
> For example, one could get data from a PS3 controller, a mouse, a keyboard, 
> an Arduino device, etc…
> 
> And did you use it for these kind of devices? Or anything else?
> 

There is an example with an HID mouse on the wiki 
https://github.com/tamerescrl/libusb-pharo/wiki/Get-and-parse-HID-reports 


I managed to get data from a PS3 controller but I can not find my code anymore, 
I think I lost it.

It was not that hard to do, I may re-do it one day and write a small tutorial.

The only problem with PS3 controller is that the HID descriptor is hidden (you 
have to get it from the internet, it is not stored in the device).

Julien

Re: [Pharo-users] [ANN] Libusb binding + HID support for Pharo

2017-10-12 Thread Denis Kudriashov
2017-10-12 13:29 GMT+02:00 Julien :

> Hello,
>
> A bit late, there is a Libusb [1] binding (using UFFI) and support for the
> Human Interface Device [2] (that uses the binding but is written in pure
> Smalltalk) for Pharo.
>
> Everything is on the github repository [3]. « Install »  and « Quick
> start »  sections give you all you need to start using the project.
>
> One could also have a look at the wiki [4].
>
> It works on Linux but hasn’t been tested on Mac OS nor Windows (it should
> work since libusb library works on these platforms).
>
> Do not forget to install the 32 bits versions of libusb on your computer.
>
> The purpose of this library is to provide the ability to use USB devices
> directly from Pharo.
>

Cool project.


>
> For example, one could get data from a PS3 controller, a mouse, a
> keyboard, an Arduino device, etc…
>

And did you use it for these kind of devices? Or anything else?



>
> Cheers,
>
> Julien
>
> PS: I realised this project during an internship in TaMère SCRL company
> [5]. Thanks to them!
>
> Links:
> [1]: http://libusb.info
> [2]: https://en.wikipedia.org/wiki/Human_interface_device
> [3]: https://github.com/tamerescrl/libusb-pharo
> [4]: https://github.com/tamerescrl/libusb-pharo/wiki
> [5]: http://tamere.eu
>


Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-12 Thread Dimitris Chloupis
For me there is also question 3) How closely they are related to the
bootstrap project

namespaces afterall is all about modularity which is the goal of bootstrap
as well . no ?
So maybe we should not view them as a separate project and more as boostrap
v2 , after v1 is released of course
Proably Pharo 9 or 10 should be a good period to focus on them. Bootstrap
will have matured and stabilize and then we can go the extra step of
namespaces.

Also in Delphi , besides namespaces which is purely a language construct we
had "Components" , think of them as namespaces but meant to work convenient
in a IDE enviroment. I really like it as an idea and Delphi based its whole
library on components. Again pure objects of course, with some metadata for
the IDE to use, like category, dependencies etc

So if namespaces is the bridge between bootstrap and the language ,
Components can be the bridge between bootsrap and the IDE , because their
role was to assembly libraries together via drag and drop and make code
like legos. So it can be Components containing namespaces, namespaces
containing objects.

Thats one idea that worked well enough in practice to make Borland very
profitable. It applied it both in Delphin and C++ Builder products. The
library was called VCL (Visual Component Library) and still exists today
after decades of use.

Metacello also can come to this game on the basis that nowdays everything
is online , Components could abstract git and other version controls and
offer a convenient drag and drop from the github directly to the comforts
of you image with no extra tool needed like Iceberg.

You can then use Iceberg to commit back to the repo.

It can really come together quite nicely if Components function as in
Delphi, a common protocol for object to communicate for IDE convenience,
without braking the existing legacy code in Pharo.

Well thats just an idea, based on my personal experience.

On Thu, Oct 12, 2017 at 3:53 PM Sean P. DeNigris 
wrote:

> horrido wrote
> > Having separate namespaces would be really good.
> > VisualWorks has them. Why not Pharo?
>
> I can't remember ever hearing disagreement on this subject. It seems the
> only questions have been: 1) how to do them *right*, and 2) where they fall
> on the endless prioritized todo list
>
>
>
> -
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>


Re: [Pharo-users] [ANN] Libusb binding + HID support for Pharo

2017-10-12 Thread Thierry Goubier
2017-10-12 15:05 GMT+02:00 Guillermo Polito :

>
>
> On Thu, Oct 12, 2017 at 2:49 PM, Julien 
> wrote:
>
>> Normally, it should be possible.
>>
>> Libusb can be compiled for 64bits architectures. I don’t know if it
>> changes something in the UFFI binding side?
>>
>
> It should not, besides the library's location.
>
>
That was the first hurdle. Easily solved.


> And, if you find a case where the binding does not work on 64 bits it is
> either:
>  - a UFFI bug in the type mappings (e.g., a wrong mapping between a type
> name and the correct 32/64 bit size and marshalling)
>  - or a bug in the bindings using the wrong types (e.g., using long
> instead of void*)
>

And the first FFI call fails (the lib init).

Thierry


>
>
>>
>> Julien
>>
>> Le 12 oct. 2017 à 14:41, Thierry Goubier  a
>> écrit :
>>
>> Very cool. Would that be doable to adapt for a 64bits version?
>>
>> Thierry
>>
>> 2017-10-12 13:29 GMT+02:00 Julien :
>>
>>> Hello,
>>>
>>> A bit late, there is a Libusb [1] binding (using UFFI) and support for
>>> the Human Interface Device [2] (that uses the binding but is written in
>>> pure Smalltalk) for Pharo.
>>>
>>> Everything is on the github repository [3]. « Install »  and « Quick
>>> start »  sections give you all you need to start using the project.
>>>
>>> One could also have a look at the wiki [4].
>>>
>>> It works on Linux but hasn’t been tested on Mac OS nor Windows (it
>>> should work since libusb library works on these platforms).
>>>
>>> Do not forget to install the 32 bits versions of libusb on your computer.
>>>
>>> The purpose of this library is to provide the ability to use USB devices
>>> directly from Pharo.
>>>
>>> For example, one could get data from a PS3 controller, a mouse, a
>>> keyboard, an Arduino device, etc…
>>>
>>> Cheers,
>>>
>>> Julien
>>>
>>> PS: I realised this project during an internship in TaMère SCRL company
>>> [5]. Thanks to them!
>>>
>>> Links:
>>> [1]: http://libusb.info
>>> [2]: https://en.wikipedia.org/wiki/Human_interface_device
>>> [3]: https://github.com/tamerescrl/libusb-pharo
>>> [4]: https://github.com/tamerescrl/libusb-pharo/wiki
>>> [5]: http://tamere.eu
>>>
>>
>>
>>
>
>
> --
>
>
>
> Guille Polito
>
> Research Engineer
>
> Centre de Recherche en Informatique, Signal et Automatique de Lille
>
> CRIStAL - UMR 9189
>
> French National Center for Scientific Research - *http://www.cnrs.fr
> *
>
>
> *Web:* *http://guillep.github.io* 
>
> *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>
>


Re: [Pharo-users] [ANN] Libusb binding + HID support for Pharo

2017-10-12 Thread Guillermo Polito
On Thu, Oct 12, 2017 at 2:49 PM, Julien  wrote:

> Normally, it should be possible.
>
> Libusb can be compiled for 64bits architectures. I don’t know if it
> changes something in the UFFI binding side?
>

It should not, besides the library's location.

And, if you find a case where the binding does not work on 64 bits it is
either:
 - a UFFI bug in the type mappings (e.g., a wrong mapping between a type
name and the correct 32/64 bit size and marshalling)
 - or a bug in the bindings using the wrong types (e.g., using long instead
of void*)


>
> Julien
>
> Le 12 oct. 2017 à 14:41, Thierry Goubier  a
> écrit :
>
> Very cool. Would that be doable to adapt for a 64bits version?
>
> Thierry
>
> 2017-10-12 13:29 GMT+02:00 Julien :
>
>> Hello,
>>
>> A bit late, there is a Libusb [1] binding (using UFFI) and support for
>> the Human Interface Device [2] (that uses the binding but is written in
>> pure Smalltalk) for Pharo.
>>
>> Everything is on the github repository [3]. « Install »  and « Quick
>> start »  sections give you all you need to start using the project.
>>
>> One could also have a look at the wiki [4].
>>
>> It works on Linux but hasn’t been tested on Mac OS nor Windows (it should
>> work since libusb library works on these platforms).
>>
>> Do not forget to install the 32 bits versions of libusb on your computer.
>>
>> The purpose of this library is to provide the ability to use USB devices
>> directly from Pharo.
>>
>> For example, one could get data from a PS3 controller, a mouse, a
>> keyboard, an Arduino device, etc…
>>
>> Cheers,
>>
>> Julien
>>
>> PS: I realised this project during an internship in TaMère SCRL company
>> [5]. Thanks to them!
>>
>> Links:
>> [1]: http://libusb.info
>> [2]: https://en.wikipedia.org/wiki/Human_interface_device
>> [3]: https://github.com/tamerescrl/libusb-pharo
>> [4]: https://github.com/tamerescrl/libusb-pharo/wiki
>> [5]: http://tamere.eu
>>
>
>
>


-- 



Guille Polito

Research Engineer

Centre de Recherche en Informatique, Signal et Automatique de Lille

CRIStAL - UMR 9189

French National Center for Scientific Research - *http://www.cnrs.fr
*


*Web:* *http://guillep.github.io* 

*Phone: *+33 06 52 70 66 13


Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-12 Thread Sean P. DeNigris
horrido wrote
> Having separate namespaces would be really good.
> VisualWorks has them. Why not Pharo?

I can't remember ever hearing disagreement on this subject. It seems the
only questions have been: 1) how to do them *right*, and 2) where they fall
on the endless prioritized todo list



-
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] [ANN] Libusb binding + HID support for Pharo

2017-10-12 Thread Julien
Normally, it should be possible.

Libusb can be compiled for 64bits architectures. I don’t know if it changes 
something in the UFFI binding side?

Julien
> Le 12 oct. 2017 à 14:41, Thierry Goubier  a écrit :
> 
> Very cool. Would that be doable to adapt for a 64bits version?
> 
> Thierry
> 
> 2017-10-12 13:29 GMT+02:00 Julien  >:
> Hello,
> 
> A bit late, there is a Libusb [1] binding (using UFFI) and support for the 
> Human Interface Device [2] (that uses the binding but is written in pure 
> Smalltalk) for Pharo.
> 
> Everything is on the github repository [3]. « Install »  and « Quick start »  
> sections give you all you need to start using the project.
> 
> One could also have a look at the wiki [4].
> 
> It works on Linux but hasn’t been tested on Mac OS nor Windows (it should 
> work since libusb library works on these platforms).
> 
> Do not forget to install the 32 bits versions of libusb on your computer.
> 
> The purpose of this library is to provide the ability to use USB devices 
> directly from Pharo.
> 
> For example, one could get data from a PS3 controller, a mouse, a keyboard, 
> an Arduino device, etc…
> 
> Cheers,
> 
> Julien
> 
> PS: I realised this project during an internship in TaMère SCRL company [5]. 
> Thanks to them!
> 
> Links:
> [1]: http://libusb.info 
> [2]: https://en.wikipedia.org/wiki/Human_interface_device 
> 
> [3]: https://github.com/tamerescrl/libusb-pharo 
> 
> [4]: https://github.com/tamerescrl/libusb-pharo/wiki 
> 
> [5]: http://tamere.eu 



Re: [Pharo-users] [ANN] Libusb binding + HID support for Pharo

2017-10-12 Thread Julien
You’re welcome! :-)

> Le 12 oct. 2017 à 14:36, Guillermo Polito  a écrit 
> :
> 
> Nice!!! Thanks for sharing :)
> 
> On Thu, Oct 12, 2017 at 1:29 PM, Julien  > wrote:
> Hello,
> 
> A bit late, there is a Libusb [1] binding (using UFFI) and support for the 
> Human Interface Device [2] (that uses the binding but is written in pure 
> Smalltalk) for Pharo.
> 
> Everything is on the github repository [3]. « Install »  and « Quick start »  
> sections give you all you need to start using the project.
> 
> One could also have a look at the wiki [4].
> 
> It works on Linux but hasn’t been tested on Mac OS nor Windows (it should 
> work since libusb library works on these platforms).
> 
> Do not forget to install the 32 bits versions of libusb on your computer.
> 
> The purpose of this library is to provide the ability to use USB devices 
> directly from Pharo.
> 
> For example, one could get data from a PS3 controller, a mouse, a keyboard, 
> an Arduino device, etc…
> 
> Cheers,
> 
> Julien
> 
> PS: I realised this project during an internship in TaMère SCRL company [5]. 
> Thanks to them!
> 
> Links:
> [1]: http://libusb.info 
> [2]: https://en.wikipedia.org/wiki/Human_interface_device 
> 
> [3]: https://github.com/tamerescrl/libusb-pharo 
> 
> [4]: https://github.com/tamerescrl/libusb-pharo/wiki 
> 
> [5]: http://tamere.eu 
> 
> 
> -- 
>
> Guille Polito
> Research Engineer
> 
> Centre de Recherche en Informatique, Signal et Automatique de Lille
> CRIStAL - UMR 9189
> French National Center for Scientific Research - http://www.cnrs.fr 
> 
> 
> Web: http://guillep.github.io 
> Phone: +33 06 52 70 66 13



Re: [Pharo-users] [ANN] Libusb binding + HID support for Pharo

2017-10-12 Thread Thierry Goubier
Very cool. Would that be doable to adapt for a 64bits version?

Thierry

2017-10-12 13:29 GMT+02:00 Julien :

> Hello,
>
> A bit late, there is a Libusb [1] binding (using UFFI) and support for the
> Human Interface Device [2] (that uses the binding but is written in pure
> Smalltalk) for Pharo.
>
> Everything is on the github repository [3]. « Install »  and « Quick
> start »  sections give you all you need to start using the project.
>
> One could also have a look at the wiki [4].
>
> It works on Linux but hasn’t been tested on Mac OS nor Windows (it should
> work since libusb library works on these platforms).
>
> Do not forget to install the 32 bits versions of libusb on your computer.
>
> The purpose of this library is to provide the ability to use USB devices
> directly from Pharo.
>
> For example, one could get data from a PS3 controller, a mouse, a
> keyboard, an Arduino device, etc…
>
> Cheers,
>
> Julien
>
> PS: I realised this project during an internship in TaMère SCRL company
> [5]. Thanks to them!
>
> Links:
> [1]: http://libusb.info
> [2]: https://en.wikipedia.org/wiki/Human_interface_device
> [3]: https://github.com/tamerescrl/libusb-pharo
> [4]: https://github.com/tamerescrl/libusb-pharo/wiki
> [5]: http://tamere.eu
>


Re: [Pharo-users] [ANN] Libusb binding + HID support for Pharo

2017-10-12 Thread Guillermo Polito
Nice!!! Thanks for sharing :)

On Thu, Oct 12, 2017 at 1:29 PM, Julien  wrote:

> Hello,
>
> A bit late, there is a Libusb [1] binding (using UFFI) and support for the
> Human Interface Device [2] (that uses the binding but is written in pure
> Smalltalk) for Pharo.
>
> Everything is on the github repository [3]. « Install »  and « Quick
> start »  sections give you all you need to start using the project.
>
> One could also have a look at the wiki [4].
>
> It works on Linux but hasn’t been tested on Mac OS nor Windows (it should
> work since libusb library works on these platforms).
>
> Do not forget to install the 32 bits versions of libusb on your computer.
>
> The purpose of this library is to provide the ability to use USB devices
> directly from Pharo.
>
> For example, one could get data from a PS3 controller, a mouse, a
> keyboard, an Arduino device, etc…
>
> Cheers,
>
> Julien
>
> PS: I realised this project during an internship in TaMère SCRL company
> [5]. Thanks to them!
>
> Links:
> [1]: http://libusb.info
> [2]: https://en.wikipedia.org/wiki/Human_interface_device
> [3]: https://github.com/tamerescrl/libusb-pharo
> [4]: https://github.com/tamerescrl/libusb-pharo/wiki
> [5]: http://tamere.eu
>



-- 



Guille Polito

Research Engineer

Centre de Recherche en Informatique, Signal et Automatique de Lille

CRIStAL - UMR 9189

French National Center for Scientific Research - *http://www.cnrs.fr
*


*Web:* *http://guillep.github.io* 

*Phone: *+33 06 52 70 66 13


[Pharo-users] [ANN] Libusb binding + HID support for Pharo

2017-10-12 Thread Julien
Hello,

A bit late, there is a Libusb [1] binding (using UFFI) and support for the 
Human Interface Device [2] (that uses the binding but is written in pure 
Smalltalk) for Pharo.

Everything is on the github repository [3]. « Install »  and « Quick start »  
sections give you all you need to start using the project.

One could also have a look at the wiki [4].

It works on Linux but hasn’t been tested on Mac OS nor Windows (it should work 
since libusb library works on these platforms).

Do not forget to install the 32 bits versions of libusb on your computer.

The purpose of this library is to provide the ability to use USB devices 
directly from Pharo.

For example, one could get data from a PS3 controller, a mouse, a keyboard, an 
Arduino device, etc…

Cheers,

Julien

PS: I realised this project during an internship in TaMère SCRL company [5]. 
Thanks to them!

Links:
[1]: http://libusb.info 
[2]: https://en.wikipedia.org/wiki/Human_interface_device 

[3]: https://github.com/tamerescrl/libusb-pharo 

[4]: https://github.com/tamerescrl/libusb-pharo/wiki 

[5]: http://tamere.eu 

Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-12 Thread horrido
I'll second that. Having separate namespaces would be really good.
VisualWorks has them. Why not Pharo?



kilon.alios wrote
> The one things I trully miss, even know that I am "experieced" Pharo
> coder,
> depending on your standards, is python namespaces
> 
> I dont care about the dot syntax but containers of containers at language
> level that will make me avoid giving weird names to my Pharo classes to
> avoid potential collisions is a must have for me. It would also make the
> System Browser experience much smoother not only for beginners but also
> experts in Pharo.
> 
> Also again under the threat of being thrown tomoatoes (probably justified)
> I would not mind a more modular approach to image format, for example
> having mutlipe files instead one monolithic. Not as a mandatory thing just
> something optional, the ability to break an image to pieces , send those
> pieces around so people do not have to close their image to open yours.
> Fuel covers this case nicely but again it could become a bit more "out of
> the box" and more automatic. .
> 
> On Thu, Oct 12, 2017 at 11:22 AM stephan 

> stephan@

>  wrote:
> 
>> On 12-10-17 08:30, Markus Stumptner wrote:
>> > Just to lead this back to the original question.  What you say is
>> > undoubtedly true.  It is not, however, necessarily something that a
>> > beginner will understand or be able to share in.
>>
>> That is a very important point. It also explains a lot of why we are
>> missing certain things that developers coming from other environments
>> take for granted: they simply provide less value to experienced
>> smalltalkers. And that is indeed a barrier to entry.
>>
>> I remember sharply my first looking at squeak, and just not
>> understanding how I could create a new class or method in a browser.
>> Another was that I have been programming in seaside for a year without
>> using senders and implementers. Pair programming for an hour with
>> Philippe Marschall showed me so much invisible/hidden functionality.
>>
>> Other (mainstream) environments don't provide the immediate feedback of
>> navigating, inspecting and manipulating the whole environment, and
>> therefore newcomers have no appropriate expectations (internal model),
>> and are clueless on what they are able to do in Pharo. Combined with the
>> lack of systematic visual clues and the high density of the class
>> library that makes it not easy to learn.
>>
>> Stephan
>>
>>
>>





--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html



Re: [Pharo-users] Custom URI scheme for Pharo

2017-10-12 Thread Dimitris Chloupis
I cant argue with that , dealing with C can be quite “an interesting”
experience :D it’s better and probably healthier when it happens at small
dosages.
On Thu, 12 Oct 2017 at 11:56, Manuel Leuenberger 
wrote:

> Yes, that was my thread. Thanks for the hint with overlaying a transparent
> OS window and controlling it from within Pharo. The overlay solution is not
> a priority for me, as it would require me to dive deeper into the macOS
> world. I rather live in the Pharo world, for now. :)
>
> On 12 Oct 2017, at 10:26, Dimitris Chloupis  wrote:
>
> Probably it was your thread but as I said you can make a "hack" and
> overlay a system GUI over Pharo GUI This way you can view the PDF, "inside"
> Pharo. I think it is even possile  to get the handle of the Pharo window
> and directly affect it to embed a PDF viewer.
>
> The second solution is better because you want have to wory about Pharo
> window resizing as the PDF will be trully embeded inisde the Pharo window
> instead of overlayed.
>
> I am willing to bet you can avoid the multiple windows anooyance in some
> way on another without making your head explode. Unless its not a priority
> for you.
>
> Looks great, well done mate. Keep the creative juices flowing ;)
>
> On Thu, Oct 12, 2017 at 2:02 AM Manuel Leuenberger <
> leuenber...@inf.unibe.ch> wrote:
>
>> Sounds like a nice setup you got there :).
>>
>> I want to integrate documents displayed in the system viewer, as they
>> cannot be displayed within Pharo (Web, PDF, …). So hyperlinking is the only
>> way I see to get something close. I created a little demo where I injected
>> hyperlinks in a PDF like ‘pharo://click?whatever=youwant'. When you
>> click them, a little Objective-C app catches the OS event and forwards it
>> to an HTTP server running in Pharo. So I can do things like this:
>>
>> https://youtu.be/CR_scZSDf3s
>>
>> On 11 Oct 2017, at 00:24, Dimitris Chloupis 
>> wrote:
>>
>> I think I remember this disussed before.
>> By talking with Pharo I assume here about another program talking to
>> Pharo ? Possible not wrriten in Pharo ?
>>
>> If thats the case then you can use whatever IPC works better for your
>> needs. If the communication will be remotely I recommend sockets, for  fast
>> local communication I recommend shared memory. They are both very mature
>> technologies , very reliable and cross platform.
>>
>> Now on the URI protocol, I think that will depend what you want to
>> achieve. Any string will be easy to parse with Pharo's regex and trigger
>> the approriate methods. Pharo also have Annoucements, think of it as an
>> event system that awaits to be triggered by an event, usually a Pharo event
>> but I see no reason why it cant listen to external events either.
>>
>> I do not think you will need a middle application , a servel client
>> relation shipe should be more than enough.
>>
>> With my Atlas bridge which is a Pharo library that allows you to use
>> Python libraries I did a neat trick with Pharo that it already communicated
>> with Python via sockets, sending python commands but also Python could
>> communicate back errors , then Pharo would trigger the debugger, display
>> the python error inside the Pharo debugger and the debugger would pop up on
>> the exact pharo command that send the faulty python code. You could then
>> change the pharo command on the spot and it was resent and python continued
>> like the error never happened to retain the all important live coding
>> workflow.
>>
>> I created a tiny protocol to difirentia incoming messages talking about
>> errors from the ones returning python varriable values. Something stupid
>> like "pythonError: blah blah" but it got the job done
>>
>>
>>
>> On Tue, Oct 10, 2017 at 10:07 PM Manuel Leuenberger <
>> leuenber...@inf.unibe.ch> wrote:
>>
>>> Hi,
>>>
>>> Is there any support from the VM/Application package to add custom URI
>>> schemes to listen to from within Pharo? I would like to have a hyperlink
>>> like ‘pharo://send?data=fancypants’ in an arbitrary document that, when
>>> clicked, switches to Pharo and calls a hook I can register. Could someone
>>> give me a hint how to achieve that, or do I have to build a little bridge
>>> application that handles the scheme registration and talks with Pharo
>>> through another channel? Currently, I only need this for OS X.
>>>
>>> Cheers,
>>> Manuel
>>>
>>>
>>
>>
>


Re: [Pharo-users] Custom URI scheme for Pharo

2017-10-12 Thread Manuel Leuenberger
Yes, that was my thread. Thanks for the hint with overlaying a transparent OS 
window and controlling it from within Pharo. The overlay solution is not a 
priority for me, as it would require me to dive deeper into the macOS world. I 
rather live in the Pharo world, for now. :)

> On 12 Oct 2017, at 10:26, Dimitris Chloupis  wrote:
> 
> Probably it was your thread but as I said you can make a "hack" and overlay a 
> system GUI over Pharo GUI This way you can view the PDF, "inside" Pharo. I 
> think it is even possile  to get the handle of the Pharo window and directly 
> affect it to embed a PDF viewer. 
> 
> The second solution is better because you want have to wory about Pharo 
> window resizing as the PDF will be trully embeded inisde the Pharo window 
> instead of overlayed. 
> 
> I am willing to bet you can avoid the multiple windows anooyance in some way 
> on another without making your head explode. Unless its not a priority for 
> you.
> 
> Looks great, well done mate. Keep the creative juices flowing ;)
> 
> On Thu, Oct 12, 2017 at 2:02 AM Manuel Leuenberger  > wrote:
> Sounds like a nice setup you got there :).
> 
> I want to integrate documents displayed in the system viewer, as they cannot 
> be displayed within Pharo (Web, PDF, …). So hyperlinking is the only way I 
> see to get something close. I created a little demo where I injected 
> hyperlinks in a PDF like ‘pharo://click?whatever=youwant' <>. When you click 
> them, a little Objective-C app catches the OS event and forwards it to an 
> HTTP server running in Pharo. So I can do things like this:
> 
> https://youtu.be/CR_scZSDf3s 
> 
>> On 11 Oct 2017, at 00:24, Dimitris Chloupis > > wrote:
>> 
>> I think I remember this disussed before.
>> By talking with Pharo I assume here about another program talking to Pharo ? 
>> Possible not wrriten in Pharo ?
>> 
>> If thats the case then you can use whatever IPC works better for your needs. 
>> If the communication will be remotely I recommend sockets, for  fast local 
>> communication I recommend shared memory. They are both very mature 
>> technologies , very reliable and cross platform.
>> 
>> Now on the URI protocol, I think that will depend what you want to achieve. 
>> Any string will be easy to parse with Pharo's regex and trigger the 
>> approriate methods. Pharo also have Annoucements, think of it as an event 
>> system that awaits to be triggered by an event, usually a Pharo event but I 
>> see no reason why it cant listen to external events either. 
>> 
>> I do not think you will need a middle application , a servel client relation 
>> shipe should be more than enough. 
>> 
>> With my Atlas bridge which is a Pharo library that allows you to use Python 
>> libraries I did a neat trick with Pharo that it already communicated with 
>> Python via sockets, sending python commands but also Python could 
>> communicate back errors , then Pharo would trigger the debugger, display the 
>> python error inside the Pharo debugger and the debugger would pop up on the 
>> exact pharo command that send the faulty python code. You could then change 
>> the pharo command on the spot and it was resent and python continued like 
>> the error never happened to retain the all important live coding workflow.
>> 
>> I created a tiny protocol to difirentia incoming messages talking about 
>> errors from the ones returning python varriable values. Something stupid 
>> like "pythonError: blah blah" but it got the job done
>> 
>> 
>> 
>> On Tue, Oct 10, 2017 at 10:07 PM Manuel Leuenberger 
>> > wrote:
>> Hi,
>> 
>> Is there any support from the VM/Application package to add custom URI 
>> schemes to listen to from within Pharo? I would like to have a hyperlink 
>> like ‘pharo://send?data=fancypants’ <> in an arbitrary document that, when 
>> clicked, switches to Pharo and calls a hook I can register. Could someone 
>> give me a hint how to achieve that, or do I have to build a little bridge 
>> application that handles the scheme registration and talks with Pharo 
>> through another channel? Currently, I only need this for OS X.
>> 
>> Cheers,
>> Manuel
>>  
> 



Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-12 Thread Dimitris Chloupis
The one things I trully miss, even know that I am "experieced" Pharo coder,
depending on your standards, is python namespaces

I dont care about the dot syntax but containers of containers at language
level that will make me avoid giving weird names to my Pharo classes to
avoid potential collisions is a must have for me. It would also make the
System Browser experience much smoother not only for beginners but also
experts in Pharo.

Also again under the threat of being thrown tomoatoes (probably justified)
I would not mind a more modular approach to image format, for example
having mutlipe files instead one monolithic. Not as a mandatory thing just
something optional, the ability to break an image to pieces , send those
pieces around so people do not have to close their image to open yours.
Fuel covers this case nicely but again it could become a bit more "out of
the box" and more automatic. .

On Thu, Oct 12, 2017 at 11:22 AM stephan  wrote:

> On 12-10-17 08:30, Markus Stumptner wrote:
> > Just to lead this back to the original question.  What you say is
> > undoubtedly true.  It is not, however, necessarily something that a
> > beginner will understand or be able to share in.
>
> That is a very important point. It also explains a lot of why we are
> missing certain things that developers coming from other environments
> take for granted: they simply provide less value to experienced
> smalltalkers. And that is indeed a barrier to entry.
>
> I remember sharply my first looking at squeak, and just not
> understanding how I could create a new class or method in a browser.
> Another was that I have been programming in seaside for a year without
> using senders and implementers. Pair programming for an hour with
> Philippe Marschall showed me so much invisible/hidden functionality.
>
> Other (mainstream) environments don't provide the immediate feedback of
> navigating, inspecting and manipulating the whole environment, and
> therefore newcomers have no appropriate expectations (internal model),
> and are clueless on what they are able to do in Pharo. Combined with the
> lack of systematic visual clues and the high density of the class
> library that makes it not easy to learn.
>
> Stephan
>
>
>


Re: [Pharo-users] Custom URI scheme for Pharo

2017-10-12 Thread Dimitris Chloupis
Probably it was your thread but as I said you can make a "hack" and overlay
a system GUI over Pharo GUI This way you can view the PDF, "inside" Pharo.
I think it is even possile  to get the handle of the Pharo window and
directly affect it to embed a PDF viewer.

The second solution is better because you want have to wory about Pharo
window resizing as the PDF will be trully embeded inisde the Pharo window
instead of overlayed.

I am willing to bet you can avoid the multiple windows anooyance in some
way on another without making your head explode. Unless its not a priority
for you.

Looks great, well done mate. Keep the creative juices flowing ;)

On Thu, Oct 12, 2017 at 2:02 AM Manuel Leuenberger 
wrote:

> Sounds like a nice setup you got there :).
>
> I want to integrate documents displayed in the system viewer, as they
> cannot be displayed within Pharo (Web, PDF, …). So hyperlinking is the only
> way I see to get something close. I created a little demo where I injected
> hyperlinks in a PDF like ‘pharo://click?whatever=youwant'. When you click
> them, a little Objective-C app catches the OS event and forwards it to an
> HTTP server running in Pharo. So I can do things like this:
>
> https://youtu.be/CR_scZSDf3s
>
> On 11 Oct 2017, at 00:24, Dimitris Chloupis  wrote:
>
> I think I remember this disussed before.
> By talking with Pharo I assume here about another program talking to Pharo
> ? Possible not wrriten in Pharo ?
>
> If thats the case then you can use whatever IPC works better for your
> needs. If the communication will be remotely I recommend sockets, for  fast
> local communication I recommend shared memory. They are both very mature
> technologies , very reliable and cross platform.
>
> Now on the URI protocol, I think that will depend what you want to
> achieve. Any string will be easy to parse with Pharo's regex and trigger
> the approriate methods. Pharo also have Annoucements, think of it as an
> event system that awaits to be triggered by an event, usually a Pharo event
> but I see no reason why it cant listen to external events either.
>
> I do not think you will need a middle application , a servel client
> relation shipe should be more than enough.
>
> With my Atlas bridge which is a Pharo library that allows you to use
> Python libraries I did a neat trick with Pharo that it already communicated
> with Python via sockets, sending python commands but also Python could
> communicate back errors , then Pharo would trigger the debugger, display
> the python error inside the Pharo debugger and the debugger would pop up on
> the exact pharo command that send the faulty python code. You could then
> change the pharo command on the spot and it was resent and python continued
> like the error never happened to retain the all important live coding
> workflow.
>
> I created a tiny protocol to difirentia incoming messages talking about
> errors from the ones returning python varriable values. Something stupid
> like "pythonError: blah blah" but it got the job done
>
>
>
> On Tue, Oct 10, 2017 at 10:07 PM Manuel Leuenberger <
> leuenber...@inf.unibe.ch> wrote:
>
>> Hi,
>>
>> Is there any support from the VM/Application package to add custom URI
>> schemes to listen to from within Pharo? I would like to have a hyperlink
>> like ‘pharo://send?data=fancypants’ in an arbitrary document that, when
>> clicked, switches to Pharo and calls a hook I can register. Could someone
>> give me a hint how to achieve that, or do I have to build a little bridge
>> application that handles the scheme registration and talks with Pharo
>> through another channel? Currently, I only need this for OS X.
>>
>> Cheers,
>> Manuel
>>
>>
>
>


Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-12 Thread stephan

On 12-10-17 08:30, Markus Stumptner wrote:
Just to lead this back to the original question.  What you say is 
undoubtedly true.  It is not, however, necessarily something that a 
beginner will understand or be able to share in. 


That is a very important point. It also explains a lot of why we are 
missing certain things that developers coming from other environments 
take for granted: they simply provide less value to experienced 
smalltalkers. And that is indeed a barrier to entry.


I remember sharply my first looking at squeak, and just not 
understanding how I could create a new class or method in a browser. 
Another was that I have been programming in seaside for a year without 
using senders and implementers. Pair programming for an hour with 
Philippe Marschall showed me so much invisible/hidden functionality.


Other (mainstream) environments don't provide the immediate feedback of 
navigating, inspecting and manipulating the whole environment, and 
therefore newcomers have no appropriate expectations (internal model), 
and are clueless on what they are able to do in Pharo. Combined with the 
lack of systematic visual clues and the high density of the class 
library that makes it not easy to learn.


Stephan




Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-12 Thread Dimitris Chloupis
That's definetly not a wrong view point, but neither is python's , its all
about context. Who you are ? What you want do ? What live coding means to
you ? How you want to use it ? How much you want to use it? etc

If you want to do Pharo coding the pharo way , then Pharo is your No1
choice, but if you want to Pharo coding the python way , Python is your No1
choice and  etc.

Thus I never pick sides in language wars , I am participating merely to
find things I do not know. Like I just found about become in the VM list,
though I still wait for enumarion of classes and reified frame stacks to be
explained as well.

I am here to learn as much I am here to teach. Well ok , more likely to
learn :D

For example messages vs method calls. What happens if method calls are
executing by reference, does that make them cross message territory?.
Meaning you use a name to hide the reference to an object of a method. You
change the reference to the method but without changing the name of the
call. Or what happens when you extend the MethodObject to cross message
territory, is this still "bastardised OOP" or Alan's Keay great regret of
naming it "OOP" ? OR is it smalltalkish OOP in python , or is it something
more ?

Those question do fascinate me.Languages are so fluid, its like clay in our
hands. We live in very exciting times.

On Thu, Oct 12, 2017 at 11:08 AM Nicolai Hess  wrote:

> 2017-10-12 9:28 GMT+02:00 Dimitris Chloupis :
>
>>
>>
>>
>>> This is what Smalltalk gives you for free.
>>>
>> Sorrry for being rude but I wll use the two usually heavily annoying
>> word, at least for me :D
>>
>> It depends
>>
>> See there is a problem for Python here. Ideology.
>>
>> The zen of python has been both a joke a serious mantra in the python
>> world . Its a joke because its obviously oversimplify decision making in
>> such a complex subject as language designe but is serious because it
>> clearly illustrates the philosophy of its creator, Guido van Rossum.
>>
>> https://www.python.org/dev/peps/pep-0020/
>>
>>  Guido is not any less of a rock star to Pythoners than Alan Kay is for
>> Smalltalkers. The zen has become so popular that is even included in python
>> implementation and can be fetched as the link says using the "import this"
>> in any implementation of Python. It's the very sould of python as messages
>> and objects are the very soul of Smalltalk.
>>
>> So the problem here is that a live coding enviroment brakes the second
>> rule. "explicit is better than implicit". Because live coding in Pharo and
>> Smaltalk is about replacing old instances with new while keeping the state
>> it non the less an implicit behavior and especially become is a no go
>> scenario for python because not only replaces references to an object it
>> also breaks the references to the other object. Of course the old object is
>> garbage collected and RIP. Python follows this rule very strictly.
>>
>> Thus means that not only that Python will not offer a live coding
>> enviroment in the future as the basis of its implementation . It means it
>> does not want to. It may offer it as part of its extensive library.
>>
>> That also leads us to the inescapable conclusion that nothing comes free,
>> everything has a cost. Because there will be scenarios you dont want to
>> lose your old instances or not affect them at all and instead affect only
>> the classes or maybe you dont even want to do that and want to do something
>> else.
>>
>
>
> Hm, we have our own Pharo Zen, which includes a
> Explicit is better than implicit.
> So we are violating our own (zen)rules :)
>
> in my point of view, live or interactive coding has not much to do with
> explicit or implicit program code.
>
>


Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-12 Thread Nicolai Hess
2017-10-12 9:28 GMT+02:00 Dimitris Chloupis :

>
>
>
>> This is what Smalltalk gives you for free.
>>
> Sorrry for being rude but I wll use the two usually heavily annoying word,
> at least for me :D
>
> It depends
>
> See there is a problem for Python here. Ideology.
>
> The zen of python has been both a joke a serious mantra in the python
> world . Its a joke because its obviously oversimplify decision making in
> such a complex subject as language designe but is serious because it
> clearly illustrates the philosophy of its creator, Guido van Rossum.
>
> https://www.python.org/dev/peps/pep-0020/
>
>  Guido is not any less of a rock star to Pythoners than Alan Kay is for
> Smalltalkers. The zen has become so popular that is even included in python
> implementation and can be fetched as the link says using the "import this"
> in any implementation of Python. It's the very sould of python as messages
> and objects are the very soul of Smalltalk.
>
> So the problem here is that a live coding enviroment brakes the second
> rule. "explicit is better than implicit". Because live coding in Pharo and
> Smaltalk is about replacing old instances with new while keeping the state
> it non the less an implicit behavior and especially become is a no go
> scenario for python because not only replaces references to an object it
> also breaks the references to the other object. Of course the old object is
> garbage collected and RIP. Python follows this rule very strictly.
>
> Thus means that not only that Python will not offer a live coding
> enviroment in the future as the basis of its implementation . It means it
> does not want to. It may offer it as part of its extensive library.
>
> That also leads us to the inescapable conclusion that nothing comes free,
> everything has a cost. Because there will be scenarios you dont want to
> lose your old instances or not affect them at all and instead affect only
> the classes or maybe you dont even want to do that and want to do something
> else.
>


Hm, we have our own Pharo Zen, which includes a
Explicit is better than implicit.
So we are violating our own (zen)rules :)

in my point of view, live or interactive coding has not much to do with
explicit or implicit program code.


Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-12 Thread Dimitris Chloupis
"one of the reasons that Smalltalk historically has been view as insular,
living in its own world avoid using non-Smalltalk libraries - because the
lose of live coding here is a big impact."

I would not say that Smalltalk is viewed as insular. I would say that
Smallalk is not viewed at all period. Pharo wise the people who introduced
to Pharo have been impressed by it.

The same way most Pharoers prefer pharo libraries to c libraries via UFFI ,
applies to python coders as well.

You think a python coder is eager to leave the comforts of his language,
think again.

In both communities its user with either C experience or motivated to learn
C for personal reasons that use the FFIs or other means to import C code.
Is it an accident that 99% of C wrapped code libraries for Python are
existing C projects ? Some existing for decades and predating Python.

A pure Python developers will be as unlikely to use the FFI as a Pharo
developer, and by developers I mean users not the people who actually
develop Pharo.

So no there is nothing wrong with Smalltalk and Smallalk works with C just
fine.

Python's C API gained quickly reputation among the C people of being easy
to us so Python became the go to language for scripting C. This is also why
Python offered embeding, because back then Python was slooo.

This led Guido to claim that Python may be a great choice for scripting C
project but choice for replacing high performance code. He did not even
intended the language to target anything else than scriptin. Nonetheless
that did not stop the community from pop up like mushrooms high performance
libraries to that extend that nowdays Python is regarded as the second best
choice for high performance computing after C/C++ which if you think about
it sounds kinda insane but non the less wrapped optimised C python
libraries can easily outperform non optimised C/C++ code.  An example being
the emarashing truth that Python strings are faster than C++ strings which
forces C++ coders to use an external library that optimised them called
Boost.

So the real irony is that back then embeding Python was recommended,
nowdays embdeding Python is frown upon. Instead now its recommended to
brake your C project to a library wrapped for Python and import it to
Python.

Its fascinating to see something that started so humble become so ambitious
but that is true power of the community and this is also the true power of
Pharo.

You can let this misconceptions get in the way and think small like
"Python/Pharo cannot do this, or is hard to do" or you can shut up
(something I find hard to do) and just do it.

As I said , we use only 0.001% of the potential of any language out
there.


Re: [Pharo-users] Custom URI scheme for Pharo

2017-10-12 Thread Manuel Leuenberger
Sure, a system call out would be nicest way to register a handler. 
Unfortunately, registering custom URI schemes seems to be completely different 
on every platform, as well as how they receive an activation event. OS X uses a 
plist, Windows a registry entry, for Linux depends on the distro. So I went for 
a minimal solution. But it should be doable to provide a platform-aware package 
that takes case of the installation.

> On 12 Oct 2017, at 09:34, Norbert Hartl  wrote:
> 
> Ok, I see. Building a native app and interfacing it from pharo is the most 
> reliable version. I was just thinking that having a system call out it might 
> be easier to make it cross-platform. I would be interested to have that 
> available for all platforms.
> 
> Norbert
> 
> Am 12.10.2017 um 09:20 schrieb Manuel Leuenberger  >:
> 
>> That's what I did. Only I used a native Objective-C app, as it provides a 
>> simple API to register to the events and will even be started if it's not 
>> running yet.
>> 
>> Am 12.10.2017 08:50 schrieb Norbert Hartl > >:
>> I think all you need is to do a system call out to the OS in order to 
>> register your scheme. For Mac OS it would be sonething like
>> 
>> 
>> https://superuser.com/questions/548119/how-do-i-configure-custom-url-handlers-on-os-x
>>  
>> 
>> 
>> And then you can see if it is what you want. Custom handlers associate a url 
>> scheme to an application binary. I‘m not sure you can use an image with it. 
>> So I would register a shell script and handle the adoption in the script.
>> 
>> Does that help?
>> 
>> Norbert
>> 
>> Am 10.10.2017 um 21:06 schrieb Manuel Leuenberger > >:
>> 
>> Hi,
>> 
>> Is there any support from the VM/Application package to add custom URI 
>> schemes to listen to from within Pharo? I would like to have a hyperlink 
>> like ‘pharo://send?data=fancypants’ in an arbitrary document that, when 
>> clicked, switches to Pharo and calls a hook I can register. Could someone 
>> give me a hint how to achieve that, or do I have to build a little bridge 
>> application that handles the scheme registration and talks with Pharo 
>> through another channel? Currently, I only need this for OS X.
>> 
>> Cheers,
>> Manuel
>>  
>> 



Re: [Pharo-users] [Ann] PharoLauncher v1.0.1 released!

2017-10-12 Thread Christophe Demarey
Hi Vitor,

> Le 11 oct. 2017 à 13:44, Vitor Medina Cruz  a écrit :
> 
> Hi Christophe,
> 
> Yes, but:
> 1- I can’t execute it if I don’t have administrative rights
> 
ok. That the point I missed.
I think I will add a zip file with PharoLauncher for windows for user like you 
not having admin rights.
>  — I have tried with the provided link. Before I get to the installation 
> directory choice, windows prompt me an error telling me I must be an admin. 
> It is probably some windows policy for all exe files, I know it is possible 
> to bypass this as some applications do (Intellij for example), but it is 
> usually easier to provide a zip;
> 
> 
> 
> 
> 2- 7-Zip can open this executable as it were a zip file, that’s how I manage 
> to install Pharo Launcher.

I need to think on the best way to handle that.

Regards,
Christophe.



Re: [Pharo-users] Custom URI scheme for Pharo

2017-10-12 Thread Norbert Hartl
Ok, I see. Building a native app and interfacing it from pharo is the most 
reliable version. I was just thinking that having a system call out it might be 
easier to make it cross-platform. I would be interested to have that available 
for all platforms.

Norbert

> Am 12.10.2017 um 09:20 schrieb Manuel Leuenberger :
> 
> That's what I did. Only I used a native Objective-C app, as it provides a 
> simple API to register to the events and will even be started if it's not 
> running yet.
> 
> Am 12.10.2017 08:50 schrieb Norbert Hartl :
> I think all you need is to do a system call out to the OS in order to 
> register your scheme. For Mac OS it would be sonething like
> 
> 
> https://superuser.com/questions/548119/how-do-i-configure-custom-url-handlers-on-os-x
> 
> And then you can see if it is what you want. Custom handlers associate a url 
> scheme to an application binary. I‘m not sure you can use an image with it. 
> So I would register a shell script and handle the adoption in the script.
> 
> Does that help?
> 
> Norbert
> 
> Am 10.10.2017 um 21:06 schrieb Manuel Leuenberger :
> 
> Hi,
> 
> Is there any support from the VM/Application package to add custom URI 
> schemes to listen to from within Pharo? I would like to have a hyperlink like 
> ‘pharo://send?data=fancypants’ in an arbitrary document that, when clicked, 
> switches to Pharo and calls a hook I can register. Could someone give me a 
> hint how to achieve that, or do I have to build a little bridge application 
> that handles the scheme registration and talks with Pharo through another 
> channel? Currently, I only need this for OS X.
> 
> Cheers,
> Manuel
>  
> 


Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-12 Thread Dimitris Chloupis
> This is what Smalltalk gives you for free.
>
Sorrry for being rude but I wll use the two usually heavily annoying word,
at least for me :D

It depends

See there is a problem for Python here. Ideology.

The zen of python has been both a joke a serious mantra in the python world
. Its a joke because its obviously oversimplify decision making in such a
complex subject as language designe but is serious because it clearly
illustrates the philosophy of its creator, Guido van Rossum.

https://www.python.org/dev/peps/pep-0020/

 Guido is not any less of a rock star to Pythoners than Alan Kay is for
Smalltalkers. The zen has become so popular that is even included in python
implementation and can be fetched as the link says using the "import this"
in any implementation of Python. It's the very sould of python as messages
and objects are the very soul of Smalltalk.

So the problem here is that a live coding enviroment brakes the second
rule. "explicit is better than implicit". Because live coding in Pharo and
Smaltalk is about replacing old instances with new while keeping the state
it non the less an implicit behavior and especially become is a no go
scenario for python because not only replaces references to an object it
also breaks the references to the other object. Of course the old object is
garbage collected and RIP. Python follows this rule very strictly.

Thus means that not only that Python will not offer a live coding
enviroment in the future as the basis of its implementation . It means it
does not want to. It may offer it as part of its extensive library.

That also leads us to the inescapable conclusion that nothing comes free,
everything has a cost. Because there will be scenarios you dont want to
lose your old instances or not affect them at all and instead affect only
the classes or maybe you dont even want to do that and want to do something
else.


> So while Python has the flexibility for you to program such a system
> yourself, you don't get it for free like Smalltalk.
>
>
>> So it does have a wide application. Python can give you back the
>> references to and from an object (via gc module) but the problem is that
>> when an object is created its already referenced by many internal stuff so
>> it can get messy soon.
>>
>
> Smalltalk handles this for free.  You need #become:
> https://gbracha.blogspot.com.au/2009/07/miracle-of-become.html
> Note one of the comments links to user code that apparently does the same
> thing in Python.  But again this is Python "allows" you to, not "Python"
> gives it to you, but it could be good enough for you.
>
>

First the python example is not an actual become the way I understand it,
because not only it does not change the references to the object , it
exchanges only the variables not the methods

http://wargle.blogspot.gr/2009/07/smalltalks-become-in-python.html

__CLASS__ is reference to the class object. __DICT__ is a reference to the
instance object dictionary contains basically the names of the variables
but not references to the methods themselves . Which means this wont work
for live coding.

His example works because both classes share the same methods with same
code in them but we know this is the polar opposite of live coding.

You can get references to the modified methods using this code

my_class_ref = (globals()[self.__class__.__name__])
found_methods=[eval("my_class_ref()." +
entry,{'my_class_ref':my_class_ref}) for entry in dir(my_class_ref()) if
eval("type(my_class_ref()." + entry +
").__name__",{'my_class_ref':my_class_ref}) == 'method']

Globals is used to fetch the reference to the class object. eval is used
because names are passed as strings of course and basically eval executes a
string as a collection of python commands and returns its value. In this
case the value is a reference to an object, a method object. Dir returns
all names , including both variables and methods, instance and class,
including all superclasses.

You do then something similar to get the old methods , and then you iterate
checking the names and replacing the references with simple assignments.
You end up with a become that is I would say around , if I brake down the
list comprehension to multiple lines, 20 lines of code.

It wont be still a Smalltalk become but it will support live coding and
live replacement of instance objects.

> Plus Python is not exactly a high performance language ,
>>
>
> We now have this for improved performance...
> https://hal.inria.fr/hal-01152610/file/partialReadBarrier.pdf
>
>
Here come the two ugly words "it depends"

See what the python becomes does is essentially better than the smalltalk
becomes. I know its hard to not throw tomatoes at me but if you take a
closer look at the Elito's paper you linked you will see why.

Python solution really becomes an object to another because its swaps its
contents and not the entity of the object, this includes variables and
methods and the class it points to. By entity here I mean 

Re: [Pharo-users] Custom URI scheme for Pharo

2017-10-12 Thread Manuel Leuenberger
That's what I did. Only I used a native Objective-C app, as it provides a simple API to register to the events and will even be started if it's not running yet.Am 12.10.2017 08:50 schrieb Norbert Hartl :I think all you need is to do a system call out to the OS in order to register your scheme. For Mac OS it would be sonething likehttps://superuser.com/questions/548119/how-do-i-configure-custom-url-handlers-on-os-xAnd then you can see if it is what you want. Custom handlers associate a url scheme to an application binary. I‘m not sure you can use an image with it. So I would register a shell script and handle the adoption in the script.Does that help?NorbertAm 10.10.2017 um 21:06 schrieb Manuel Leuenberger :Hi,Is there any support from the VM/Application package to add custom URI schemes to listen to from within Pharo? I would like to have a hyperlink like ‘pharo://send?data="" an arbitrary document that, when clicked, switches to Pharo and calls a hook I can register. Could someone give me a hint how to achieve that, or do I have to build a little bridge application that handles the scheme registration and talks with Pharo through another channel? Currently, I only need this for OS X.Cheers,Manuel 

Re: [Pharo-users] Custom URI scheme for Pharo

2017-10-12 Thread Norbert Hartl
I think all you need is to do a system call out to the OS in order to register 
your scheme. For Mac OS it would be sonething like


https://superuser.com/questions/548119/how-do-i-configure-custom-url-handlers-on-os-x

And then you can see if it is what you want. Custom handlers associate a url 
scheme to an application binary. I‘m not sure you can use an image with it. So 
I would register a shell script and handle the adoption in the script.

Does that help?

Norbert

> Am 10.10.2017 um 21:06 schrieb Manuel Leuenberger :
> 
> Hi,
> 
> Is there any support from the VM/Application package to add custom URI 
> schemes to listen to from within Pharo? I would like to have a hyperlink like 
> ‘pharo://send?data=fancypants’ in an arbitrary document that, when clicked, 
> switches to Pharo and calls a hook I can register. Could someone give me a 
> hint how to achieve that, or do I have to build a little bridge application 
> that handles the scheme registration and talks with Pharo through another 
> channel? Currently, I only need this for OS X.
> 
> Cheers,
> Manuel
>  


Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-12 Thread Markus Stumptner
Just to lead this back to the original question.  What you say is 
undoubtedly true.  It is not, however, necessarily something that a 
beginner will understand or be able to share in.  So, to a certain 
degree this may be a trap caused by having the excellent environment.  
The newbie who is not used to it and tries to get somehow organised 
before diving in will be scared off.


(I do realise that this is a matter of the time being available, but the 
fact remains that people coming from the outside may be held back this 
apparent lack of information, even though it is only a lack of 
information external to the image. It's the difference between the 
converted who are already going with the flow and those who want to dip 
a toe into the water.)


On 12/10/17 01:09, Offray Vladimir Luna Cárdenas wrote:


The more I use Pharo, the less I use web documentation. For me seems 
pretty suboptimal compared to live environment with code browser and 
GT-Spotter. Regarding the comment on Medium, it also took me little to 
find #raisedTo:, so the millage can vary. What I was missing was 
proper books for particular domains, but Pharo books are covering 
that. I don't know if a Q site could improve search-ability for 
newbies (certainly you can find little stuff in Stack Overflow).


My bet is about trying to create more "end user" tools (Grafoscopio is 
kind of this), besides tools for developers. There is a broad 
community of people who can be active contributors and members of the 
community, welcome Pharo and live coding a lot and don't complain that 
much about stuff that is not already pretty similar to what they 
already know (being that only English MOOC or online static html docs).


Cheers,

Offray


On 11/10/17 07:34, Dimitris Chloupis wrote:
for me it is a yes and no situation, yes its very coold to have your 
entire system in your fingertips but Pharo has serious issues with 
code organisation and I find the lack of namespaces quite 
inconvenient. You have to be careful how to name your classes which 
does not sound to me very OOP friendly.


Also the IDE does not handle spaggetification very well, sure you can 
find implementors , senders etc but if the execution chain is complex 
, welcome to spaggeti hell. But that is a problem with most other 
IDEs if not all as well. Problem is in this case that we have the 
very good rule of using sort methods which multiplies this problem 
and makes navigation even harder. Code becomes much easier to read 
per method and messages but much harder to understand in a bird eye view.


Some of that pain has been aleviated with the introduction of 
GTSpotter which I have praised quite a lot and I will continue to do 
so. But yeah there are more needed to be done in the department to 
make Pharo code navigation a more comfortable task.


On Wed, Oct 11, 2017 at 2:57 PM Vitor Medina Cruz 
> wrote:


I dunno, maybe I’m weird, but I find the System Browser a
fantastic way to explore the class library. If you find a
class or method that isn’t well documented, write a comment
and send a change request. Stef told me this ages ago. I
might add, if you find a bug you should write a test that
exercises the bug and submit it on fogbugz (the bug tracking
system).


I will reference of response of mine to a similar opinion made by
Richard:

https://medium.com/@vitormcruz/i-disagree-it-is-much-harder-to-find-anything-in-the-environment-c6bdd44f6eea

My 2 cents.




On Tue, Oct 10, 2017 at 11:59 PM, john pfersich
> wrote:


> On Oct 10, 2017, at 09:58, horrido
> wrote:
>
> Interestingly, I'm getting a fair amount of pushback on
this. Personally, I
> think it would be very helpful to have a live (updatable,
so as to keep it
> current) reference page for the class library, something
that developers can
> easily look up what they need. After all, most of the power
of Pharo comes
> from the class library and we need to make it as accessible
as possible to
> less experienced Pharoers (i.e., beginners).
>
> Exploring the class library through the System Browser is
very inefficient.
> This is further exacerbated by the fact that many classes
and methods are
> simply not well-documented (containing a cursory remark
which is just barely
> useful).
>
I dunno, maybe I’m weird, but I find the System Browser a
fantastic way to explore the class library. If you find a
class or method that isn’t well documented, write a comment
and send a change request. Stef told me this ages ago. I
might add, if you find a bug you should write a