Re: [Pharo-users] Code of Conduct

2019-09-21 Thread Jerry Kott
Just… WOW.

I’ve been fighting the urge to add my two cents to the discussion, but didn’t 
feel ‘qualified’ - I’ve been just lurking here, both on the mailing list and 
this topic. I haven’t contributed to Pharo (yet), but any discussion that 
involves freedom of expression (which this is I believe) naturally piques my 
interest.

I only read the Code of Conduct version as of today, and while on surface it’s 
not that controversial (any longer), if I had any say in the subject, I would 
vote against any form or shape of it. Many have expressed their reasons, here 
are just some of mine:

The wording can change at any time (as we have seen over last couple of weeks), 
without any real accountability of the CoC authors/editors to the community. 
That alone should be a red flag. I have a somewhat remotely related example of 
that: In 1948, a single added sentence in the Constitution of my country 
changed it from a fledgling democracy to a brutal dictatorship that lasted 
forty years. ‘Foundational documents’ are extremely difficult to get right - 
whatever ‘right’ means.
Almost every CoC I have seen in recent times, in communities online and in the 
real world, reminds me this: 
https://en.wikipedia.org/wiki/Moral_Code_of_the_Builder_of_Communism 
 . Read 
the twelve rules. Shivers run up my spine when I see the similarities between 
that and modern Code of Conduct wordings. This was displayed in schools and 
other public building when I was growing up. Nobody I knew followed it, but it 
could be used arbitrarily to mark people as ‘enemies’ and discriminate against 
them - the very antithesis of tolerance and inclusivity.
(I repeat what others said) This is a predominantly technical forum, albeit 
with some creative aspects. I borrow a phrase here: ‘Any good idea withstands 
scrutiny’. Knowing that should be enough of an incentive to be thoughtful and 
respectful. That doesn’t mean you can’t fight for your idea (on the contrary), 
and fighting sometimes requires some strong words. Get over it. Life’s not 
‘easy’, ’safe’, or ‘fair’.
I don’t see a problem on this list (or even in the wider Pharo/Smalltalk 
community) that needs solving or gets solved by a CoC. Why waste our energy on 
something that is not a problem?


If everything else got half of attention as this topic, wouldn’t that be 
awesome? Ultimately this is about human behviour, and as we know, that’s always 
the hardest thing to change/influence in any field. Speaking of which:

How is that security stuff coming along, Pharo community? Two years in the row 
my ESUG presentations included screenshots of a Pharo-backed web site, pointing 
out how insecure the site is. Details have been blurred to protect the site, 
but anyone who does Pharo/Seaside work should be alerted if they paid 
attention. I know that the maintainers of the site were in the audience, and I 
am amazed that they have not checked their site to see if they have some work 
to do to address the vulnerabilities. Note: this is not unique to Pharo. It’s a 
simple change in behaviour that should have happened, but it has not.

The point here is: as a community, Pharo (and other Smalltalk groups) has a lot 
of work to do. Code of Conduct is an unnecessary and wasteful distraction. In 
the meantime, I see no discussions here about how are we going to address the 
world-wide crisis of Privacy Erosion, or how to establish ethical coding best 
practices. How can we ensure that information collected as a result of our work 
remains confidential and secure where needed, and is used ethically for the 
betterment of the planet and the human race?

I don't give a rat’s ass about following a community Code of Conduct if it 
silences what I or others have to say in public, while our most private, 
personal data is harvested left and right by unscrupulous geeks in Silicon 
Valley and elsewhere. That’s a problem we should be trying to solve.

There. Stepping down from the soap box.

Happy Autumnal Equinox, everyone!

Jerry Kott
This message has been digitally signed.
PGP Fingerprint:
A9181736DD2F1B6CC7CF9E51AC8514F48C0979A5



> On 21-09-2019, at 9:51 AM, Steve Quezadas  wrote:
> 
> My issue is that this covenant is selectively applied to some things, but not 
> others. The wording might change, but the cultural attitude will prevail on 
> how it gets "enforced". Again, the best thing to do is simply keep it neutral 
> and anything not related to pharo get thrown out as "off-topic".
> 
> Harassment has never been a problem with this list. And any talk about the 
> danger of "nazis" or "thugs" is irrelevent and should be thrown out. I, for 
> one, don't want to see it on this list.
> 
> On Sat, Sep 21, 2019 at 9:36 AM James Foster  > wrote:
> A nice thing about open source and the use of Git is that changes can be 
> proposed and adopted quickly. Any proposal should be judged, not on whether 
> it is p

[Pharo-users] Can one use freetype fonts with Roassal?

2019-09-21 Thread Mark Miller
I'm interested in using Pharo to do a math presentation, by which I mean I'd
like to show some algebra in process. I'm using a Mac (macOS Mojave), and
Pharo 7. I've settled upon Roassal2 as a good package to use for this, as
I'd like to arrange characters, and possibly do a little animation, and
maybe a little bit of effects with alpha settings. However, I'd like to show
the alphabetic characters in the traditional way for math (italicized), and
I'd like to be able to control the font size. Looking at the Roassal
examples, I can see how to control the font size, but not the font face.
I've been exploring what package Roassal uses for displaying fonts. It
appears to be FreeType. I have FreeType installed on macOS from Homebrew,
and I've copied a couple fonts into a "fonts" folder under my home directory
(as FreeType in Pharo seems to demand)--Times New Roman Italic, and Arial
Italic--but if I try to change the font face to any one of these, the font
face doesn't change, but I lose font sizing. Every character appears the
same size, even though the code is still trying to set the font height.

I'll use the Roassal exampleFontSize example to illustrate.

As-is, exampleFontSize displays this:

 

Once I try to change the font face to Times New Roman Italic, it looks like
this:

 

I've tried changing it to use Arial Italic, but the font face still doesn't
change, and I lose all font sizing.

Any ideas on why this is happening?

Thanks.



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



Re: [Pharo-users] pharo for ios and android

2019-09-21 Thread Steve Quezadas
Ahhh, interesting! I didn't know caffeine even existed! Thank you for
sharing.

On Sat, Sep 21, 2019 at 3:24 PM Craig Latta 
wrote:

>
> Hi--
>
> > Craig Latta runs Smalltalk images on the javascript vm written by Bert
> > Freudenberg. Search for Caffeine
>
>  Yes, https://caffeine.js.org is my main development system these
> days, and it runs nicely on my iPhone (or any device, with any web
> browser). Caffeine is the https://squeak.js.org virtual machine (which
> can run Squeak, Pharo, and Cuis) with Web platform and frameworks support.
>
>
>  thanks,
>
> -C
>
> --
> Craig Latta
> Black Page Digital
> Amsterdam :: San Francisco
> cr...@blackpagedigital.com
> +31   6 2757 7177
> + 1 415  287 3547
>
>


Re: [Pharo-users] pharo for ios and android

2019-09-21 Thread Craig Latta


Hi--

> Craig Latta runs Smalltalk images on the javascript vm written by Bert
> Freudenberg. Search for Caffeine

 Yes, https://caffeine.js.org is my main development system these
days, and it runs nicely on my iPhone (or any device, with any web
browser). Caffeine is the https://squeak.js.org virtual machine (which
can run Squeak, Pharo, and Cuis) with Web platform and frameworks support.


 thanks,

-C

--
Craig Latta
Black Page Digital
Amsterdam :: San Francisco
cr...@blackpagedigital.com
+31   6 2757 7177
+ 1 415  287 3547



Re: [Pharo-users] Where did all the Comments Go?

2019-09-21 Thread Paul DeBruicker
Hi Andrew-

If you use the scripts from 

https://get.pharo.org (for 32 bit) 

or 

https://get.pharo.org/64 (for 64 bit) 

to download a vm+image e.g.

curl https://get.pharo.org/64 | bash 

Do you also have the disappearing comments issue?  I can't imagine it would
make a difference and that you'll still see the problem but it would be a
ten minute test at most.  


FWIW I can write and read class comments in Pharo 7 just fine, but don't use
and never load SmaCC.  

Could it be a problem with SmaCC + Pharo7? 





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



Re: [Pharo-users] FFIExternalType hooks; naming convention

2019-09-21 Thread Tomaž Turk

Hi,

> Yes, but in general you do not need to implement your type, you can 
derive what you need from the ones existing.

> Why you need to do it?

I'm just curious, I'm sorry :-) Depending on the platform, there is a 
huge number of various types - just on Windows there are wchar_t, 
char16_t and char32_t implementations of "wide char", at least that I 
know of, and one asks himself when and whether to go all the way "down".


> So readStrring is equivalent to fromCString, but I can imagine a 
better future where we have just one and it will > be readString :P


:-)

Thanks!

Best wishes,
Tomaz

-- Original Message --
From: "Esteban Lorenzano" 
To: "Any question about pharo is welcome" 
Sent: 21. 09. 2019 17:28:34
Subject: Re: [Pharo-users] FFIExternalType hooks; naming convention


HI,


 On 21 Sep 2019, at 13:18, eftomi  wrote:

 HI,

 I have a couple of questions regarding FFI:

 - If you want to create a new FFIExternalType subclass, which are the
 necessary hooks that should be implemented - like #externalType,
 #externalTypeSize … on the class side and #basicHandle:at:,
 #basicHandle:at:put:, #stackValueParameterClass, etc. on the instance side?


Yes, but in general you do not need to implement your type, you can derive what 
you need from the ones existing.
Why you need to do it?



 - Is there anything else that should be done besides hooks - for instance
 another "entries" into FFIConstants class>>#initializeTypeConstants or even
 ExternalType>>#initializeAtomicTypes ?


No.



 - About naming standards: the ExternalData class has some methods that
 "grab" strings from the heap, like ExternalData>>#fromCString and
 ExternalData>>#readStringUTF8 - these two methods do the heavy work, however
 the method ExternalData>>#readString more or less just refers to
 ExternalData>>#fromCString. Is there any difference between "from..." and
 "read…"?


At the begining, there was fromCString.
Then someone else added readStringUTF8.
Then I added readString because I like coherence :)

So readStrring is equivalent to fromCString, but I can imagine a better future 
where we have just one and it will be readString :P

Esteban



 Thanks!

 Best wishes,
 Tomaz



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





Re: [Pharo-users] Code of Conduct

2019-09-21 Thread Steve Quezadas
My issue is that this covenant is selectively applied to some things, but
not others. The wording might change, but the cultural attitude will
prevail on how it gets "enforced". Again, the best thing to do is simply
keep it neutral and anything not related to pharo get thrown out as
"off-topic".

Harassment has never been a problem with this list. And any talk about the
danger of "nazis" or "thugs" is irrelevent and should be thrown out. I, for
one, don't want to see it on this list.

On Sat, Sep 21, 2019 at 9:36 AM James Foster  wrote:

> A nice thing about open source and the use of Git is that changes can be
> proposed and adopted quickly. Any proposal should be judged, not on whether
> it is perfect, but whether it makes an improvement. As a corollary, don’t
> assume that the current state is the ideal, but treat it as a platform for
> continuous improvements.
>
> In this case, the phrase you objected to was removed before you made your
> comment.
>
> James
>
> > On Sep 20, 2019, at 11:43 PM, Hilaire  wrote:
> >
> > Le 19/09/2019 à 21:20, Esteban Lorenzano a écrit :
> >>
> >> So we are going to take the simplest one we could find that still can
> >> serve our community, you can see it here:
> >>
> >> https://github.com/pharo-project/pharo/pull/4660
> >>
> > Hello,
> >
> > Given the heat up on the ml, I took a look on the PR. It looks honest
> > and simple for but...
> >
> > ...I am really surprised -- worried will be more accurate ! -- by the
> > second part of this sentence[1]. I think it is even dangerous! What is
> > happening outside of the Pharo community should not be ruled by the
> > 'WE'. The 'WE' is not the universal moral police or justice. If you
> > think a bit about the Richard Stallman event, he was forced to withdraw
> > of the Free Software Foundation because comments he made in a mailing
> > list not related to FSF. He wrote his email contents were misinterpreted
> > (and we know it happens often) and used against him. Whatever it is true
> > or not, I don't see why you should be socially banned (or socially
> > killed) from one place (or more like all place) because of what happen
> > in another place. This kind of important decision can only be taken by
> > the justice where all matter are taken in consideration. Imagine one of
> > you kicked out of Pharo community because you loose your mind in another
> > channel? It makes me feel a bit like the Aldous Huxley world.
> >
> > [1] /We will not tolerate harassment from anyone in the Pharo community,
> > even outside of Pharo’s public communication channels./
> >
> > Hilaire
> >
> > --
> > Dr. Geo
> > http://drgeo.eu
> >
> >
> >
> >
>
>
>


Re: [Pharo-users] Code of Conduct

2019-09-21 Thread James Foster
A nice thing about open source and the use of Git is that changes can be 
proposed and adopted quickly. Any proposal should be judged, not on whether it 
is perfect, but whether it makes an improvement. As a corollary, don’t assume 
that the current state is the ideal, but treat it as a platform for continuous 
improvements.

In this case, the phrase you objected to was removed before you made your 
comment.

James

> On Sep 20, 2019, at 11:43 PM, Hilaire  wrote:
> 
> Le 19/09/2019 à 21:20, Esteban Lorenzano a écrit :
>> 
>> So we are going to take the simplest one we could find that still can
>> serve our community, you can see it here: 
>> 
>> https://github.com/pharo-project/pharo/pull/4660
>> 
> Hello,
> 
> Given the heat up on the ml, I took a look on the PR. It looks honest
> and simple for but...
> 
> ...I am really surprised -- worried will be more accurate ! -- by the
> second part of this sentence[1]. I think it is even dangerous! What is
> happening outside of the Pharo community should not be ruled by the
> 'WE'. The 'WE' is not the universal moral police or justice. If you
> think a bit about the Richard Stallman event, he was forced to withdraw
> of the Free Software Foundation because comments he made in a mailing
> list not related to FSF. He wrote his email contents were misinterpreted
> (and we know it happens often) and used against him. Whatever it is true
> or not, I don't see why you should be socially banned (or socially
> killed) from one place (or more like all place) because of what happen
> in another place. This kind of important decision can only be taken by
> the justice where all matter are taken in consideration. Imagine one of
> you kicked out of Pharo community because you loose your mind in another
> channel? It makes me feel a bit like the Aldous Huxley world.
> 
> [1] /We will not tolerate harassment from anyone in the Pharo community,
> even outside of Pharo’s public communication channels./
> 
> Hilaire
> 
> -- 
> Dr. Geo
> http://drgeo.eu
> 
> 
> 
> 




Re: [Pharo-users] FFIExternalType hooks; naming convention

2019-09-21 Thread Esteban Lorenzano
HI,

> On 21 Sep 2019, at 13:18, eftomi  wrote:
> 
> HI,
> 
> I have a couple of questions regarding FFI:
> 
> - If you want to create a new FFIExternalType subclass, which are the
> necessary hooks that should be implemented - like #externalType,
> #externalTypeSize … on the class side and #basicHandle:at:,
> #basicHandle:at:put:, #stackValueParameterClass, etc. on the instance side?

Yes, but in general you do not need to implement your type, you can derive what 
you need from the ones existing. 
Why you need to do it?

> 
> - Is there anything else that should be done besides hooks - for instance
> another "entries" into FFIConstants class>>#initializeTypeConstants or even
> ExternalType>>#initializeAtomicTypes ?

No.

> 
> - About naming standards: the ExternalData class has some methods that
> "grab" strings from the heap, like ExternalData>>#fromCString and
> ExternalData>>#readStringUTF8 - these two methods do the heavy work, however
> the method ExternalData>>#readString more or less just refers to
> ExternalData>>#fromCString. Is there any difference between "from..." and
> "read…"?

At the begining, there was fromCString. 
Then someone else added readStringUTF8.
Then I added readString because I like coherence :)

So readStrring is equivalent to fromCString, but I can imagine a better future 
where we have just one and it will be readString :P

Esteban

> 
> Thanks!
> 
> Best wishes,
> Tomaz
> 
> 
> 
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
> 




Re: [Pharo-users] pharo for ios and android

2019-09-21 Thread Tomaž Turk
I've found U8 for the android: http://alereimondo.no-ip.org/U8/313 .

Best wishes
Tomaž

On Sat, 21 Sep 2019, 13:32 Stephan Eggermont,  wrote:

> Steve Quezadas  wrote:
> > I am going to the portland meetup this october and I noticed that one of
> > the items listed is "Smalltalk on iOS and Android" which intrigues me. Is
> > some Guilfoyle-type here writing a VM for these platforms? I was joking
> > with a friend that we should write a vm for ios using the "smalltalk blue
> > book" and it would be fun to learn how vm's work by trying to write
> > sometihng for ios. Is someone already working on this?
>
> Craig Latta runs Smalltalk images on the javascript vm written by Bert
> Freudenberg. Search for Caffeine
>
> Stephan
>
>
>
>


Re: [Pharo-users] uFFI ExternalAddress challenges

2019-09-21 Thread eftomi
Hi, 

as a wrap-up for this forum thread, I found an elegant way to take a result
as C wchar_t* from an FFI call on Windows, based on the idea of
ExternalData>>#fromCString. If anybody needs it:
https://github.com/eftomi/pharo-uFFI-readWin32WideString.

Best wishes,
Tomaz



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



Re: [Pharo-users] pharo for ios and android

2019-09-21 Thread Stephan Eggermont
Steve Quezadas  wrote:
> I am going to the portland meetup this october and I noticed that one of
> the items listed is "Smalltalk on iOS and Android" which intrigues me. Is
> some Guilfoyle-type here writing a VM for these platforms? I was joking
> with a friend that we should write a vm for ios using the "smalltalk blue
> book" and it would be fun to learn how vm's work by trying to write
> sometihng for ios. Is someone already working on this?

Craig Latta runs Smalltalk images on the javascript vm written by Bert
Freudenberg. Search for Caffeine 

Stephan





[Pharo-users] FFIExternalType hooks; naming convention

2019-09-21 Thread eftomi
HI,

I have a couple of questions regarding FFI:

- If you want to create a new FFIExternalType subclass, which are the
necessary hooks that should be implemented - like #externalType,
#externalTypeSize … on the class side and #basicHandle:at:,
#basicHandle:at:put:, #stackValueParameterClass, etc. on the instance side?

- Is there anything else that should be done besides hooks - for instance
another "entries" into FFIConstants class>>#initializeTypeConstants or even
ExternalType>>#initializeAtomicTypes ?

- About naming standards: the ExternalData class has some methods that
"grab" strings from the heap, like ExternalData>>#fromCString and
ExternalData>>#readStringUTF8 - these two methods do the heavy work, however
the method ExternalData>>#readString more or less just refers to
ExternalData>>#fromCString. Is there any difference between "from..." and
"read..."?

Thanks!

Best wishes,
Tomaz



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



Re: [Pharo-users] Code of Conduct

2019-09-21 Thread Stephan Eggermont
Ramon Leon  wrote:
>
> It's not, identity politics are left wing politics

That requires using a definition of left wing politics where neo-nazis and
alt-right are left wing. That definition is not common here in Western
Europe. 

I’m happy for you and that you have enough privilege that you can afford to
ignore politics. 

Stephan





Re: [Pharo-users] Where did all the Comments Go?

2019-09-21 Thread Sven Van Caekenberghe
Andrew,

Are you saying all method and class comments are gone, in the whole system, or 
just the ones from new code that you loaded ?

And is this the case only for you own code, or anything loaded extra ?

Sven

> On 20 Sep 2019, at 23:59, Andrew Black  wrote:
> 
> To try and make some progress, I copied a working image from another machine. 
>  On startup (on MacOS 10.14.6) I get this walkback:
> 
> File class(ProtoObject)>>primitiveFailed:
> File class(ProtoObject)>>primitiveFailed
> File class>>fileDescriptorType:
> File class>>fileDescriptorIsAvailable:
> Stdio class>>standardIOStreamNamed:forWrite:
> Stdio class>>stdout
> VTermOutputDriver class>>stdout
> BasicCommandLineHandler(CommandLineHandler)>>initializeStdout
> BasicCommandLineHandler(CommandLineHandler)>>initialize
> BasicCommandLineHandler>>initialize
> BasicCommandLineHandler class(Behavior)>>new
> [ self new activate ] in BasicCommandLineHandler class>>startUp: in Block: [ 
> self new activate ]
> BlockClosure>>cull:
> WorkingSession>>executeDeferredStartupActions:
> WorkingSession>>runStartup:
> WorkingSession>>start:
> SessionManager>>launchSnapshot:andQuit:
> [ isImageStarting := self launchSnapshot: save andQuit: quit.
> wait signal ] in SessionManager>>snapshot:andQuit: in Block: [ 
> isImageStarting := self launchSnapshot: save and...etc...
> [ self value.
> Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self 
> value
> 
> 
>> On 19 Sep 2019, at 17:43 , Andrew Black  wrote:
>> 
>> I’m coming back to Pharo after not having used it for several months.  I’m 
>> pleased to see that Pharo 7 is now stable and that work has started on Pharo 
>> 8.
>> 
>> I downloaded a new Pharo Launcher (the old one could no longer figure out 
>> which version of the VM to use), used the Launcher to create a Pharo 7.0 
>> stable image, and started loading my packages into it from github.
>> 
>> My attempt to install the baseline of my code failed when some 
>> initialization code could not get the definitionComment for my parser (which 
>> is written using SmaCC).  Normally, SmaCC stores one’s whole grammar _as a 
>> method comment_ in a method called definitionComment.   Oddly, this method 
>> was empty, even though the version on disk (in the file 
>> Grace-Parser.package/GraceParser.class/class/definitionComment.st) contained 
>> the comment, as I expected.
>> 
>> Hoping to at least complete the installation of my code, I manually copied 
>> the comment from this file into Calypso and saved the method.  It looked 
>> fine, but as soon as I moved Calypso to another method, and then back again, 
>> the comment had disappeared.  I experimented with adding comments to other 
>> methods: they looked fine, and I could save the method, but if I moved to 
>> another method and then back, the comment had disappeared.
>> 
>> Class comments have also disappeared.
>> 
>> I don’t think that this is a Calypso problem, because the loading of code 
>> from git would not involve Calypso. Rather it is a code storage problem.  I 
>> saw a File System primitive failure when I launched my new image, but 
>> ignored it; I’m guessing that the comments disappear because they are only 
>> in the file system, whereas the code is in memory.  And for some reason I 
>> can’t access the sources file?  The changes file ahs been created as 
>> expected.
>> 
>> I just tried downloading the VM manually, and running the “stable” image 
>> that I created, and this time got a different file system primitive failure 
>> on startup: #createDirectory in MacStore.
>> 
>> What’s going on?  What’s the right way to get a working Pharo in the New 
>> World Order?
>> 
>>  Andrew
>> 
> 
> 
> 
> 
> Prof. Andrew P. Black
> Department of Computer Science
> Portland State University
> Oregon, USA
> 
> http://www.cs.pdx.edu/~black
> Telephone: +1 503 725 2411
> 
> 
> 
> 




Re: [Pharo-users] pharo for ios and android

2019-09-21 Thread Ben Coman
On Sat, 21 Sep 2019 at 09:34, Steve Quezadas  wrote:

> I am going to the portland meetup this october and I noticed that one of
> the items listed is "Smalltalk on iOS and Android" which intrigues me. Is
> some Guilfoyle-type here writing a VM for these platforms? I was joking
> with a friend that we should write a vm for ios using the "smalltalk blue
> book" and it would be fun to learn how vm's work by trying to write
> sometihng for ios. Is someone already working on this?
>

It is not mainstream, but has been done by some individuals...
http://forum.world.st/Ann-Stack-Android-VM-td4919869.html
http://forum.world.st/Xcode-projects-for-VM-on-iOS-or-Mac-td5087786.html


One thing to be aware of is that the VM for these platform doesn't come
with JIT.

The other is that these platforms are strongly weighted towards
event-driven coding style
and the VM currently is not event driven.  This has an impact on battery
life, and may bump up against rules that terminate a long running process
(my understanding of this is limited).

Pharo 8's headless-VM opens up some possibilities towards creating an
event-driven VM, but I'm not aware of any immediate plans to do that.

cheers -ben