Re: [Pharo-users] How to LAN feature

2018-05-08 Thread 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 :
> 
> 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 
>>  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
>> 
> 


Re: [Pharo-users] How to LAN feature

2018-05-08 Thread 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  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
>
>


Re: [Pharo-users] Package extension. Adding instance variables to classes

2018-05-08 Thread Alidra Abdelghani via Pharo-users
--- Begin Message ---
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-requ...@lists.pharo.org wrote:
> 
> 
> Message: 1
> Date: Mon, 7 May 2018 13:43:56 +0200
> From: Pavel Krivanek  >
> To: Any question about pharo is welcome  >
> Subject: Re: [Pharo-users] Package extension. Adding instance
>   variables to classes
> Message-ID:
>>
> Content-Type: text/plain; charset="utf-8"
> 
> 2018-05-07 12:25 GMT+02:00 Alidra Abdelghani via Pharo-users <
> pharo-users@lists.pharo.org >:
> 
>> 
>> 
>> -- P?eposlan? zpr?va --
>> From: Alidra Abdelghani mailto:alidran...@yahoo.fr>>
>> To: 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


--- End Message ---


Re: [Pharo-users] #ast vs. #parseTree

2018-05-08 Thread 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  wrote:

>
>
> Am 08.05.2018 um 05:15 schrieb Richard O'Keefe :
>
> #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
>
>


Re: [Pharo-users] How to pretty print a dynamic array

2018-05-08 Thread 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@lists.pharo.org> wrote:

>
>
> -- Forwarded message --
> From: Davide Varvello 
> To: pharo-users@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
>
>
>


Re: [Pharo-users] Personal Programming onPharo

2018-05-08 Thread 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 >:


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 >:


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 sour

Re: [Pharo-users] customizing red screen of death

2018-05-08 Thread 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  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
> 



Re: [Pharo-users] How to LAN feature

2018-05-08 Thread 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



Re: [Pharo-users] How to LAN feature

2018-05-08 Thread Norbert Hartl


> Am 08.05.2018 um 15:05 schrieb Ben Coman :
> 
>> Le 8 mai 2018 à 08:28, Henrik Sperre Johansen > > 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  > 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-world-about-you-(and-your-device)/
>  
> 
> 
> 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



Re: [Pharo-users] How to pretty print a dynamic array

2018-05-08 Thread Davide Varvello via Pharo-users
--- Begin Message ---
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

--- End Message ---


Re: [Pharo-users] How to LAN feature

2018-05-08 Thread Sven Van Caekenberghe


> On 8 May 2018, at 15:05, Ben Coman  wrote:
> 
>> Le 8 mai 2018 à 08:28, Henrik Sperre Johansen  
>> 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  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-world-about-you-(and-your-device)/
> 
> 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




Re: [Pharo-users] How to LAN feature

2018-05-08 Thread Ben Coman
>
> Le 8 mai 2018 à 08:28, Henrik Sperre Johansen <
> henrik.s.johan...@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  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-world-about-you-(and-your-device)/

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


Re: [Pharo-users] How to pretty print a dynamic array

2018-05-08 Thread Ben Coman
On 8 May 2018 at 04:22, Davide Varvello via Pharo-users <
pharo-users@lists.pharo.org> wrote:

>
>
> -- Forwarded message --
> From: Davide Varvello 
> To: pharo-users@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.


Re: [Pharo-users] Personal Programming onPharo

2018-05-08 Thread 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 
wrote:

> On Mon, May 7, 2018 at 1:43 PM Trygve Reenskaug 
> 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.
>


Re: [Pharo-users] Personal Programming onPharo

2018-05-08 Thread Dimitris Chloupis
On Mon, May 7, 2018 at 1:43 PM Trygve Reenskaug  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.


Re: [Pharo-users] customizing red screen of death

2018-05-08 Thread 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  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
>



[Pharo-users] customizing red screen of death

2018-05-08 Thread 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


Re: [Pharo-users] Personal Programming onPharo

2018-05-08 Thread 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  wrote:
> 
> 
> 
>> Am 08.05.2018 um 08:30 schrieb Trygve Reenskaug :
>> 
>> 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 :
 
 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 d

Re: [Pharo-users] Showcasing Pharo, Roassal and Grafoscopio at re:publica 2018

2018-05-08 Thread Offray Vladimir Luna Cárdenas
Hi Phil,

On 06/05/18 07:30, p...@highoctane.be wrote:
> Hi Offray,
>
> On Sun, May 6, 2018 at 1:47 PM, Offray Vladimir Luna Cárdenas
> mailto:offray.l...@mutabit.com>> wrote:
>
> Hi Phil,
>
>
> On 27/04/18 03:02, p...@highoctane.be 
> wrote:
>>
>> On Thu, Apr 26, 2018 at 3:57 PM, Offray Vladimir Luna Cárdenas
>> mailto:offray.l...@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
>>  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 [

Re: [Pharo-users] #ast vs. #parseTree

2018-05-08 Thread Norbert Hartl


> Am 08.05.2018 um 05:15 schrieb Richard O'Keefe :
> 
> #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



Re: [Pharo-users] Personal Programming onPharo

2018-05-08 Thread Norbert Hartl


> Am 08.05.2018 um 08:30 schrieb Trygve Reenskaug :
> 
> 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 >> >:
>>> 
>>> 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 wan

Re: [Pharo-users] #ast vs. #parseTree

2018-05-08 Thread Esteban Lorenzano
Why to stop there? We could also change our class prefixes. 

Why to put HTTPSomething when we could put HyperTextTransferProtocolSomething ? 
:)

cheers!
Esteban

> On 8 May 2018, at 05:15, Richard O'Keefe  wrote:
> 
> #onDNU:do:
> 
> That one's not so good.  Not so much because of the acronym, but because it's 
> unclear about what the argument is.  A better name would be
> #onUndefinedSelector:do:
> 
> #gcd:
> #lcm:
> 
> 
> These come from elementary (primary school in my day) mathematics.  They are 
> the standard names.
> 
> #rem:
> #quo:
> 
> These are not acronyms.  They are more intelligible than // and \\.  But yes,
> {floor,ceiling,rounded,truncated}{Quotient,Remainder}:
> would be clearer.  #quo: and #rem: are sufficiently rare
> that it wouldn't hurt if they were longer.
> BUT they are in the Blue Book and in the standard.
> 
> #ulp
> 
> This is indeed an acronym, and it's probably obscure
> to many programmers.  But practically every paper I have read about 
> floating-point issues uses this; it is
> a technical term of art.  Spelling it out as #unitOfLeastPrecision as 
> VisualWorks does, and as
> both Squeak and Pharo do in their comments, is the
> reverse of helpful, because that is not what 'ulp'
> stands for. It's Unit in the Last Place.  Now there IS
> a case for giving #ulp a long name, but that's not it.
> There are some subtleties in the definition.
> http://www.ens-lyon.fr/LIP/Pub/Rapports/RR/RR2005/RR2005-09.pdf 
> 
> lists, by my count, five definitions.  The first is obsolete,
> The fifth is a hybrid of some of the others.  It turns out
> that I knew less about ULPs than I thought I did.
> 
> #ln
> 
> #NaperianLogarithm won't help anyone who doesn't
> know who Napier was or what a logarithm is.  I
> suppose #logarithmToBaseE might work.
> 
> #theta
> 
> That is not an acronym.  It is spelled out in full.
> Using Greek letters for arbitrary angles goes back
> roughly two thousand years.  To the Greeks, in fact.
> Blame them, not Pharo.
> 
> #r
> #g
> #b
> 
> I can think of at least two meanings for each of these, so granted.
> 
> 
>   
> Click here to Reply or Forward
> 0.2 GB (1%) of 15
> 
> 
> On 8 May 2018 at 04:57, webwarrior  > wrote:
> If you guys are to get rid of acronyms in method names, cosider the
> following:
> 
> #onDNU:do:
> #gcd:
> #lcm:
> #rem:
> #quo:
> #ulp
> #ln
> #theta
> #r
> #g
> #b
> 
> and others.
> Then if you get bored again there are a lot of contractions, too, especially
> in Number and subclasses. 
> Like #abs, #sqrt, #sin, #cos, ...
> 
> 
> 
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html 
> 
> 
> 



Re: [Pharo-users] How to LAN feature

2018-05-08 Thread Cédrick Béler
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. 


> Le 8 mai 2018 à 08:28, Henrik Sperre Johansen  
> 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
>