Re: [Pharo-users] As promised, the sequel!
"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?
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
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?
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?
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
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!
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!
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
> 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
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
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
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
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
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
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
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