Re: [Pharo-users] As promised, the sequel!

2020-01-16 Thread xap
"Getting an idea suggestion for an article is plagiarism???"

perhaps that was rhetorical, what with the tripled punctuation. erring on
the side it's not, broadly, unattributed, yes.

here's oxford:
https://www.ox.ac.uk/students/academic/guidance/skills/plagiarism
here's webster: https://www.merriam-webster.com/dictionary/plagiarize

it's a matter of attribution; in no way does it diminish work that you put
in to develop or elucidate an idea (but you know all this of course).

"I get ideas from all kinds of sources. ... There's no point in citing all
of them."

well, whomp, there it is ;-)

separately, to distinguish baby from bathwater, your pieces come up in
interwebz searches around smalltalk, the ones I've come by have been always
readable often informative, and (as i've said before) thank you for the work
that goes into making them available




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



Re: [Pharo-users] Is Pharo is a good frontend system for a game console?

2020-01-16 Thread Vince Refiti
Hi

I would use Lua Love (https://love2d.org/) for such things.

Vince

-Original Message-
From: Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] On Behalf Of 
ponyatov
Sent: Friday, 17 January 2020 9:29 AM
To: pharo-users@lists.pharo.org
Subject: [Pharo-users] Is Pharo is a good frontend system for a game console?

EXTERNAL: Do not click links or open attachments if you do not recognize the 
sender.

Good day

I'm playing with custom little Linux for retrogaming console based on Raspberry 
Pi 4.

Is Pharo is a good frontend system (GUI) for a game console?

There is no mouse or keyboard by default, only joystick. So running Smalltalk 
interface on system bootup has some questions on usability. Also, it should be 
able to run external native binary programs that can use OpenGL and SDL/SDL2 so 
I'm not sure is the Pharo graphics system will be run on direct framebuffer 
without X11, and is it stable to be used with such libraries.




--
Sent from: 
https://urldefense.com/v3/__http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html__;!!I_DbfM1H!V4Xnp6AaGOc64G2uGZb1U4FQnxQNdLxIUBb2c_cIqr2Zakh1Z3erb1Hpkpllw1Vm8pZM0WxqAw$
 



Re: [Pharo-users] Pharo Quality Rules for Beginners

2020-01-16 Thread Vince Refiti
Hello Esteban

Some of the most common mistakes I made as a beginner and from seeing other 
beginners are (in no particular order):

1. Not learning to use the collections properly. In other words, not knowing 
the appropriate ones (OrderedCollection vs Array vs Dictionary vs String etc) 
and the messages that they understand.

2. Not using or not using the collections iterators properly 
(#select:/#reject:, #collect:, #inject:into:, #detect:, #do:, etc).

3. Not using or not using streams properly.

4. Concatenating strings where one or more substrings has a "'" (single quote) 
in it.

5. Adding things to a collection in a loop but forgetting to add a #yourself at 
the end (e.g., aCollection do: [ :each | anotherCollection add: each ]).

6. Writing large methods.

7. Abuse of inheritance.

When teaching other people Smalltalk, I always recommend they look at Kent 
Beck's "Smalltalk Best Practise Patterns" and Klimas et als "Smalltalk with 
Style".

Vince

-Original Message-
From: Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] On Behalf Of Ben 
Coman
Sent: Thursday, 16 January 2020 11:19 PM
To: Any question about pharo is welcome 
Cc: Pharo Development List 
Subject: Re: [Pharo-users] Pharo Quality Rules for Beginners

EXTERNAL: Do not click links or open attachments if you do not recognize the 
sender.

On Wed, 15 Jan 2020 at 17:41, ESTEBAN VILLALOBOS DIAZ via Pharo-users 
 wrote:
>
> Hello everyone!
>
> My name is Esteban and I will be working on the Pharo Quality Rules for the 
> next few months. The goal is to create different profiles for the rules 
> according to the programming experience of the user. For example, for the 
> beginner profile we would like to check for common mistakes made by people 
> who are just starting with Pharo like:
>
> Sending self as a message (probably because they forgot a . ) Using 
> False instead of false etc..
>
> I would appreciate it if you could share with me other common mistakes 
> that you have seen beginners do, or maybe tell me a bit of your own 
> experience when you started using Pharo :)

- Getting confused between instance-side and class-side, mixing up which side 
methods are on.
When getting a DNU maybe check if that message is known on the class-side.

- leaving out the end of statement trailing dot.
An error message like "Blah doesn't understand self" is a bit complex for a 
beginner to decipher.

cheers -ben



Re: [Pharo-users] Is Pharo is a good frontend system for a game console?

2020-01-16 Thread ponyatov
But I still think a lot about using the Smalltalk system as a user interface,
as it lets to program for any unskilled user have no programming background,
and especially like the feature of the cross-powerup persistence.



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



[Pharo-users] Is Pharo is a good frontend system for a game console?

2020-01-16 Thread ponyatov
Good day

I'm playing with custom little Linux for retrogaming console based on
Raspberry Pi 4.

Is Pharo is a good frontend system (GUI) for a game console?

There is no mouse or keyboard by default, only joystick. So running
Smalltalk interface on system bootup has some questions on usability. Also,
it should be able to run external native binary programs that can use OpenGL
and SDL/SDL2 so I'm not sure is the Pharo graphics system will be run on
direct framebuffer without X11, and is it stable to be used with such
libraries.




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



Re: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language

2020-01-16 Thread tbrunz
Hi Hilaire,

I would put it this way:  

Smalltalk is to other programming languages as electric cars are to other
vehicles.  I.e., superior in countless ways, and becoming the favored
technology as adoption increases.

Within the realm of Smalltalk varieties, Pharo is the sexy, popular leader,
just as within the realm of electric cars, Tesla is the sexy, popular
leader.

Or, "Smalltalk : Electric Cars :: Pharo : Tesla" to put it succinctly.

And to continue the metaphor (why not?), this makes Stef "our Elon Musk":
Creative, fearless, tireless, and dedicated to a vision that benefits
humanity.

The only question is, what will Stef send to Mars on a rocket?  (How about a
rover control system written in Pharo???)



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



Re: [Pharo-users] As promised, the sequel!

2020-01-16 Thread tbrunz
Exactly.  I gave you a suggestion for an article.  That's hardly plagiarism
by any definition.

Keep up the good work, Richard!  You're selflessly filling a real need, and
it's appreciated.

-t




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



Re: [Pharo-users] As promised, the sequel!

2020-01-16 Thread horrido
Getting an idea suggestion for an article is plagiarism???

I get ideas from all kinds of sources. From friends. From strangers. From
television and movies. Et cetera. There's no point in citing all of them.



xap wrote
> tbrunz, my comment above was to pander to my own selfish views of
> how-the-world-ought -to-work than for your benefit ;-)
> 
> My own druthers would have been to refer to this list and your comments in
> the para "Pharo is also extremely versatile which is well-explained in
> this
> article, “Smalltalk: It’s Not Your Grandparent’s Programming Language.”"
> 
> As it is -- to me -- it smacks vaguely of plagiarism, and is the sort of
> stunt that gets one expelled -- certainly, called up to the dean -- in an
> educational institution of any standing. I expect more inclusivity and
> grace
> from a community builder or evangelist.
> 
> But, that's me.
> 
> *shrug*
> 
> :)
> 
> 
> 
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html





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



Re: [Pharo-users] ByteArray for UDP datagram

2020-01-16 Thread Sven Van Caekenberghe



> On 16 Jan 2020, at 12:11, HilaireFernandes  wrote:
> 
> Thanks Sven, it works.
> 
> If understood correctly ByteArray on streaming only accept ByteArray.
> I wonder, should the string be terminated by a null byte, as exepcted on C?

That dependents on your protocol's definition/spec.

It is easy to add a null byte,

  stream nextPut: 0

In some protocols, strings are encoded with a byte length prefix.

> Hilaire
> 
> 
> 
> -
> http://drgeo.eu
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
> 




Re: [Pharo-users] Pharo Quality Rules for Beginners

2020-01-16 Thread Kasper Østerbye
On 16 January 2020 at 14.20.03, Ben Coman (b...@openinworld.com) wrote:

An error message like "Blah doesn't understand self" is a bit complex
for a beginner to decipher.

I would like to second this one!

If you want to have *beginners mode*, I think you need to include run-time
aspects as well as Ben mentions. It should be possible to put the general
doesNotUnderstand in a beginners mode, which checks for these cases

- messages send to nil, explaining what is the likely cause(s).

- the case mentioned by Ben

- check if the message is understood by the class or object (several have
mentioned the class/object side issue).

- check which classes implements the method which was sent, and perhaps
even suggest to open the implementers browser

Good luck with the project!

Best,

Kasper


Re: [Pharo-users] Pharo Quality Rules for Beginners

2020-01-16 Thread Ben Coman
On Wed, 15 Jan 2020 at 17:41, ESTEBAN VILLALOBOS DIAZ via Pharo-users
 wrote:
>
> Hello everyone!
>
> My name is Esteban and I will be working on the Pharo Quality Rules for the 
> next few months. The goal is to create different profiles for the rules 
> according to the programming experience of the user. For example, for the 
> beginner profile we would like to check for common mistakes made by people 
> who are just starting with Pharo like:
>
> Sending self as a message (probably because they forgot a . )
> Using False instead of false
> etc..
>
> I would appreciate it if you could share with me other common mistakes that 
> you have seen beginners do, or maybe tell me a bit of your own experience 
> when you started using Pharo :)

- Getting confused between instance-side and class-side, mixing up
which side methods are on.
When getting a DNU maybe check if that message is known on the class-side.

- leaving out the end of statement trailing dot.
An error message like "Blah doesn't understand self" is a bit complex
for a beginner to decipher.

cheers -ben



Re: [Pharo-users] ByteArray for UDP datagram

2020-01-16 Thread HilaireFernandes
Thanks Sven, it works.

If understood correctly ByteArray on streaming only accept ByteArray.
I wonder, should the string be terminated by a null byte, as exepcted on C?

Hilaire



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



Re: [Pharo-users] Pharo Quality Rules for Beginners

2020-01-16 Thread pmissech

Hello,

First, good luck ! That seems quite interesting !

Few things i can think of:

- message priority is often hard to understand, although I'm not sure 
how that could transform into a rule.


- I didn't see this one that often, but since we loose arithmetic 
priority for message one, I'm pretty sure that could bother some.


- miss use of the difference between 'SubclassResponsability' and 'self 
subclassResponsibility' (and other of this kind i guess, such as 
shouldNotImplement (I actually just found a very old one in my code :') )



Pierre


On 15/01/2020 10:41, ESTEBAN VILLALOBOS DIAZ via Pharo-users wrote:



Re: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language

2020-01-16 Thread HilaireFernandes
If correctly understood your article, Pharo is for programming language, what
Tesla is for car. Or more shortly Pharo is the Tesla of programming
language?



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



Re: [Pharo-users] Annonce Pharo-LibVLC

2020-01-16 Thread HilaireFernandes
It worked.

However when closing the windows, there is an error:

Processor yield.
false ] whileFalse: [  ] ] in MorphicUIManager>>spawnNewProcess in Block: [
[ WorldMorph doOneCycle
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self
value
[7f8b8c03b6e0] xcb_window window error: X server failure


Then quitting Pharo, there is VM crash
Segmentation fault Thu Jan 16 11:40:20 2020


/home/hilaire/Travaux/Developpement/Pharo/pharo-vm/lib/pharo/5.0-201902062351/pharo
Pharo VM version: 5.0-201902062351  Wed Feb  6 23:59:26 UTC 2019 gcc 4.8
[Production Spur 64-bit VM]
Built from: CoInterpreter VMMaker.oscog-eem.2509 uuid:
91e81f64-95de-4914-a960-8f842be3a194 Feb  6 2019
With: StackToRegisterMappingCogit VMMaker.oscog-eem.2509 uuid:
91e81f64-95de-4914-a960-8f842be3a194 Feb  6 2019
Revision: VM: 201902062351
https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Wed Feb 6
15:51:18 2019 CommitHash: a838346b Plugins: 201902062351
https://github.com/OpenSmalltalk/opensmalltalk-vm.git
Build host: Linux travis-job-f2b22483-7f84-414f-b833-69f69518c685
4.4.0-101-generic #124~14.04.1-Ubuntu SMP Fri Nov 10 19:05:36 UTC 2017
x86_64 x86_64 x86_64 GNU/Linux
plugin path:
/home/hilaire/Travaux/Developpement/Pharo/pharo-vm/lib/pharo/5.0-201902062351
[default:
/home/hilaire/Travaux/Developpement/Pharo/pharo-vm/lib/pharo/5.0-201902062351/]


C stack backtrace & registers:
rax 0x0001 rbx 0x7f8ba8026340 rcx 0x7f8ba562d5f0 rdx 0x
rdi 0x rsi 0x rbp 0x7f8bc682fd90 rsp 0x7f8bc682fb70
r8  0x7f8ba8034a30 r9  0x0001 r10 0x00a3 r11 0x7f8bc682fdc8
r12 0x7f8bc682fdc0 r13 0x7f8bc682fdbe r14 0x7f8bc682fdbf r15
0x7f8ba80264b8
rip 0x7f8ba586c861
*/usr/lib/x86_64-linux-gnu/vlc/plugins/demux/libmkv_plugin.so(+0x19861)[0x7f8ba586c861]
/home/hilaire/Travaux/Developpement/Pharo/pharo-vm/lib/pharo/5.0-201902062351/pharo[0x41b0b3]
/home/hilaire/Travaux/Developpement/Pharo/pharo-vm/lib/pharo/5.0-201902062351/pharo[0x41cb0e]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12890)[0x7f8bd441e890]
/usr/lib/x86_64-linux-gnu/vlc/plugins/demux/libmkv_plugin.so(+0x19861)[0x7f8ba586c861]
/usr/lib/x86_64-linux-gnu/vlc/plugins/demux/libmkv_plugin.so(+0x5c653)[0x7f8ba58af653]
/usr/lib/x86_64-linux-gnu/libvlccore.so(+0x67ecb)[0x7f8bca8abecb]
/usr/lib/x86_64-linux-gnu/libvlccore.so(+0x6b09f)[0x7f8bca8af09f]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76db)[0x7f8bd44136db]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x3f)[0x7f8bd413c88f]
[0x0]

Can't dump Smalltalk stack(s). Not in VM thread

Most recent primitives
compress:toByteArray:
compress:toByteArray:
compress:toByteArray:
compress:toByteArray:
compress:toByteArray:
../.. 



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



Re: [Pharo-users] Annonce Pharo-LibVLC

2020-01-16 Thread HilaireFernandes
It worked.

However when closing the windows, there is an error:

Processor yield.
false ] whileFalse: [  ] ] in MorphicUIManager>>spawnNewProcess in Block: [
[ WorldMorph doOneCycle
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self
value
[7f8b8c03b6e0] xcb_window window error: X server failure


Then quitting Pharo, there is VM crash
Segmentation fault Thu Jan 16 11:40:20 2020


/home/hilaire/Travaux/Developpement/Pharo/pharo-vm/lib/pharo/5.0-201902062351/pharo
Pharo VM version: 5.0-201902062351  Wed Feb  6 23:59:26 UTC 2019 gcc 4.8
[Production Spur 64-bit VM]
Built from: CoInterpreter VMMaker.oscog-eem.2509 uuid:
91e81f64-95de-4914-a960-8f842be3a194 Feb  6 2019
With: StackToRegisterMappingCogit VMMaker.oscog-eem.2509 uuid:
91e81f64-95de-4914-a960-8f842be3a194 Feb  6 2019
Revision: VM: 201902062351
https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Wed Feb 6
15:51:18 2019 CommitHash: a838346b Plugins: 201902062351
https://github.com/OpenSmalltalk/opensmalltalk-vm.git
Build host: Linux travis-job-f2b22483-7f84-414f-b833-69f69518c685
4.4.0-101-generic #124~14.04.1-Ubuntu SMP Fri Nov 10 19:05:36 UTC 2017
x86_64 x86_64 x86_64 GNU/Linux
plugin path:
/home/hilaire/Travaux/Developpement/Pharo/pharo-vm/lib/pharo/5.0-201902062351
[default:
/home/hilaire/Travaux/Developpement/Pharo/pharo-vm/lib/pharo/5.0-201902062351/]


C stack backtrace & registers:
rax 0x0001 rbx 0x7f8ba8026340 rcx 0x7f8ba562d5f0 rdx 0x
rdi 0x rsi 0x rbp 0x7f8bc682fd90 rsp 0x7f8bc682fb70
r8  0x7f8ba8034a30 r9  0x0001 r10 0x00a3 r11 0x7f8bc682fdc8
r12 0x7f8bc682fdc0 r13 0x7f8bc682fdbe r14 0x7f8bc682fdbf r15 
0x7f8ba80264b8
rip 0x7f8ba586c861
*/usr/lib/x86_64-linux-gnu/vlc/plugins/demux/libmkv_plugin.so(+0x19861)[0x7f8ba586c861]
/home/hilaire/Travaux/Developpement/Pharo/pharo-vm/lib/pharo/5.0-201902062351/pharo[0x41b0b3]
/home/hilaire/Travaux/Developpement/Pharo/pharo-vm/lib/pharo/5.0-201902062351/pharo[0x41cb0e]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12890)[0x7f8bd441e890]
/usr/lib/x86_64-linux-gnu/vlc/plugins/demux/libmkv_plugin.so(+0x19861)[0x7f8ba586c861]
/usr/lib/x86_64-linux-gnu/vlc/plugins/demux/libmkv_plugin.so(+0x5c653)[0x7f8ba58af653]
/usr/lib/x86_64-linux-gnu/libvlccore.so(+0x67ecb)[0x7f8bca8abecb]
/usr/lib/x86_64-linux-gnu/libvlccore.so(+0x6b09f)[0x7f8bca8af09f]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76db)[0x7f8bd44136db]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x3f)[0x7f8bd413c88f]
[0x0]

Can't dump Smalltalk stack(s). Not in VM thread

Most recent primitives
compress:toByteArray:
compress:toByteArray:
compress:toByteArray:
compress:toByteArray:
compress:toByteArray:
../..



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