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: [Pharo-users] How to LAN feature
by Norbert Hartl
That is mDNS being used. Bonjour is the MacOS service and Avahi the linux one.
Norbert
> Am 09.05.2018 um 02:25 schrieb Julián Maestri <serpi90(a)gmail.com>:
>
> You could also publish on a zeroconf service (Bonjour/Avahi) https://en.wikipedia.org/wiki/Zero-configuration_networking
>
>> On 8 May 2018 at 11:22, Henrik Sperre Johansen <henrik.s.johansen(a)veloxit.no> wrote:
>> Ben Coman wrote
>> > 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
>>
>> mDNS and SSDP are pretty much interchangeable, implementation wise ;)
>>
>> The main problem; most computers these days come with multiple networking
>> interfaces, and are usually connected to separate subnets.
>> So when you connect a socket to the broadcast address, you have no idea
>> which interface it will actually send the request over, and whether you can
>> communicate with other entities is sort if hit or miss.
>>
>> Pharos netresolver is blissfully unaware/unable to tell you which interfaces
>> are available,
>> most of the work in the SSDP implementation went into trying to detect all
>> the different ones (impossible without the added networking prims, and still
>> unreliable whether it will find the correct ones with...), and bind:'ing a
>> socket to each specifically.
>>
>> IIRC, the default server/client instantiation exemplified in class comments
>> now simply binds to 0:0:0:0 and hopes the default interface is what you
>> wanted, SSDPServer>>onAllInterfacesOfferServiceType:atLocation: runs
>> through the more extensive setup.
>>
>> Cheers,
>> Henry
>>
>> P.S. In second place; a listener loop capable of error handling a spotty
>> wifi connection/machine sleep cycles...
>>
>>
>>
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>
>
May 9, 2018
Re: [Pharo-users] How to LAN feature
by Julián Maestri
You could also publish on a zeroconf service (Bonjour/Avahi)
https://en.wikipedia.org/wiki/Zero-configuration_networking
On 8 May 2018 at 11:22, Henrik Sperre Johansen <henrik.s.johansen(a)veloxit.no
> wrote:
> Ben Coman wrote
> > 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
>
> mDNS and SSDP are pretty much interchangeable, implementation wise ;)
>
> The main problem; most computers these days come with multiple networking
> interfaces, and are usually connected to separate subnets.
> So when you connect a socket to the broadcast address, you have no idea
> which interface it will actually send the request over, and whether you can
> communicate with other entities is sort if hit or miss.
>
> Pharos netresolver is blissfully unaware/unable to tell you which
> interfaces
> are available,
> most of the work in the SSDP implementation went into trying to detect all
> the different ones (impossible without the added networking prims, and
> still
> unreliable whether it will find the correct ones with...), and bind:'ing a
> socket to each specifically.
>
> IIRC, the default server/client instantiation exemplified in class comments
> now simply binds to 0:0:0:0 and hopes the default interface is what you
> wanted, SSDPServer>>onAllInterfacesOfferServiceType:atLocation: runs
> through the more extensive setup.
>
> Cheers,
> Henry
>
> P.S. In second place; a listener loop capable of error handling a spotty
> wifi connection/machine sleep cycles...
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>
May 9, 2018
Re: Package extension. Adding instance variables to classes
by Alidra Abdelghani
Hi Pavel,
Thank you for your answer.
I actually didnât know about this mechanism.
I think it is will do the job :)
I have probably to rewrite some parts pf my code to access my variables through privateState. no?
Thanks again
Abdelghani
> On 07 May 2018, at 13:15, pharo-users-request(a)lists.pharo.org wrote:
>
>
> Message: 1
> Date: Mon, 7 May 2018 13:43:56 +0200
> From: Pavel Krivanek <pavel.krivanek(a)gmail.com <mailto:pavel.krivanek@gmail.com>>
> To: Any question about pharo is welcome <pharo-users(a)lists.pharo.org <mailto:pharo-users@lists.pharo.org>>
> Subject: Re: [Pharo-users] Package extension. Adding instance
> variables to classes
> Message-ID:
> <CAHN2FzeMiBL4Y8asJ0XCjS2AQdxycoN+pbc+Hsd=trMnmuiJqw(a)mail.gmail.com <mailto:CAHN2FzeMiBL4Y8asJ0XCjS2AQdxycoN+pbc+Hsd=trMnmuiJqw@mail.gmail.com>>
> Content-Type: text/plain; charset="utf-8"
>
> 2018-05-07 12:25 GMT+02:00 Alidra Abdelghani via Pharo-users <
> pharo-users(a)lists.pharo.org <mailto:pharo-users@lists.pharo.org>>:
>
>>
>>
>> ---------- P?eposlan? zpr?va ----------
>> From: Alidra Abdelghani <alidrandco(a)yahoo.fr <mailto:alidrandco@yahoo.fr>>
>> To: pharo-users(a)lists.pharo.org <mailto:pharo-users@lists.pharo.org>
>> Cc:
>> Bcc:
>> Date: Mon, 7 May 2018 11:25:49 +0100
>> Subject: Package extension. Adding instance variables to classes
>> Hi,
>>
>> I am working on a package named ClassNamesAnalyzer and I need to add code
>> to third party classes in other packages (for instance the FAMIX-Core
>> package).
>> ?Extending? third party classes with methods is easy; I just need to
>> categorise my methods under the *ClassNamesAnalyzer protocole so that
>> loading my package will load them in the image.
>> However, if I want to add instance variables to theses classes, they are
>> not there when I load the package in a new image.
>>
>> *So my question is* : is there a way to include instance variables
>> addition to other packages in my package?
>>
>
> Currently not, you should use privateState
>
>
>> *Another question is* : is it good practice to add instance variables to
>> classes in third party packages and is there a way to avoid it (because I
>> am not very confortable with that idea)?
>>
>
> It is not, see FAMIXContainerEntity>>#definedAnnotationTypes how this issue
> is currently being solved using the privateState.
>
> Cheers,
> -- Pavel
>
>
>>
>> Thanks in advance,
>> Abdelghani
May 9, 2018
Re: [Pharo-users] #ast vs. #parseTree
by Richard O'Keefe
First, my message was *defending* most of the short names
that someone else was attacking. For the record, I am
*far* more worried about the fragility of typical Smalltalk
code than I am about method names, which are generally
pretty good.
Second, the criterion was implicit but fairly clear:
if an abbreviation of any kind is sufficiently common
that someone who wants the semantics will recognise the
identifier, use it. "ulp" is MORE familiar to people
who need it than "unitOfLeastPrecision" (spit), so it is
a better name. In the same way, HTTP is a *better* name
than HyperTextWhatever (amongst other things because the
word is Hypertext, so HyperText violates a Smalltalk style
rule that says internal capitals at *word* boundaries)
because it is familiar and takes less effort to recognise
than the fully spelled out thing.
Third, the rule as always is "intention-revealing names".
(Another Smalltalk style rule that I did not invent.)
#onDNU:do: is a confusing name because when I saw it I
expected the first argument to be a signalled exception,
not a selector. There is nothing wrong with the DNU bit;
if you know you want to catch a DNU you are probably
familiar with "DNU" (and don't want to fuss with whether
it means Does Not Understand or Did Not Understand).
As a particular example from the list, #log or
#logarithm are both ambiguous, while #ln is NOT
ambiguous (in the context of numbers), making it a
better name,
Finally, the significant point was not where I live
(about 1/1600 of the world's population live here)
but when I went to primary school, which was somewhat
more than 50 years ago. Twenty years before that,
children learned how to calculate square roots by hand.
(Cue Four Yorkshiremen. :-))
On 8 May 2018 at 20:00, Norbert Hartl <norbert(a)hartl.name> wrote:
>
>
> Am 08.05.2018 um 05:15 schrieb Richard O'Keefe <raoknz(a)gmail.com>:
>
> #gcd:
> #lcm:
>
> These come from elementary (primary school in my day) mathematics. They
> are the standard names.
>
>
> You mean where you live? That excludes 90% and more of the world. So when
> is a abbreviation ok again?
>
> Norbert
>
>
May 9, 2018
Re: [Pharo-users] Personal Programming onPharo
by H. Hirzel
On 5/6/18, Trygve Reenskaug <trygver(a)ifi.uio.no> wrote:
> 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.
Hello Tryge
Good to see that you reconsider to use Smalltalk in 2018, this time Pharo.
Am I assuming correctly that you want to continue to work on your IDE
which the supports the DCI (Data-Context-Interaction) programming
style [1]? The IDE was called "BabyIDE" [2].
In 2015 you wrote to the Squeak mailing list that you are abandoning
Squeak (Squeak 3.8, 4.5 or 4.6 at that time and Smalltalk as a whole)
in favour of JavaScript, a mainstream language. That you now at least
reconsider to use Smalltalk (Pharo) is an interesting result as it
reinforces the idea that doing things the Smalltalk way is more
promising than going for JavaScript directly [6].
As for loading the BabyIDE into Squeak: It is noteworthy that after 10
years (done around Squeak version 3.8) of maintaining a fork the
Squeakland (Etoys) image has been merged back into Squeak 6.0a trunk.
[5]
I could actually load some of your tools last year into Squeak 6.0a
with very modest fixes last year. [2].
It seems that splitting your IDE enhancements into different parts
which can be treated independently will probably help.
And in addition helpful would be IMHO to write HOW you construct
these tools and WHY you do it. These will help people to maintain your
code even if the underlying system changes.
It seems worthwhile to try out how it goes with the most recent Squeak
version, Squeak 6.0a trunk [8].
Another option is to wait a few months and look for the bootstrap
version of Pharo 7.
All the code is in readable format on github and various types of
image files may be built build from it [7].
And the third option is to check out if Cuis (the third Smalltalk
which runs on the OpenSmalltalk [3] VM) suits your needs. [4]
Kind regards
Hannes Hirzel
-------------------
[1] Data-Context-Interaction http://wiki.squeak.org/squeak/6048
[2] BabySRE http://wiki.squeak.org/squeak/2550
[3] http://www.opensmalltalk.org/
[4] Cuis Smalltalk
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev ; there is a Cuis
mailing list.
[5] Etoys in 2017 http://wiki.squeak.org/squeak/6531
[6] Of course these days JavaScript cannot be avoided. But it is
preferable to generate it with a Smalltalk tool.
[7] The file format used in Pharo 7 is called Tonel (no exclamation marks!)
[8] Squeak 6.0a trunk download http://files.squeak.org/6.0alpha/
May 8, 2018
Re: [Pharo-users] How to pretty print a dynamic array
by Peter Uhnák
> {self meth1. self meth2. self meth3}
This is not possible in a reasonably general way. Usually I end up writing
it like `Array with: self meth1 with: self meth2 with: self meth3`
On Tue, May 8, 2018 at 3:31 PM, 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: Tue, 8 May 2018 06:31:46 -0700 (MST)
> Subject: Re: How to pretty print a dynamic array
> 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] Personal Programming onPharo
by Trygve Reenskaug
Hi Norbert,
This discussion has been very useful to me. Let me stress that I am not
criticizing Pharo. I think Pharo is an exciting and promising project.Â
But IÂ have set requirements for PP that Pharo can't fill. I have no
idea how to fill them or if they can be filled at all. So here is a new
research project that I look forward to digging into as soon as time
permits.
Thanks
-Trygve
On 08.05.2018 09:57, Norbert Hartl wrote:
>
>
>> Am 08.05.2018 um 08:30 schrieb Trygve Reenskaug <trygver(a)ifi.uio.no
>> <mailto:trygver@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
>> /personal/data, 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
>>>> <mailto:trygver@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 <mailto:trygver@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 <http://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 <mailto:trygver@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
>> objectscollaboratetoachieve a goal./
>> TrygveReenskaug mailto: trygver(a)ifi.uio.no <mailto:%20trygver@ifi.uio.no>
>> Morgedalsvn. 5A http://folk.uio.no/trygver/
>> N-0378 Oslo http://fullOO.info <http://fulloo.info/>
>> Norway                     Tel: (+47) 22 49 57 27
>
--
/The essence of object orientation is that objects collaborateto achieve
a goal. /
Trygve Reenskaug mailto: trygver(a)ifi.uio.no <mailto:%20trygver@ifi.uio.no>
Morgedalsvn. 5A http://folk.uio.no/trygver/
N-0378 Oslo http://fullOO.info
Norway                     Tel: (+47) 22 49 57 27
May 8, 2018
Re: [Pharo-users] customizing red screen of death
by Alexandre Bergel
That would be awesome Peter!
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> On May 8, 2018, at 6:12 AM, 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)?
>
> <image.png>
>
>
> Perhaps to show something similar to what chrome shows on a tab crash
>
> <image.png>
>
>
> Thanks,
> Peter
>
May 8, 2018
Re: [Pharo-users] How to LAN feature
by Henrik Sperre Johansen
Ben Coman wrote
> 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
mDNS and SSDP are pretty much interchangeable, implementation wise ;)
The main problem; most computers these days come with multiple networking
interfaces, and are usually connected to separate subnets.
So when you connect a socket to the broadcast address, you have no idea
which interface it will actually send the request over, and whether you can
communicate with other entities is sort if hit or miss.
Pharos netresolver is blissfully unaware/unable to tell you which interfaces
are available,
most of the work in the SSDP implementation went into trying to detect all
the different ones (impossible without the added networking prims, and still
unreliable whether it will find the correct ones with...), and bind:'ing a
socket to each specifically.
IIRC, the default server/client instantiation exemplified in class comments
now simply binds to 0:0:0:0 and hopes the default interface is what you
wanted, SSDPServer>>onAllInterfacesOfferServiceType:atLocation: runs
through the more extensive setup.
Cheers,
Henry
P.S. In second place; a listener loop capable of error handling a spotty
wifi connection/machine sleep cycles...
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
May 8, 2018
Re: [Pharo-users] How to LAN feature
by Norbert Hartl
> Am 08.05.2018 um 15:05 schrieb Ben Coman <btc(a)openinworld.com>:
>
>> Le 8 mai 2018 à 08:28, Henrik Sperre Johansen <henrik.s.johansen(a)veloxit.no <mailto:henrik.s.johansen@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 <http://drgeo.eu/>
>>
>> No, but it does involve setting certain options on the socket, etc.
>> You could check if http://smalltalkhub.com/#!/~henriksp/SSDP <http://smalltalkhub.com/#!/~henriksp/SSDP> is
>> appropriate/works for you.
>>
>> Cheers,
>> Henry
>>
>>
>>
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html <http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html>
>>
>
>
> On 8 May 2018 at 15:32, Cédrick Béler <cdrick65(a)gmail.com <mailto:cdrick65@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.
>
If they all have Macs that would work. For the rest I doubt it will be that easy.
Norbert
> https://www.trustwave.com/Resources/SpiderLabs-Blog/mDNS---Telling-the-worl… <https://www.trustwave.com/Resources/SpiderLabs-Blog/mDNS---Telling-the-worl…>
>
> https://tools.ietf.org/html/rfc6762 <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 <http://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 <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