Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
May 2018
- 79 participants
- 452 messages
Re: How to pretty print a dynamic array
by Davide Varvello
Thanks Ben, I'm gonna try
Cheers
Davide
Ben Coman wrote
> On 8 May 2018 at 04:22, Davide Varvello via Pharo-users <
> pharo-users@.pharo
>> wrote:
>
>>
>>
>> ---------- Forwarded message ----------
>> From: Davide Varvello <
> varvello@
> >
>> To:
> pharo-users@.pharo
>> Cc:
>> Bcc:
>> Date: Mon, 7 May 2018 13:22:58 -0700 (MST)
>> Subject: How to pretty print a dynamic array
>> Hi guys,
>> I have a dynamic array that the formatter put on a column like this:
>> {self meth1.
>> self meth2.
>> self meth3}
>>
>> instead I want it in a single row, like this:
>> {self meth1. self meth2. self meth3}
>>
>> But I can't find any settings to pretty print in the last way.
>> Can you help me, please?
>>
>
> Hi Davide,
>
> I'm not sure I can be much help since I never use the pretty printer and
> I'm not familiar with the system.
> There may be a setting for that, but if not and I wanted to find out about
> how to do it
> I'd take the shotgun approach....
>
> In System > Settings, search for "pretty" and the with some setting
> related
> to newLines,
> some line "New line After Cascade"
> then "Browse" it, then in the body of the method find that text again
> and look for senders attached selector.
>
> That brought me to " BIConfigurableFormatter >> visitCascadeNode: "
> and browsing that method in the System Browser shows a bundle of other
> "visitXXX" methods.
> Drop a "self haltOnce" in an interesting one and try to trigger when you
> pretty print.
> Trace through a few times to learn how it does its stuff, and see if you
> can change it to do what you want.
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
May 8, 2018
Re: [Pharo-users] How to LAN feature
by Sven Van Caekenberghe
> On 8 May 2018, at 15:05, Ben Coman <btc(a)openinworld.com> wrote:
>
>> Le 8 mai 2018 à 08:28, Henrik Sperre Johansen <henrik.s.johansen(a)veloxit.no> a écrit :
>>
>> HilaireFernandes wrote
>>> Computer should be on a same network, however not sure about swtich in
>>> between.
>>>
>>> Does UDP broadcast required particular privilege on the host?
>>>
>>> Thanks
>>>
>>> Hilaire
>>>
>>> Le 06/05/2018 à 13:31, Norbert Hartl a écrit :
>>>> If it is on a single network this should be doable by using UDP broadcast
>>>> announcements. The share server can announce some information and its IP
>>>> in a UDP packet being broadcasted. Every client receives that and then
>>>> knows the address of the server to connect to
>>>
>>> --
>>> Dr. Geo
>>> http://drgeo.eu
>>
>> No, but it does involve setting certain options on the socket, etc.
>> You could check if http://smalltalkhub.com/#!/~henriksp/SSDP is
>> appropriate/works for you.
>>
>> Cheers,
>> Henry
>>
>>
>>
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>
>
>
> On 8 May 2018 at 15:32, Cédrick Béler <cdrick65(a)gmail.com> wrote:
> Hi, FYI, Noury did this package (Network-Extra). I will test for my lecture. It has UDP Multicast/broadcast and may help for the discovery phase (Iâm interested in that either).
>
> He said that about it:
>
> - UDP support : mutlicast + broadcast
> - fragment a (large) data et assemble it over UDP
> -la possibilité de fragmenter une donnée trop grande et la reconstruire au-dessus d'UDP
>
> Gofer it
> smalltalkhubUser: 'CAR' project: 'ReusableBricks';
> configurationOf: 'ReusableBricks';
> loadBleedingEdge
>
> Hope this help,
>
> See you,
>
> Cédrick
>
> Ps: tell me if you use it.
>
>
> If we've got multicast support for Pharo, perhaps its not a long jump to implementing mDNS.
> Then the teacher could share out their machine as "teacher.local"
> to let student machines connect to it.
>
> https://www.trustwave.com/Resources/SpiderLabs-Blog/mDNS---Telling-the-worl…
>
> https://tools.ietf.org/html/rfc6762
> The most basic kind of Multicast DNS client may simply send standard
> DNS queries blindly to 224.0.0.251:5353, without necessarily even
> being aware of what a multicast address is. This change can
> typically be implemented with just a few lines of code in an existing
> DNS resolver library.
I am interested in this and will read a bit about it, if I find time.
> @Udo, did you ever find that mDNS package you lost?
> http://forum.world.st/Issue-with-UDP-Sockets-tp4827014p4827245.html
>
>
> mDNS would be an interesting facility to include in the main Pharo release image,
> perhaps making it very easy for our "live" systems to locate each other on a local network without external infrastructure.
>
>
> cheers -ben
May 8, 2018
Re: [Pharo-users] How to LAN feature
by Ben Coman
>
> Le 8 mai 2018 Ã 08:28, Henrik Sperre Johansen <
> henrik.s.johansen(a)veloxit.no> a écrit :
>
> HilaireFernandes wrote
>
> Computer should be on a same network, however not sure about swtich in
> between.
>
> Does UDP broadcast required particular privilege on the host?
>
> Thanks
>
> Hilaire
>
> Le 06/05/2018 à 13:31, Norbert Hartl a écrit :
>
> If it is on a single network this should be doable by using UDP broadcast
> announcements. The share server can announce some information and its IP
> in a UDP packet being broadcasted. Every client receives that and then
> knows the address of the server to connect to
>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
> No, but it does involve setting certain options on the socket, etc.
> You could check if http://smalltalkhub.com/#!/~henriksp/SSDP is
> appropriate/works for you.
>
> Cheers,
> Henry
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>
>
On 8 May 2018 at 15:32, Cédrick Béler <cdrick65(a)gmail.com> wrote:
> Hi, FYI, Noury did this package (Network-Extra). I will test for my
> lecture. It has UDP Multicast/broadcast and may help for the discovery
> phase (Iâm interested in that either).
>
> He said that about it:
>
> - UDP support : mutlicast + broadcast
> - fragment a (large) data et assemble it over UDP
> -la possibilité de fragmenter une donnée trop grande et la reconstruire
> au-dessus d'UDP
>
> Gofer it
> smalltalkhubUser: 'CAR' project: 'ReusableBricks';
> configurationOf: 'ReusableBricks';
> loadBleedingEdge
>
> Hope this help,
>
> See you,
>
> Cédrick
>
> Ps: tell me if you use it.
>
>
If we've got multicast support for Pharo, perhaps its not a long jump to
implementing mDNS.
Then the teacher could share out their machine as "teacher.local"
to let student machines connect to it.
https://www.trustwave.com/Resources/SpiderLabs-Blog/mDNS---Telling-the-worl…
https://tools.ietf.org/html/rfc6762
The most basic kind of Multicast DNS client may simply send standard
DNS queries blindly to 224.0.0.251:5353, without necessarily even
being aware of what a multicast address is. This change can
typically be implemented with just a few lines of code in an existing
DNS resolver library.
@Udo, did you ever find that mDNS package you lost?
http://forum.world.st/Issue-with-UDP-Sockets-tp4827014p4827245.html
mDNS would be an interesting facility to include in the main Pharo release
image,
perhaps making it very easy for our "live" systems to locate each other on
a local network without external infrastructure.
cheers -ben
May 8, 2018
Re: [Pharo-users] How to pretty print a dynamic array
by Ben Coman
On 8 May 2018 at 04:22, Davide Varvello via Pharo-users <
pharo-users(a)lists.pharo.org> wrote:
>
>
> ---------- Forwarded message ----------
> From: Davide Varvello <varvello(a)yahoo.com>
> To: pharo-users(a)lists.pharo.org
> Cc:
> Bcc:
> Date: Mon, 7 May 2018 13:22:58 -0700 (MST)
> Subject: How to pretty print a dynamic array
> Hi guys,
> I have a dynamic array that the formatter put on a column like this:
> {self meth1.
> self meth2.
> self meth3}
>
> instead I want it in a single row, like this:
> {self meth1. self meth2. self meth3}
>
> But I can't find any settings to pretty print in the last way.
> Can you help me, please?
>
Hi Davide,
I'm not sure I can be much help since I never use the pretty printer and
I'm not familiar with the system.
There may be a setting for that, but if not and I wanted to find out about
how to do it
I'd take the shotgun approach....
In System > Settings, search for "pretty" and the with some setting related
to newLines,
some line "New line After Cascade"
then "Browse" it, then in the body of the method find that text again
and look for senders attached selector.
That brought me to " BIConfigurableFormatter >> visitCascadeNode: "
and browsing that method in the System Browser shows a bundle of other
"visitXXX" methods.
Drop a "self haltOnce" in an interesting one and try to trigger when you
pretty print.
Trace through a few times to learn how it does its stuff, and see if you
can change it to do what you want.
May 8, 2018
Re: [Pharo-users] Personal Programming onPharo
by Dimitris Chloupis
correction I mean to say
"Pharo is far from perfect, if it was I would still be coding in it but
none the less, stability is definetly NOT one of its main problems."
On Tue, May 8, 2018 at 2:37 PM Dimitris Chloupis <kilon.alios(a)gmail.com>
wrote:
> On Mon, May 7, 2018 at 1:43 PM Trygve Reenskaug <trygver(a)ifi.uio.no>
> wrote:
>
>> Please tell me when Java, C, C++, etc programs stopped working because
>> their runtime systems had changed.
>> Please tell me when Java, C, C++, etc compilers stopped compiling old
>> code because the languages had changed.
>>
>
> 1) C and C++ do not have runtime systems, only Java has. The closest to C
> with a runtime system is C# that has .NET.
> 2) Pharo does not have a runtime system, it has a live coding enviroment
> which goes far beyond the demands of a runtime system which is usually
> compiler + intepreter + VM + standard library.
> 3) Pharo language changes even less often than C/C++ and Java. Even though
> C/C++ and Java are too afraid to change because of the panic they will
> cause to millions of developers too busy maintaining ugly highly unstable
> code that those languages are so prone at. Pharo language changes even less
> mainly because its far less minimal , you only need 6 lines of code to
> describe the entire syntax the rest is implemented as libraries which also
> rarely change as well.
>
> 99.9% of Pharo issues/bugs are IDE related or some advanced software
> development tool and new library that goes far beyond the scope of the
> language and its "standard" library.
>
> So technically speaking if we were to compared Pharo with C/C++ and Java
> on equal grounds as languages , plus stanard library , plus vm etc , Pharo
> is stellar they are a big pile of mess which is rapidly replaced by dynamic
> languages.
>
> It was just 2 decades ago when C++ was the undisputed king of software
> development and using another language besides VB was seen as nothing less
> than insane. Nowdays people have long abandoned ship and VB is seen as
> nothing more than an abomination.
>
> Its ironic you mentioned Java because Java exist for one thing and one
> thing only , to kill C++. Did not manage to succeed but it did manage to
> steal away half of the developers on the premise alone that Java is far
> less likely to create unstable code than C/C++.
>
> The irony of course did not stop there and pretty much every modern
> dynamic language (modern static languages are an extremely rare breed in
> comparison) use the same argument or far more stable , much easier to debug
> and maintaine code.
>
> I have coded in Pharo for 6 years and nowdays I daily deal with C++
> (mainly because of graphics code through OpenGL, Cuda etc) and I can tell
> you stability wise there is not even a comparison. Sure the language and
> its library can be stable but what use is that to me when the code is so
> prone to creating a ton of problem I have to ellude with the acrobatic
> skills of spiderman ?
>
> Pharo is far from perfect, if it was I would still be coding in it but
> none the less, stability it definetly one of its main problems. Everything
> crash and burns at some point and frankly Pharo does it far more elegantly
> than any other language I have ever used and far less so.
>
May 8, 2018
Re: [Pharo-users] Personal Programming onPharo
by Dimitris Chloupis
On Mon, May 7, 2018 at 1:43 PM Trygve Reenskaug <trygver(a)ifi.uio.no> wrote:
> Please tell me when Java, C, C++, etc programs stopped working because
> their runtime systems had changed.
> Please tell me when Java, C, C++, etc compilers stopped compiling old code
> because the languages had changed.
>
1) C and C++ do not have runtime systems, only Java has. The closest to C
with a runtime system is C# that has .NET.
2) Pharo does not have a runtime system, it has a live coding enviroment
which goes far beyond the demands of a runtime system which is usually
compiler + intepreter + VM + standard library.
3) Pharo language changes even less often than C/C++ and Java. Even though
C/C++ and Java are too afraid to change because of the panic they will
cause to millions of developers too busy maintaining ugly highly unstable
code that those languages are so prone at. Pharo language changes even less
mainly because its far less minimal , you only need 6 lines of code to
describe the entire syntax the rest is implemented as libraries which also
rarely change as well.
99.9% of Pharo issues/bugs are IDE related or some advanced software
development tool and new library that goes far beyond the scope of the
language and its "standard" library.
So technically speaking if we were to compared Pharo with C/C++ and Java on
equal grounds as languages , plus stanard library , plus vm etc , Pharo is
stellar they are a big pile of mess which is rapidly replaced by dynamic
languages.
It was just 2 decades ago when C++ was the undisputed king of software
development and using another language besides VB was seen as nothing less
than insane. Nowdays people have long abandoned ship and VB is seen as
nothing more than an abomination.
Its ironic you mentioned Java because Java exist for one thing and one
thing only , to kill C++. Did not manage to succeed but it did manage to
steal away half of the developers on the premise alone that Java is far
less likely to create unstable code than C/C++.
The irony of course did not stop there and pretty much every modern dynamic
language (modern static languages are an extremely rare breed in
comparison) use the same argument or far more stable , much easier to debug
and maintaine code.
I have coded in Pharo for 6 years and nowdays I daily deal with C++ (mainly
because of graphics code through OpenGL, Cuda etc) and I can tell you
stability wise there is not even a comparison. Sure the language and its
library can be stable but what use is that to me when the code is so prone
to creating a ton of problem I have to ellude with the acrobatic skills of
spiderman ?
Pharo is far from perfect, if it was I would still be coding in it but none
the less, stability it definetly one of its main problems. Everything crash
and burns at some point and frankly Pharo does it far more elegantly than
any other language I have ever used and far less so.
May 8, 2018
Re: [Pharo-users] customizing red screen of death
by H. Hirzel
>From and end user perspective the icon is nicer. From a developer
perspective it is better to see the code.
--Hannes
On 5/8/18, Peter Uhnák <i.uhnak(a)gmail.com> wrote:
> Hi,
>
> has anyone played around with customizing the red screen of death
> (=morphic/athens drawing error)?
>
>
>
>
> Perhaps to show something similar to what chrome shows on a tab crash
>
>
>
>
> Thanks,
> Peter
>
May 8, 2018
customizing red screen of death
by Peter Uhnák
Hi,
has anyone played around with customizing the red screen of death
(=morphic/athens drawing error)?
Perhaps to show something similar to what chrome shows on a tab crash
Thanks,
Peter
May 8, 2018
Re: [Pharo-users] Personal Programming onPharo
by Tudor Girba
Hi,
First, I concur with what Norbert said.
@Trygve: Could you describe what you would need in more details?
Cheers,
Doru
> On May 8, 2018, at 9:57 AM, Norbert Hartl <norbert(a)hartl.name> wrote:
>
>
>
>> Am 08.05.2018 um 08:30 schrieb Trygve Reenskaug <trygver(a)ifi.uio.no>:
>>
>> Norbert,
>> I stand corrected because I have not followed the mainstream languages as well as I probably should. Thank you for your candid answer, it clearly outlines what I can and cannot expect from Pharo and any other ST project.
>>
> Ok, I didnât want to sound too harsh but for me there is no benefit in telling something which is not true. And as a member of such community you get sometimes allergic to things that sound negative because that happens far too often. What I said about not upgrading is the thing we suffer from. While you find it that squeak has moved too fast we consider it that it didnât move enough. That is why a lot of the sub-systems need to be replaced and that causes instability. For me the stability is outstanding if I look what is changed all the time. But that is another perspective. For a user of the platform it is simply annoying. We know that but not moving is not option for us so thatâs why I say that frankly. And sadly the only thing that can compensate side-effects due to changes is to put a lot of man power onto it. The programming/software world has not much too say about how change should be done.
>
>> I go back to Alan Kay's vision of a Dynabook: A personal computer for children of all ages. It should contain all its owner's personaldata, including his or her personal programs, as they evolve through the years. Continuity is a must; the owner shall never loose data.
>>
> We are onto it. If you look at the way we can work, model inspect etc. it is still an wonderful tool. And it is getting better every day while breaking things here and there. I can only repeat what I said earlier. The part of your IDE that copes with language details might break the least because that is the most stable part of the pharo system. But all of the UI system will be replaced in a non-compatible way. Morphic is great but it has grown into a hugly monster. And in this century you might not survive having bitmap based graphics. It might still make perfect sense to you. Because there will be some effort put into the ability to load it into pharo at wish. But I would suspect it wonât change much from there.
> But it cannot stay because to old-fashioned and not changeable. Maybe it is missing in the Dynabook vision that is not likely that children born after 2000 still wonât too use a graphical interface designed in the 70s being unchanged. But Iâm not sure if the Dynabook vision was supposed to be realized some day or just a vehicle to complain about everything.
>
>> Again, thank you for your answers. They have given invaluable contributions to my thinking.
>
> I would have liked to say something more encouraging but â¦.
>
> Norbert
>
>> --Trygve.
>>
>>
>> On 07.05.2018 14:14, Norbert Hartl wrote:
>>>
>>>> Am 07.05.2018 um 12:42 schrieb Trygve Reenskaug <trygver(a)ifi.uio.no>:
>>>>
>>>> Please tell me when Java, C, C++, etc programs stopped working because their runtime systems had changed.
>>>> Please tell me when Java, C, C++, etc compilers stopped compiling old code because the languages had changed.
>>>>
>>> If we talk about C/C++ the runtime is the operating system. Everytime I update it the linked libraries are suspect to be invalid from then. If you have in the same system update a new version of the C compiler you are doomed. You cannot link your binary with the new libs. And the new C compiler quirks about your code. So what you have then? Staying on an old C language standard? Statically link everything. Ah no that wonât work because you would have to care about all your dependencies being compilable with the new compiler. But you donât update the compiler meaning you donât update the operating system. It is the same as staying on pharo 3.
>>>
>>> For Java the situation is slightly different because if you use new programming language features you can only do when switching the compiler to the new standard. There is a lot of effort that went into making the java vm recognize the language version and execute regarding that making version compatible. We are in sync here. I told you it is about manpower. Do you know how much manpower it needed and how long it took to add something like closures to the java language? Do you consider java closure to be en par with other languages?
>>>
>>> We are sorry not everything is to your liking. It is not even to our own liking because we have dreams far beyond. But we will never get there if we donât take the effort. And the point of open source (did I mention pharo is open source?? ) is that the ones that do it decide what to do. Nuff said!
>>>
>>> Norbert
>>>
>>>> On 07.05.2018 11:57, Norbert Hartl wrote:
>>>>> I understand what you are saying but it contains some misconceptions about the modern software world.
>>>>>
>>>>> âThe earth is not stopping to turn just because you want to stay on the sunny sideâ
>>>>>
>>>>> There is two funny concepts going on in the modern software industry. The one tells you that because you want to do a product everything else around you should come to a full stop so can comfortably build your software not disturbed by other things. The second one tells you that you _have to upgrade_ ⦠there is this magical force preventing you from staying where you are. Both notions are funny alone but they come combined and then they turn out to be a non-sensical monster.
>>>>>
>>>>> Letâs take a different approach. Put in everything you say about software, libraries, etc the word version. So you can build upon Pharo version 3 your own product. You can stay at that version and it wonât change. If the software you sell is not 80% pharo but your own you should not have a problem just to stay on that version because you develop your own stuff. But still the world did not stop turning and there is pharo 4. You decide there are a few nice features but the work to adjust is too big to take the risk. Then there is pharo 5 and you ⦠nahhh not this timeâ¦.Then there is pharo6 and they not only changed the image but also the way source code is managed. That prevents you further from adjusting. But hey you can still be happy with pharo3 and it does not change.
>>>>>
>>>>> So what is the real problem? Yes, money/time is not enough. I think there are a lot of people risking their health to promote pharo and now we have a consortium that can pay engineers to do work on pharo. So let me tell you a future story:
>>>>>
>>>>> You see what pharo is doing and you think it is good. You can also see that there are too less resources to proceed in the way you need it to go. So you decide to show pharo to the world inspiring people with some kind of a vision. The result is that more people pay into the consortium and we hire more engineers. And then one day the consortium has enough money to pay engineers that can care about a LTS (long term support) version of pharo. So you can stay on pharo version 3 and still get those annoying bugs fixed. And hey this team has also enough time to provide you with tools that make a migration to pharo version 4 more easy and less annoying for you. And then you have your own product based on pharo version 4. And then for version 5, version 6,â¦. Sounds like a dreamâ¦but heyâ¦it is indeed realistic. It just depends on how the people approach it
>>>>>
>>>>> How does this sound?
>>>>>
>>>>> Norbert
>>>>>
>>>>>> Am 07.05.2018 um 11:31 schrieb Trygve Reenskaug <trygver(a)ifi.uio.no>:
>>>>>>
>>>>>> Thanks for your quick answer. I have only a fleeting knowledge of Pharo but liked what I saw. The Squeak class library has seen organic growth since 1978 or earlier. Pharo gave it a thorough overhaul. At the Pharo kernel was a minimal image with a minimal class library. The rest of the functionality was partitioned into packages that could be added to the kernel image as required. Beautiful. But only my dream?
>>>>>> Matthew 7:24-27: And the rain fell, and the floods came, and the winds blew and beat on that house, but it did not fall, because it had been founded on the rock. And everyone who hears these words of mine and does not do them will be like a foolish man who built his house on the sand."
>>>>>> I am developing an IDE for non-programmers called BabyIDE, a non-intrusive extension of Squeak. Where the Class Browser in Squeak is used to work with one class at the time, the BabyIDE browser is used to work with structures of collaborating objects, ignoring their classes. I would like to develop a BabyIDE image that gets broad usage and long life. I'm looking for a rock to build on and hoped it could be what I thought was the Pharo kernel+ a few selected packages. In your answer, I read that if I build BabyIDE on Pharo, I will be building on sand.
>>>>>>
>>>>>> pharo.org writes: "Pharo is a pure object-oriented programming language...". The only language I can see is defined by the release image. A Pharo programmer builds application programs in this language. He or she can add new classes, change existing ones, subclass them, add or change methods, change the Smalltalk dictionary, etc. etc. An extremely flexible and powerful language.
>>>>>>
>>>>>> A tale from the future when Pharo is a mainstream language: Business customers benefit from end users using applications that are written by Pharo programmers who built on the Pharo language and environment that had been developed by the Pharo community. One day there is a happy announcement: A new version of Pharo will be launched tomorrow. It is truly cool and includes any number of improvements, some of them documented. And, by the way, applications written in the current Pharo will no longer work. So please inform your customers that you will not be able to serve them for a while. We are confident that all your application programmers will be happy to drop whatever they are doing in order to adapt their applications to the new Pharo so that you can start serving your customers again.
>>>>>>
>>>>>> Cheers
>>>>>> --Trygve
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 06.05.2018 13:00, Norbert Hartl wrote:
>>>>>>> Can you elaborate on what you consider as a kernel? There are always things moving in the pharo world. The last years the virtual machine got some iterations and it is still not fully stable. For pharo it is hard to have it stable because we feel the need that a lot of the existing parts need to be replaced to be useful in these times. Furthermore pharo is also prototyping platform for programming language features. All of these are counter-stability measures. So if you need a stable kernel from native ground up to UI pharo wonât be that thing you are looking for the coming years (if at all). You always need to adopt to change so you need to define your required scope better in order to get an estimate.
>>>>>>>
>>>>>>> Norbert
>>>>>>>
>>>>>>> Am 06.05.2018 um 11:31 schrieb Trygve Reenskaug <trygver(a)ifi.uio.no>:
>>>>>>>
>>>>>>>> I'm working on a programing paradigm and IDE for the personal programmer who wants to control his or her IoT. The size of the target audience I have in mind is >100 million. I gave up Squeak long ago as a platform because they obsolete my code faster than I can write it. I have now frozen Squeak 3.10.2 and hope its runtime will survive until I find a better foundation. My hope is that Pharo has a stable kernel that I can build on. According to Stephan, this is not so. Is there any plan for creating a stable Pharo kernel that people can use for building software of lasting value for millions of non-expert users?
>>>>>>>> --Thanks, Trygve
>>>>>>>>
>>>>>>>> On 05.05.2018 13:53, Stephan Eggermont wrote:
>>>>>>>>> Iâve taken a look at what would be needed to
>>>>>>>>> support magma on pharo a few years ago. Chris always told us he uses it
>>>>>>>>> professionally on squeak and
>>>>>>>>> has not enough capacity to keep up with
>>>>>>>>> changes in pharo without having a customer/maintainer for it.
>>>>>>>>> Twice a year
>>>>>>>>> or so someone asks about magma on pharo and takes a look. AFAIK there are
>>>>>>>>> no real obstacles to a port, but magma uses a lot of deep implementation
>>>>>>>>> specifics that will take an experienced smalltalker to deal with, and a lot
>>>>>>>>> of mailing list archeology as pharo changed a lot since magma worked on
>>>>>>>>> pharo last
>>>>>>>>>
>>>>>>>>> Stephan
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>> --
>> The essence of object orientation is that objects collaborate to achieve a goal.
>> Trygve Reenskaug mailto: trygver(a)ifi.uio.no
>> Morgedalsvn. 5A http://folk.uio.no/trygver/
>> N-0378 Oslo http://fullOO.info
>> Norway Tel: (+47) 22 49 57 27
>
--
www.tudorgirba.com
www.feenk.com
"Obvious things are difficult to teach."
May 8, 2018
Re: [Pharo-users] Showcasing Pharo, Roassal and Grafoscopio at re:publica 2018
by Offray Vladimir Luna Cárdenas
Hi Phil,
On 06/05/18 07:30, phil(a)highoctane.be wrote:
> Hi Offray,
>
> On Sun, May 6, 2018 at 1:47 PM, Offray Vladimir Luna Cárdenas
> <offray.luna(a)mutabit.com <mailto:offray.luna@mutabit.com>> wrote:
>
> Hi Phil,
>
>
> On 27/04/18 03:02, phil(a)highoctane.be <mailto:phil@highoctane.be>
> wrote:
>>
>> On Thu, Apr 26, 2018 at 3:57 PM, Offray Vladimir Luna Cárdenas
>> <offray.luna(a)mutabit.com <mailto:offray.luna@mutabit.com>> wrote:
>>
>> Hi,
>>
>> I will be showcasing Pharo, Roassal and Grafoscopio at
>> re:publica 2018,
>> next week. As you may know, re:publica[2] is one of the most
>> important
>> and visible media & digital culture conventions in Europe and
>> is a good
>> scenario for the Pharo community. You can find details about my
>> participation at [1]
>>
>>
>> The "on how to use the Grafoscopio /pocket infrastructure/ for
>> data activism and digital citizenship " soundbite just blew my mind.
>>
>> "Pocket Infrastructure" hits the nail on the head for sure.Â
>> I positively love that angle.Â
>> Compared to python, node, etc, there is much less fuss to get
>> started and it allows to focus on the data narrative right away.
>>
>> I regularly make folders in my Dropbox where I throw a pharo vm
>> and a pharo image I work on, saved
>> using https://github.com/Pharophile/HOImageSaver
>> <https://github.com/Pharophile/HOImageSaver> so that I can always
>> go back in time easily (saved me more than once!). This very
>> handy for working on machine A, and resuming work on machine B,
>> or C etc.
>> And is indeed "Pocket Infrastructure".
>>
>
> I think that pocket infrastructures are a powerful concept for
> inclusion and participation, specially in the times of fancy
> exclusionary "Big Data" and "Artificial Intelligence" buzzwords
> and discourses that don't take into account who becomes data of
> who, who will have the access, storage and processing capability
> in those forecast futures. In contrast Pocket Infrastructures are
> inclusive by default, being self-contained, simple and working
> well in on/off line contexts.
>
>
> As I am busy in that space with Hadoop / TensorFlow / ..., yes there
> is a tendency to have kind of "high priests of data" showing up.
> This is isolating the common folk instead of empowering them. I am
> fighting that tendency in the projects because the technology can be
> approachable.
>
Well, now we are two of us. In general the Smalltalk tradition of
fighting against incidental complexity and the needs of broader
communities of being empowered by code+data will bring more people
interested that is already active on those concerns.
>
> Pharo, in the live coding environment front and Fossil, in the
> DVCS front, work pretty well for that working definition of Pocket
> Infrastructures. Is impressive that just under 50 Mb anyone can
> have a Jupyter+GitHub alike environment for data storytelling,
> visualization and reproducible research that just run in their
> pockets and low end machines (and of course, big server and
> anything in between). We tried before with IPython notebook and
> other more complex stuff and we were dealing with external
> complexities instead of going right into story telling + coding +
> data viz. Of course, Jupyter and GitHub are a lot more popular
> that Grafoscopio + Fossil, but they're also traveling the most
> traverse path, while I think that a lot of valuable innovation
> comes, by definition, from the margins and that can give Pharo
> ecosystem an advantage point over other more popular approaches,
> as practice have demonstrated time and again.
>
>
> As a Jupyter user, yes, I can relate. Jupyter is easy once you have it
> installed (like installing Anaconda distribution and typing "jupyter
> notebook" on the command line. But that is already a high bar for non
> technical people.
As a former regular user of IPython Notebook (before it morphed to
Jupyter), my issues go beyond installation and are more related with
moldability and the possibility to adapt the tool taking into account
its users and contexts, hopefully by such users in such context. In the
end, each Jupyter notebooks provides a RELP "linear metaphor" for
documents and in that case you have two options, which I don't think are
the best for exploratory computing, start to split your document into
several notebooks (losing panoramic view) or ending with long scrolls,
losing detail[1][2]. The best, for such exploratory documents, would be
to combine the outliner metaphor of Leo/OrgMode with the interactivity
of IPython[3], but in that endeavor you end fighting with a lot of
incidental complexity that Pharo doesn't have[4], because of the way
liveness, simplicity and adaptability are embedded into the tool and
culture. In that way, Grafoscopio notebooks can contain simple notes or
full books [4a][4b]
[1] http://mutabit.com/repos.fossil/piamed/artifact/d8762d656bcbf480
[2]
http://mutabit.com/repos.fossil/piamed/doc/tip/linea-base-aras-iecas.html
[3]
http://mutabit.com/offray/static/blog/output/posts/on-deepness-and-complexi…
[4]
http://mutabit.com/offray/static/blog/output/posts/grafoscopio-idea-and-ini…
[4a]
http://mutabit.com/repos.fossil/grafoscopio/dir?ci=28ec1bf0c1ab3c71&name=Do…
[4b] http://mutabit.com/repos.fossil/mapeda/
Even with JupyterLab and the phospore.js[5] that improves on
extensibility, you still need to deal with a lot of friction in the
development experience. I would say that Grafoscopio and JupyterLab are
following inverse paths (and in that way one is the future of the
other): Grafoscopio started from the Pharo Interactive Development
Environment and is trying to bring interactive notebooks documentation
capabilities to such environment, while Jupyter started with interactive
notebooks and is trying to become a full IDE [7][7a]. Grafoscopio will
learn a lot by increasing languages support, and JupyterLab is dealing
with development needs and customized workflows.
[5] https://github.com/jupyterlab/jupyterlab
[6]
https://medium.com/@brianray_7981/jupyterlab-first-impressions-e6d70d8a175d
[7] https://youtu.be/Ejh0ftSjk6g?t=253
[7a] https://youtu.be/Ejh0ftSjk6g?t=329
>
> I am very interested in Grafoscopio to work out proof of concepts in
> Pharo, so that I can have a nice narrative structure.
> Coupled with gtExample and specific inspector presentations, this is a
> terrific thing.
I usually start from a notebook. There I put notes, problem
descriptions, future working playgrounds where I launch the debugger. Is
a really good experience and with your your proposed bug fix for the
annoying UI bug is even getting better. It was the kind of experience I
would like to have with Jupyter+Leo+Python, but now empowered by Pharo
:-). Let me know how it works for you.
>
> My current project involved a Glorp component and I'd like to showcase
> transactions within a Grafoscopio notebook.
>
> I'll tell you how it goes :-)
I'm really curious. Keep us informed. :-).
>
> Fossil is indeed a great vehicle for code and assets. Fossil and
> SQLite, great stuff.
>
> Phil
Yes, good combination, even for the released open data of the biggest
leak in journalism history, the Panama Papers, SQLite+Fossil+Pharo[8]
worked pretty well. I think that there is a lot of unseen potential in
such simple but powerful systems in all these places where people is
just using popular "big data" stuff and we need to think in the "last
mile" infrastructure to connect people with data. There the Pocket
Infrastructures have a lot to offer and we can pioneer the path.
[8] http://mutabit.com/offray/blog/en/entry/panama-papers-1
Cheers,
Offray
May 8, 2018