Re: [Pharo-users] Binary Decision Diagram Package in Smalltalk

2017-10-26 Thread Prof. Andrew P. Black
Thanks for the responses so far.  I see that I need to clarify my enquiry.

B-Trees and BDDs are not the same.  BDDs are an efficient and compact 
representations for Boolean functions, sometimes used in SAT-solvers and 
electronics design.   The key idea is that since the output must be 0 or 1, you 
can represent any Boolean function as a tree whose depth is the same as the 
number of bits in the input.

To make the tree small and efficient, though, you need to eliminate any node 
whose two children are the same, and to share subtrees, so that you really get 
a DAG, not a tree.  The full name for these efficient compressed trees is 
“Reduced Order Binary Decision Diagrams”, or ROBDDs.  I was hoping that someone 
else had implemented the algorithms necessary to build this representation. 

Because sets can be considered to be Booleans functions (true => argument is in 
the set), you can use ROBDDs to efficiently represent large sets.

To be clear, despite the word “diagram” in the name, one is not normally 
interested in drawing the BDD — except in the documentation for the package 
;-).  Normally, BDDs they are used to represent sets, or functions, where the 
drawing would be hopelessly large.

The BuDDy package (http://buddy.sourceforge.net/manual/main.html) is an example 
of what I’m looking for, but unfortunately it’s in C++.

Andrew


> On 25 Oct 2017, at 21:39 , Stephane Ducasse  wrote:
> 
> Hi andrew
> 
> I think that Avi did a package about BDD (but I thought it was special
> binary trees) so this is probably the same.
> Did you check on Squeaksource?
> http://www.squeaksource.com/BTree.html
> If this is what you are looking for I can help porting it to Pharo.
> 
> Stef
> 
> 
> On Wed, Oct 25, 2017 at 9:02 PM, Prof. Andrew P. Black  
> wrote:
>> Does anyone know of a BDD — that’s Binary Decision Diagram — package written 
>> in Smalltalk?
>> 
>>Andrew
>> 
>> 
> 




[Pharo-users] "sourcetrail" a code browser for C++/Java

2017-10-26 Thread Holger Freyther
Hi,

I was just watching some videos and stumbled across sourcetrail[1][2]. The 
visualizations look pretty neat. Maybe it can be used an inspiration?

cheers

holger


[1] https://www.youtube.com/watch?v=r8S6V6U5Vr4
[2] https://www.sourcetrail.com


Re: [Pharo-users] UFFI and Fortran

2017-10-26 Thread Ben Coman
Always starting by assuming someone in another language wants to do the
same ;)
googling... fortran ffi python
second result...
https://maurow.bitbucket.io/notes/calling_fortran_from_misc.html

I only skimmed quickly, but it seems to hint how to do it from Pharo UFFI.

cheers -ben

P.S. Interesting concept.  All too often its C libraries used as an example,
but IIUC, Fortran still provides the highest performance of all the
numerical libraries, with a many-year pedigree of reliability.


Re: [Pharo-users] Smalltalk Argument

2017-10-26 Thread Ben Coman
On Thu, Oct 26, 2017 at 3:40 PM, Paulo R. Dellani  wrote:

> I like your depiction of the situation and arguments, Andrew.
>
> The inherent volatility of the software industry due to its tendency
> to self disruption, as you pointed out, is fertile ground to all kinds of
> crap, but we as developers should keep our eyes wide open and
> look for the pearls and gems that grow here and there,
> like Pharo Smalltalk.
>
> Of course my "vision", as a Smalltalker is inherently biased, but
> as you said, when "shit has to work", I think that we have good
> cards at our hands.
>

If that is a key requirement, share these with your stakeholders...
* GemStone:64 Update and Roadmap

https://www.youtube.com/watch?v=ejtXqJoSrb4&list=PLJ5nSnWzQXi_THfKwhzxFwbXy00YTi0uv&index=28
* Running Pharo on the GemStone VM

https://www.youtube.com/watch?v=TkvjUXn3tGs&list=PLJ5nSnWzQXi_THfKwhzxFwbXy00YTi0uv&index=3

"Develop on Pharo, Deploy on Gemstone" seems to be a growing meme.



> So yesterday we had another meeting and I think I could make a
> good point for Smalltalk, thanks to all your arguments here at the
> list. But surely the absolute killer argument is that "this shit really
> works" :-)
>
> As pointed out by several of you, integration is key. For my particular
> present case, I could successfully integrate the developed tools in
> the system, a medical imaging processing pipeline,
>

Juan might be able to advise on the suitability of Smalltalk for image
processing...
*
https://news.squeak.org/2017/05/24/satellogic-hyperspectral-cameras-geometric-and-spectral-processing-software-written-in-cuis-smalltalk/
* https://www.nature.com/articles/n-12305964

Regarding the reality of Pharo having less libraries than mainstream
languages.  I am reminded of this interesting perspective...
*
https://www.joelonsoftware.com/2001/10/14/in-defense-of-not-invented-here-syndrome/

that reuse is not always an advantage.  Certainly FFI provides access to a
large selection of pre-made libraries - but it opens applications to memory
protection faults and other quirks that make debugging more difficult.  As
always, its "horses for courses".

cheers -ben


Re: [Pharo-users] Binary Decision Diagram Package in Smalltalk

2017-10-26 Thread Ben Coman
On Thu, Oct 26, 2017 at 3:39 AM, Stephane Ducasse 
wrote:

> Hi andrew
>
> I think that Avi did a package about BDD (but I thought it was special
> binary trees) so this is probably the same.
> Did you check on Squeaksource?
> http://www.squeaksource.com/BTree.html
> If this is what you are looking for I can help porting it to Pharo.
>
> Stef
>
>
BTree is a database indexing implementation. Actually it would be a good
feature to have available with Pharo.

BDD is diagram[1] .  Roassal would be the best bet.  If it doesn't have an
out of the box BDD, all the pieces are there make one.
And the Roassal guys love new use cases.

[1] https://www.lucidchart.com/pages/decision-tree

cheers -ben



>
> On Wed, Oct 25, 2017 at 9:02 PM, Prof. Andrew P. Black 
> wrote:
> > Does anyone know of a BDD — that’s Binary Decision Diagram — package
> written in Smalltalk?
> >
> > Andrew
> >
> >
>
>


[Pharo-users] UFFI and Fortran

2017-10-26 Thread horrido
Can UFFI be used to call into a Fortran library?



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



Re: [Pharo-users] Smalltalk Argument

2017-10-26 Thread p...@highoctane.be
There are two key Kerberos implementations one can use with Hadoop.

One is the FreeIpa/RedHat IdM.
The other is ActiveDirectory.

I am using FreeIPA which bundles MIT Kerberos/389/sssd and more for making
a CA etc. Works wonderfullý well.

AD is well ... part of the corporate landdscape.

Most of Kerberos needs are done with Java in Hadoop. But details are buried
in private Sun classes..

Google Madness beyond the gate hadoop for some Lovecraftian quotes
describing the situation along educated info.

Phil

On Thu, Oct 26, 2017 at 6:23 PM, henry  wrote:

> I have no idea which is best. For being able to say we use industry
> standard Kerberos, calling an accepted implementation seems wise, like
> OpenSSL support.
>
> - HH
>
>
> On Thu, Oct 26, 2017 at 11:39, Paulo R. Dellani  wrote:
>
> This all sounds very interesting. What is the idea? Wrap libkrb5 through
> UFFI or implement it in Smalltalk?
>
> On 10/26/2017 04:38 PM, henry wrote:
>
> A Kerberos effort will have to be a group effort. Sideways to my main
> focus and your all’s main focii.
>
>
> - HH
>
>
> On Thu, Oct 26, 2017 at 09:15, henry  wrote:
>
> I think another good service to integrate well to is Elastic Search.
>
> Of the 4 types of integration, I vote for and step forward to volunteer to
> help Kerberos integration in Pharo. What to do?
>
>
> - HH
>
>
> On Thu, Oct 26, 2017 at 09:06, henry  wrote:
>
> I try posting with a smaller image.
>
> [image: ""hubbub.jpg""]
>
> - HH
>
>
> ——— Original Message ———
> Subject: Re: [Pharo-users] Smalltalk Argument
> Local Time: October 26, 2017 8:52 AM
> UTC Time: October 26, 2017 12:52 PM
> From: he...@callistohouse.club
> To: p...@highoctane.be  , Any
> question about pharo is welcome 
> 
>
> Perhaps not, or not yet. Perhaps it is the communications foundation for
> an always-on cloud/bigData control layer.
>
> I would position ParrotTalk as a Kerberos transport. ParrotTalk does
> 2048-bin key negotiation and subsequent encryption/encoding, both
> user-supplied.
>
> Please see the attached diagram, co-locating ParrotTalk with my other
> components.
>
> ParrotTalk does not do user authentication/authorization. Which means to
> me that I should consider Kerberos authorization/authentication to
> establish as an integratable transport to play in bigData.
>
> This means you still need a Kerberos client and I need a Kerberos client.
> How do we start?
>
> - HH
>
> PS: I did much work integrating Kafka into a framework. I was thinking of
> inserting msg sending replication to a partition count of replicate queues
> for sending and receiving Hubbub traffic, thus inserting right where
> Kerberos is in the diagram. I would love to see client coupling for
> Kerberos, Kafka and Hadoop, while I figure out proper security to make that
> group happy with this as a possible control layer solution, forking off
> jobs.
>
>
> On Thu, Oct 26, 2017 at 03:14, p...@highoctane.be 
> wrote:
>
> Sure. Current main issue is to have Pharo work with Kerberos as secured
> Hadoop uses the UGI (UserGroupInformation) thing and that is a black hole
> of crypto things.
>
> How would you see ParrotTalk work?
>
> I made a XmppTalk thing (binding for libstrophe) for having Pharo images
> and other stuff talk together (currently using OpenFire/Gajim/Profanity)
> FWIW
>
> See https://docs.google.com/presentation/d/1HTG3GB3xdwlje8wADZPjUQNIyA6tm
> uxyZz1UaX5ikEU/edit?usp=sharing
>
> libstrophe does the SSL thing under the hood (using OpenSSL) and is
> actively maintained.
> https://github.com/strophe/libstrophe/blob/master/src/tls_openssl.c
>
> And I currently work with Kafka so, Pharo as a consumer or producer, sure
> am interested. But need Kerberos support.
>
> Tell me more about your vision. Even better, draw it in some way :-)
>
> Phil
>
>
> On Thu, Oct 26, 2017 at 8:43 AM, henry  wrote:
>
> This is a goal of ParrotTalk, to bring bit-compatible communications to
> Squeak, Pharo and Java. This is not an invocation bridge you speak of but a
> communications bridge to be able to run against Hadoop or whichever big
> data needs integration with (Kafka). I had hoped it might be adopted for
> such. Yet again this is not exactly what you were looking for but yet
> interesting perhaps?
>
>
> - HH
>
>
> On Thu, Oct 26, 2017 at 02:17, p...@highoctane.be < p...@highoctane.be>
> wrote:
>
> I like that piece a lot, seeing exactly the described situation in large
> enterprises.
>
> I made a strategic decision to go with Pharo for the long run for my
> solutions because it is a stable base on which to build (ok, there are
> evolutions, but fundamentally, I can rely on it being under control and can
> maintain solutions in a version).
>
> The rationale is that at a deep level I am really fed up with having to
> deal with accidental complexity (now having to deal with
> Spark/Scala/sbt/Java/maven stuff) that makes the dev focus 80% technology
> drag and 20% net business contribution.
>
> One key thing is that a team needs guidance and Smalltalk makes it e

Re: [Pharo-users] Cryptography and hashing in Pharo

2017-10-26 Thread Paul DeBruicker
I made this port/copy of the squeaksource package:  

http://smalltalkhub.com/#!/~Cryptography/Cryptography


Is that the version you were thinking of and couldn't find?

What is ifs? 

I don't understand what you want to do with the hashing.  Are you talking
about hashing domain objects for external storage?   Do you have to interact
with another system or just have hashed data in the image or stored
somewhere internally to your project? What OS are you going to use?  


I think you can get to the point where your objects can be hashed by any of
the backends you mention and just change among them as your needs change. 
That being said NaCl seems the most generally useful.  Cryptographic hashing
in Pharo is slower than C, so depending on the volume of data to hash a
Pharo implementation may be too slow.



hope this helps


Paul


Cédrick Béler wrote
> Hi again,
> 
> 
> Concerning cryptography in Pharo, there are to my knowledge :
> => a package developed in squeak [1] that was I think ported/forked for
> Pharo. I cannot find the Pharo version
> => a binding to the sodium library (NaCl) [2]
> 
> With one would you recommend ?  Maybe another option ?
> 
> 
> Concerning hashing (I’d like to hash information content a bit like this
> is done in ifs with their multihash lib [3])
> => I found a keccak implication with I think would do the [4]. Any
> feedback ? Other implementations available ?
> => Do you think having something like ifs multihash would be interesting
> in Pharo ?
> 
> 
> Again, thanks in advance for your comments/advices.
> 
> Cédrick
> 
> 
> [1]  http://www.squeaksource.com/Cryptography.html
> ; 
> [2]
> http://catalog.pharo.org/catalog/project/Nacl?_s=54MCZlmxc6F08Ht4&_k=HxcBD1pRVtXkfVFM
> ;
>  
> [3] https://github.com/multiformats/multihash
> ; 
> [4] https://github.com/sbragagnolo/Keccak
> ;





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



Re: [Pharo-users] Business process (declaration and orchestration), ontology/taxonomy,

2017-10-26 Thread Paul DeBruicker
Maybe the package described here has what you're looking for :

http://forum.world.st/Ann-Workflow-td4963635.html







Cédrick Béler wrote
> Hi again, this is my last question and the more general one of the day :-)
> 
> 
> I’m looking for way of representing and executing simple "business
> processes" in Pharo and a way of declaring domain ontologies/taxonomies.
> 
> I didn’t find any lib around this subjects except some projects in other
> smalltalk dialects.
> 
> I just wander if somebody has done some work in these field. I’m also
> interested in (KISS) design discussions around these topics, hence this
> email.
> 
> I don’t want to do a full fledged business process middleware. 
> 
> I would need :
> - a way to represent simple business processes (succession of activities
> with logic gates (and/or/xor) => I might be able to do that by myself).
> - a way to execute these processes (routines) in a semi-aotumatic manner
> => This looks more difficult to do to me.
> => my aim is to execute recurrent routines (my routines) with the help of
> a Pharo application
> 
> 
> For such a system, I also need a way to categorize information context.
> Again, I don’t think I need a full fledged ontology implementation like
> Description Logic (or whatever). I think I’ll be happy with information
> tagging according to a predefined taxonomy. Instead of flat tags, I’d like
> them to implement some sort of multiple inheritance. For instance, I may
> need a tag #soccer that  "inherit" #sport.
> 
> Any information regarding taxonomy tagging in Pharo ? (Or eventually
> ontology?).
> 
> 
> 
> TIA,
> 
> Cédrick





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



Re: [Pharo-users] Smalltalk Argument

2017-10-26 Thread henry
I have no idea which is best. For being able to say we use industry standard 
Kerberos, calling an accepted implementation seems wise, like OpenSSL support.

- HH

On Thu, Oct 26, 2017 at 11:39, Paulo R. Dellani  wrote:

> This all sounds very interesting. What is the idea? Wrap libkrb5 through UFFI 
> or implement it in Smalltalk?
>
> On 10/26/2017 04:38 PM, henry wrote:
>
>> A Kerberos effort will have to be a group effort. Sideways to my main focus 
>> and your all’s main focii.
>>
>> - HH
>>
>> On Thu, Oct 26, 2017 at 09:15, henry 
>> <[he...@callistohouse.club](%22mailto:he...@callistohouse.club%22)> wrote:
>>
>>> I think another good service to integrate well to is Elastic Search.
>>>
>>> Of the 4 types of integration, I vote for and step forward to volunteer to 
>>> help Kerberos integration in Pharo. What to do?
>>>
>>> - HH
>>>
>>> On Thu, Oct 26, 2017 at 09:06, henry 
>>> <[he...@callistohouse.club](%22%22mailto:he...@callistohouse.club%22%22)> 
>>> wrote:
>>>
 I try posting with a smaller image.

 [""hubbub.jpg""]

 - HH

> ——— Original Message ———
> Subject: Re: [Pharo-users] Smalltalk Argument
> Local Time: October 26, 2017 8:52 AM
> UTC Time: October 26, 2017 12:52 PM
> From: he...@callistohouse.club
> To: p...@highoctane.be [](mailto:p...@highoctane.be), 
> Any question about pharo is welcome 
> [](mailto:pharo-users@lists.pharo.org)
>
> Perhaps not, or not yet. Perhaps it is the communications foundation for 
> an always-on cloud/bigData control layer.
>
> I would position ParrotTalk as a Kerberos transport. ParrotTalk does 
> 2048-bin key negotiation and subsequent encryption/encoding, both 
> user-supplied.
>
> Please see the attached diagram, co-locating ParrotTalk with my other 
> components.
>
> ParrotTalk does not do user authentication/authorization. Which means to 
> me that I should consider Kerberos authorization/authentication to 
> establish as an integratable transport to play in bigData.
>
> This means you still need a Kerberos client and I need a Kerberos client. 
> How do we start?
>
> - HH
>
> PS: I did much work integrating Kafka into a framework. I was thinking of 
> inserting msg sending replication to a partition count of replicate 
> queues for sending and receiving Hubbub traffic, thus inserting right 
> where Kerberos is in the diagram. I would love to see client coupling for 
> Kerberos, Kafka and Hadoop, while I figure out proper security to make 
> that group happy with this as a possible control layer solution, forking 
> off jobs.
>
> On Thu, Oct 26, 2017 at 03:14, p...@highoctane.be 
> <[p...@highoctane.be](%22%22%22mailto:p...@highoctane.be%22%22%22)> wrote:
>
>> Sure. Current main issue is to have Pharo work with Kerberos as secured 
>> Hadoop uses the UGI (UserGroupInformation) thing and that is a black 
>> hole of crypto things.
>>
>> How would you see ParrotTalk work?
>>
>> I made a XmppTalk thing (binding for libstrophe) for having Pharo images 
>> and other stuff talk together (currently using OpenFire/Gajim/Profanity) 
>> FWIW
>>
>> See 
>> [https://docs.google.com/presentation/d/1HTG3GB3xdwlje8wADZPjUQNIyA6tmuxyZz1UaX5ikEU/edit?usp=sharing](%22%22%22https://docs.google.com/presentation/d/1HTG3GB3xdwlje8wADZPjUQNIyA6tmuxyZz1UaX5ikEU/edit?usp=sharing%22%22%22)
>>
>> libstrophe does the SSL thing under the hood (using OpenSSL) and is 
>> actively maintained.
>> [https://github.com/strophe/libstrophe/blob/master/src/tls_openssl.c](%22%22%22https://github.com/strophe/libstrophe/blob/master/src/tls_openssl.c%22%22%22)
>>
>> And I currently work with Kafka so, Pharo as a consumer or producer, 
>> sure am interested. But need Kerberos support.
>>
>> Tell me more about your vision. Even better, draw it in some way :-)
>>
>> Phil
>>
>> On Thu, Oct 26, 2017 at 8:43 AM, henry 
>> <[he...@callistohouse.club](%22%22%22mailto:he...@callistohouse.club%22%22%22)>
>>  wrote:
>>
>>> This is a goal of ParrotTalk, to bring bit-compatible communications to 
>>> Squeak, Pharo and Java. This is not an invocation bridge you speak of 
>>> but a communications bridge to be able to run against Hadoop or 
>>> whichever big data needs integration with (Kafka). I had hoped it might 
>>> be adopted for such. Yet again this is not exactly what you were 
>>> looking for but yet interesting perhaps?
>>>
>>> - HH
>>>
>>> On Thu, Oct 26, 2017 at 02:17, 
>>> [p...@highoctane.be](%22%22%22mailto:p...@highoctane.be%22%22%22) < 
>>> p...@highoctane.be> wrote:
>>>
 I like that piece a lot, seeing exactly the described situation in 
 large enterprises.

 I made a strategic decision to go with Pharo for the long run for my 
>>

Re: [Pharo-users] Smalltalk Argument

2017-10-26 Thread Paulo R. Dellani
This all sounds very interesting. What is the idea? Wrap libkrb5 through
UFFI or implement it in Smalltalk?

On 10/26/2017 04:38 PM, henry wrote:
> A Kerberos effort will have to be a group effort. Sideways to my main
> focus and your all’s main focii.
>
>
> - HH
>
>
> On Thu, Oct 26, 2017 at 09:15, henry  <%22mailto:he...@callistohouse.club%22>> wrote:
>
> I think another good service to integrate well to is Elastic Search.
>
> Of the 4 types of integration, I vote for and step forward to
> volunteer to help Kerberos integration in Pharo. What to do?
>
>
> - HH
>
>
> On Thu, Oct 26, 2017 at 09:06, henry  <%22%22mailto:he...@callistohouse.club%22%22>> wrote:
>
> I try posting with a smaller image.
>
> ""hubbub.jpg""
>
> - HH
>
>
> ——— Original Message ———
> Subject: Re: [Pharo-users] Smalltalk Argument
> Local Time: October 26, 2017 8:52 AM
> UTC Time: October 26, 2017 12:52 PM
> From: he...@callistohouse.club
> To: p...@highoctane.be , Any question
> about pharo is welcome 
>
> Perhaps not, or not yet. Perhaps it is the communications
> foundation for an always-on cloud/bigData control layer.
>
> I would position ParrotTalk as a Kerberos transport.
> ParrotTalk does 2048-bin key negotiation and subsequent
> encryption/encoding, both user-supplied. 
>
> Please see the attached diagram, co-locating ParrotTalk
> with my other components.
>
> ParrotTalk does not do user authentication/authorization.
> Which means to me that I should consider Kerberos
> authorization/authentication to establish as an
> integratable transport to play in bigData.
>
> This means you still need a Kerberos client and I need a
> Kerberos client. How do we start?
>
> - HH
>
> PS: I did much work integrating Kafka into a framework. I
> was thinking of inserting msg sending replication to a
> partition count of replicate queues for sending and
> receiving Hubbub traffic, thus inserting right where
> Kerberos is in the diagram. I would love to see client
> coupling for Kerberos, Kafka and Hadoop, while I figure
> out proper security to make that group happy with this as
> a possible control layer solution, forking off jobs.
>
>
> On Thu, Oct 26, 2017 at 03:14, p...@highoctane.be
>  <%22%22%22mailto:p...@highoctane.be%22%22%22>> wrote:
>
> Sure. Current main issue is to have Pharo work with
> Kerberos as secured Hadoop uses the UGI
> (UserGroupInformation) thing and that is a black hole
> of crypto things. 
>
> How would you see ParrotTalk work? 
>
> I made a XmppTalk thing (binding for libstrophe) for
> having Pharo images and other stuff talk together
> (currently using OpenFire/Gajim/Profanity) FWIW
>
> See
> 
> https://docs.google.com/presentation/d/1HTG3GB3xdwlje8wADZPjUQNIyA6tmuxyZz1UaX5ikEU/edit?usp=sharing
> 
> <%22%22%22https://docs.google.com/presentation/d/1HTG3GB3xdwlje8wADZPjUQNIyA6tmuxyZz1UaX5ikEU/edit?usp=sharing%22%22%22>
>
>
> libstrophe does the SSL thing under the hood (using
> OpenSSL) and is actively maintained.
> 
> https://github.com/strophe/libstrophe/blob/master/src/tls_openssl.c
> 
> <%22%22%22https://github.com/strophe/libstrophe/blob/master/src/tls_openssl.c%22%22%22>
>
>
> And I currently work with Kafka so, Pharo as a
> consumer or producer, sure am interested. But need
> Kerberos support.
>
> Tell me more about your vision. Even better, draw it
> in some way :-)
>
> Phil
>
>
> On Thu, Oct 26, 2017 at 8:43 AM, henry
>  <%22%22%22mailto:he...@callistohouse.club%22%22%22>>
> wrote:
>
> This is a goal of ParrotTalk, to bring
> bit-compatible communications to Squeak, Pharo and
> Java. This is not an invocation bridge you speak
> of but a communications bridge to be able to run
> against Hadoop or whichever big data needs
> integration with (Kafka). I had hoped it might be
> adopted for such. Yet again this is not exactly
> what you were looking for but yet interesting
> perhaps?
>
>
> - HH
>
>
> On Thu, Oct 26, 2017 at 02:17, p...@highoctane.be
> <%22%22%22mai

Re: [Pharo-users] Annual online conference?

2017-10-26 Thread Dimitris Chloupis
indeed excellent idea

Having a polished website like they did, is the way to go.

+1

On Thu, Oct 26, 2017 at 11:54 AM Tudor Girba  wrote:

> Nice idea, indeed.
>
> Doru
>
>
> > On Oct 26, 2017, at 10:18 AM, Marcus Denker 
> wrote:
> >
> > That’s a nice idea!
> >
> > I will check how they did it and we should see if that makes sense in
> the future.
> > (for Pharo Days)
> >
> >   Marcus
> >
> >> On 25 Oct 2017, at 23:17, PAUL DEBRUICKER  wrote:
> >>
> >> Laravel.com is a PHP web framework.
> >>
> >>
> >> Their community organizes an online conference:
> https://laracon.net/2017
> >>
> >>
> >> Seems like it could be worthy of mimicking in the Smalltalk community.
> >>
> >
> >
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "In a world where everything is moving ever faster,
> one might have better chances to win by moving slower."
>
>
>
>
>
>


Re: [Pharo-users] Smalltalk Argument

2017-10-26 Thread Dimitris Chloupis
Well all languages have well designed and badly designed libraries , in
Pharo you dont even have to look hard just take a look at Morph and Object
class and awe at all those irrelevant methods trying to cram in features
you will probably never use. Especially my experience with Morphic has been
as nightmarish as my experience with MFC. And MFC is a C++ library and made
by Microsoft. On the other hand QT is a brilliantly designed GUI API (again
for C++) and dont even get me started on DELPHI libraries which to this day
I consider top when it comes to OO libraries. together with its IDE (but I
never liked its language).

Web dev may be a messy field mainly because it has grown too fast, after
the web explosion ,  based on problematic concepts but desktop libraries
and as a consequence mobile dev libraries (iOS is a variable of MacoOS,
Android a variant of Linux) in a much , much better position and some of
them have stellar designs. Mainly because are far more mature with decades
of extremely active development.

Of course many of those great design are the result of a reaction to bad
designs and lessons learned from other APIs. There is no good design
without a redesign.

My personal opinion is that as pessimistic it may sound, Smalltalk has very
little to offer in the library front. The language is still stellar and
live environment is a great concept but from there on there is a decline.
Sure if your are low demand kind of person on the library front and dont
mind implementing stuff by yourself you wont mind the lack of libraries but
most coders , me included , dont have this luxury. Especially making a
living with a language is a completely different story from learning it as
a hobby,

I think and that's a personal opinion, that Smalltalk goes the wrong
direction. It tries to be a do it all language, but we already have an army
of do it all languages. I think it would excel as the backbone in big
complex projects. Like the Moose project is doing with code analysis and
visualization. I think this is an excellent direction to go with Smalltalk.
Reflection is the big strength of Smalltalk the ability to communicate with
its code in a direct matter. So I think that a Smalltalk implementation
that can analyze and visualize code written in other languages would have
been a pretty serious reason for people to learn Smalltalk.

I am very happy to see Pharo go towards that direction and yes I would
definitely recommend it without hesitation  for code analysis and project
management tool. Its no coincidence that we have seen a serious growth in
our community. When I joined back in 2011 we all were posting at pharo-dev,
pharo-users was a dead zone and then the community grow larger and larger
we soon may need a third mailing list.

Code complexity is an issues for all large projects and tools that help
manage this without having to convert to another language are very
popular.




On Thu, Oct 26, 2017 at 3:14 PM jtuc...@objektfabrik.de <
jtuc...@objektfabrik.de> wrote:

> Andrew,
>
> Am 26.10.17 um 00:46 schrieb Andrew Glynn:
>
> There’s other questions that are relevant to me:
>
> I am glad you opened your words with this sentence. Other peoples'
> mileages may vary a lot.
>
>
> > Do I give a f*** about cool looking web apps?  No, I don’t use web apps
> if in any way I can avoid it.
>
>
> Some people can't. I can't. I am making my living with a web based
> application. And I like it.
>
>
> > Do I give a f*** about mobile apps?  No, the screen’s too small to read
> anything longer than a twit, or anyone with anything worthwhile to say.>
>
> So you are in the lucky position that neither mobile nor web nor
> integration matters to you or you have enough resources to do all that
> stuff yourself. I am envyous. I need to build web pages and people ask me
> whether we can ship an iPhone App. I do customer-facing stuff and sex sells
> much more than we like to think.
>
> Your comments on the crappiness of libs in other languages is a great fit
> for Smalltalk. Not invented here, therefor rubbish. We came a long way with
> this way of thinking. But these rubbish makers dance circles around us
> while we try to do our first hello world for an iPad. They laugh at us when
> we try to reinvent MVC on top of Seaside (although MVC is closesly related
> to Smalltalk). Because they are back home and watch Netflix while we debug
> our homegrown base libraries that are, of course, much better than theirs
> because they are written in Smalltalk.
>
> I am not arguing that maintaining Smalltalk code is far superior to most
> technolgies out there. But depending on the needs of our projects we have
> to learn and use those crappy technologies to accomplish what they offer.
> Because, sometimes (especially if you have to pay bills), an existing
> library with flaws is better than none.
>
> So if I have to use Javascript or C# or Dart or Swift to do the frontend
> part of my system, is there still much benefit in using these together wit

Re: [Pharo-users] Smalltalk Argument

2017-10-26 Thread jtuc...@objektfabrik.de

Andrew,

Am 26.10.17 um 00:46 schrieb Andrew Glynn:


There’s other questions that are relevant to me:

I am glad you opened your words with this sentence. Other peoples' 
mileages may vary a lot.


> Do I give a f*** about cool looking web apps?  No, I don’t use web 
apps if in any way I can avoid it.



Some people can't. I can't. I am making my living with a web based 
application. And I like it.


> Do I give a f*** about mobile apps?  No, the screen’s too small to 
read anything longer than a twit, or anyone with anything worthwhile to 
say.>


So you are in the lucky position that neither mobile nor web nor 
integration matters to you or you have enough resources to do all that 
stuff yourself. I am envyous. I need to build web pages and people ask 
me whether we can ship an iPhone App. I do customer-facing stuff and sex 
sells much more than we like to think.


Your comments on the crappiness of libs in other languages is a great 
fit for Smalltalk. Not invented here, therefor rubbish. We came a long 
way with this way of thinking. But these rubbish makers dance circles 
around us while we try to do our first hello world for an iPad. They 
laugh at us when we try to reinvent MVC on top of Seaside (although MVC 
is closesly related to Smalltalk). Because they are back home and watch 
Netflix while we debug our homegrown base libraries that are, of course, 
much better than theirs because they are written in Smalltalk.


I am not arguing that maintaining Smalltalk code is far superior to most 
technolgies out there. But depending on the needs of our projects we 
have to learn and use those crappy technologies to accomplish what they 
offer. Because, sometimes (especially if you have to pay bills), an 
existing library with flaws is better than none.


So if I have to use Javascript or C# or Dart or Swift to do the frontend 
part of my system, is there still much benefit in using these together 
with Smalltalk? Or is there - at least from a manager's point of view - 
not a reasonable amount of sense in choosing the frontend technology 
also for the logic and compensate the loss in productivity with a gain 
in avoided complexity?


Your answer delivers a lot of food for thought, but I don't buy all of 
it. And I don't expect you to buy all of mine ;-)



Joachim








Do I give a f*** about the number of libraries in other languages?  
No, because most of them are crap in every language I’ve had to work 
in, and the base languages are crap so they have to keep changing 
radically, and libraries and frameworks therefore also have to and 
never get any better. The few that are worthwhile I can almost always 
use from Smalltalk without a problem (read, Blender, ACT-R and 
Synapse, since every other library/framework I’ve used outside 
Smalltalk has been a waste of time).


Do I give a f*** about implementing a complex piece of machine 
learning software in 22 hours, compared to 3 months for the Java 
version?  Well, actually yes, I do, because that was 3 months of my 
life down the toilet for something that is too slow to be useful in Java.


Any argument depends on your priorities. I’ve written tons of web 
apps, because I needed to get paid. I’ve written better shitty mobile 
apps than the average shitty mobile apps.  However, I’m not going to 
do any of that any longer in crap that never improves, because after 
26 years the irritability it produces is more than it’s worth.


A few weeks ago, a recruiter that specializes in Smalltalk called me 
about a job, although they were well aware I live 1500 miles away from 
the city I lived in when I had worked through them, to see if I’d be 
willing to move back there for a job.  That sounds like another ‘there 
aren’t enough Smalltalk developers”, but it wasn’t, because the job 
wasn’t writing Smalltalk.  It was writing Java.


The person hiring, though, wouldn’t look at anyone who didn’t write 
Smalltalk, because “people who grew up with Java don’t know how to 
write code”.  I don’t agree with that, I’ve known a (very few) good 
Java developers.  I would say, though, that I’ve known far more 
incompetent ones than good ones, and I can’t think of any incompetent 
Smalltalk developers off the top of my head.


Nor have I ever heard a developer in Smalltalk, or Haskell, or LISP, 
or even C, complain about how hard maintaining state is or coming up 
with various hacks to avoid it, which seems to be the main point of 
every JavaScript based ‘technology’.  An application is by definition 
a state-machine, which implies plenty about JS developers on the whole.


If you’re a good developer you can write good code in (nearly) 
anything.  My question then is why would you want to write in crap? 
 The better question is why aren’t there more good developers in /any/ 
language?


Every project I have been able to do in Smalltalk, though, has had one 
thing in common, the “shit has to work”.  Companies do use it, in fact 
I could name 4 large enterprises I’ve worked fo

Re: [Pharo-users] Exchanging information between 2 pharo applications (2 images running on two different computers)

2017-10-26 Thread Dimitris Chloupis
Nothing complex about two images exchanging messages, its not even complex
to transmit objects via fuel, you even transmit a debugger or any part of
the live environment or even make an "internet" of images that join objects
together. Sky is the limit. Pharo already provides you will all the
tools/libraries to do this.

A streamsocket (not to be confused with regular sockets) will delay the
messages (a collection of bytes) until they arrive to the receiver or until
they have reached the timeout period. Offline mode is pretty much
obligatory even for plain old internet web apps because of drops in
connection or the plain fact a connection can become slow.

I used streamsockets in my Pharo to Python bridge (Atlas) because the
execution was not necessary synchronous , I was sending Python command to a
3d application from Pharo and I had to make sure that the bridge was
working even in the case of a command that could take hours to execute like
a rendering process.

One cool trick I did was to send the Python errors back to Pharo and
trigger them as Pharo's regular MessageNotUnderstood , this is a nice way
to make sure that you can fix a wrong message after it has been executing
without going to the image that is executing it.

The limitation with sockets which what every frameworks uses because AFAIK
they are the only means to communicate remotely is that they are not top
performance so that mean that you can send long loops but executing
communication inside long loops will either slow you down considerably or
simply timeout your socket. Sockets can timeout from both ends if they feel
that for some reason they lost communication with the other side and
reached their timeout period. Timeout period is customization.

This is a problem I did not tackle with my implementation because I dont
think there can be an actual practical solution better than avoiding this
scenario.

Only shared memory seems to overcome this but it can be used only locally
and not remotely (aka on same computer) .

On Wed, Oct 25, 2017 at 4:41 PM Cédrick Béler  wrote:

> I had a look and this is not (natively) possible.
>
> The idea of the off-line mode would be to delay messages that are sent to
> the peer until a connection is established.
>
> I think I have to try to do it by myself (like having a list of
> information exchange that wait until a connexion is established).
>
> What I try to do is not as complex as two general image exchanging
> messages on objects (like on TelePharo).
>
> I just want a repository of information (mainly a collection of static
> information/data versions) on both peers to be synchronized when a
> connection is established.
>
>
>
>
>
> Le 25 oct. 2017 à 15:31, Denis Kudriashov  a écrit :
>
> What is offline mode?
>
> 2017-10-25 15:10 GMT+02:00 Cédrick Béler :
>
>> Thanks Denis. I will !  I knew I have seen a telephoto component that
>> could help but forgot about it !
>>
>> Do you know if it’s possible to handle offline mode ?
>>
>>
>>
>> Le 25 oct. 2017 à 15:05, Denis Kudriashov  a écrit
>> :
>>
>> Look at Seamless https://github.com/dionisiydk/Seamless.
>>
>> 2017-10-25 14:21 GMT+02:00 Cédrick Béler :
>>
>>> Hi all,
>>>
>>> I want to connect two applications (1 by image, each one on a different
>>> computer) so as as to exchange information (data) between them.
>>>
>>> So my question is about the best (smalltalk) practices to connect two
>>> app/image and exchange data.
>>>
>>> I imagine either with a direct connection through a network (TCP Socket,
>>> Web socket, pure HTTP with Zinc) and/or with a serial connection.
>>> At first, without any « security ». But later, information exchanges
>>> will be encrypted.
>>>
>>> I’ve seen some information on how to use SerialPort, or even FileStream.
>>> I could do it (or at least simulate it with HTTP). What are the other
>>> options ? Socket ?
>>> Do we have P2P libs (I couldn’t find) with eventually discovery features
>>> ?
>>>
>>> Any comment / suggestion / pointers are greatly welcome.
>>>
>>> TIA.
>>>
>>> Cédrick
>>>
>>
>>
>>
>
>


Re: [Pharo-users] Annual online conference?

2017-10-26 Thread Tudor Girba
Nice idea, indeed.

Doru


> On Oct 26, 2017, at 10:18 AM, Marcus Denker  wrote:
> 
> That’s a nice idea! 
> 
> I will check how they did it and we should see if that makes sense in the 
> future.
> (for Pharo Days)
> 
>   Marcus
> 
>> On 25 Oct 2017, at 23:17, PAUL DEBRUICKER  wrote:
>> 
>> Laravel.com is a PHP web framework.  
>> 
>> 
>> Their community organizes an online conference: https://laracon.net/2017
>> 
>> 
>> Seems like it could be worthy of mimicking in the Smalltalk community.
>> 
> 
> 

--
www.tudorgirba.com
www.feenk.com

"In a world where everything is moving ever faster,
one might have better chances to win by moving slower."







Re: [Pharo-users] Annual online conference?

2017-10-26 Thread Marcus Denker
That’s a nice idea! 

I will check how they did it and we should see if that makes sense in the 
future.
(for Pharo Days)

Marcus

> On 25 Oct 2017, at 23:17, PAUL DEBRUICKER  wrote:
> 
> Laravel.com is a PHP web framework.  
> 
> 
> Their community organizes an online conference: https://laracon.net/2017
> 
> 
> Seems like it could be worthy of mimicking in the Smalltalk community.
> 




Re: [Pharo-users] Smalltalk Argument

2017-10-26 Thread Paulo R. Dellani
I like your depiction of the situation and arguments, Andrew.

The inherent volatility of the software industry due to its tendency
to self disruption, as you pointed out, is fertile ground to all kinds of
crap, but we as developers should keep our eyes wide open and
look for the pearls and gems that grow here and there,
like Pharo Smalltalk.

Of course my "vision", as a Smalltalker is inherently biased, but
as you said, when "shit has to work", I think that we have good
cards at our hands.

So yesterday we had another meeting and I think I could make a
good point for Smalltalk, thanks to all your arguments here at the
list. But surely the absolute killer argument is that "this shit really
works" :-)

As pointed out by several of you, integration is key. For my particular
present case, I could successfully integrate the developed tools in
the system, a medical imaging processing pipeline, through the
command line and the filesystem - so no need for fancy looking web
apps at the moment, but it surely will not hurt to have this possibilities
- it would be cool to run part of the code at the front end (internet
browser),
in our case, some pre-processing of medical data before it is sent
to the "main processing pipeline" (just one practical example of
many other possible applications). This particular task could be done
with Javascript, but I am afraid that the necessary libraries are not
so good..

Cheers,

Paulo

On 10/26/2017 12:46 AM, Andrew Glynn wrote:
>
> There’s other questions that are relevant to me:
>
>  
>
> Do I give a f*** about cool looking web apps?  No, I don’t use web
> apps if in any way I can avoid it.
>
>  
>
> Do I give a f*** about mobile apps?  No, the screen’s too small to
> read anything longer than a twit, or anyone with anything worthwhile
> to say.
>
>  
>
> Do I give a f*** about the number of libraries in other languages? 
> No, because most of them are crap in every language I’ve had to work
> in, and the base languages are crap so they have to keep changing
> radically, and libraries and frameworks therefore also have to and
> never get any better. The few that are worthwhile I can almost always
> use from Smalltalk without a problem (read, Blender, ACT-R and
> Synapse, since every other library/framework I’ve used outside
> Smalltalk has been a waste of time). 
>
>  
>
> Do I give a f*** about implementing a complex piece of machine
> learning software in 22 hours, compared to 3 months for the Java
> version?  Well, actually yes, I do, because that was 3 months of my
> life down the toilet for something that is too slow to be useful in Java.
>
>  
>
> Any argument depends on your priorities. I’ve written tons of web
> apps, because I needed to get paid.  I’ve written better shitty mobile
> apps than the average shitty mobile apps.  However, I’m not going to
> do any of that any longer in crap that never improves, because after
> 26 years the irritability it produces is more than it’s worth. 
>
>  
>
> A few weeks ago, a recruiter that specializes in Smalltalk called me
> about a job, although they were well aware I live 1500 miles away from
> the city I lived in when I had worked through them, to see if I’d be
> willing to move back there for a job.  That sounds like another ‘there
> aren’t enough Smalltalk developers”, but it wasn’t, because the job
> wasn’t writing Smalltalk.  It was writing Java.
>
>  
>
> The person hiring, though, wouldn’t look at anyone who didn’t write
> Smalltalk, because “people who grew up with Java don’t know how to
> write code”.  I don’t agree with that, I’ve known a (very few) good
> Java developers.  I would say, though, that I’ve known far more
> incompetent ones than good ones, and I can’t think of any incompetent
> Smalltalk developers off the top of my head. 
>
>  
>
> Nor have I ever heard a developer in Smalltalk, or Haskell, or LISP,
> or even C, complain about how hard maintaining state is or coming up
> with various hacks to avoid it, which seems to be the main point of
> every JavaScript based ‘technology’.  An application is by definition
> a state-machine, which implies plenty about JS developers on the whole.
>
>  
>
> If you’re a good developer you can write good code in (nearly)
> anything.  My question then is why would you want to write in crap?
>  The better question is why aren’t there more good developers in /any/
> language?
>
>  
>
> Every project I have been able to do in Smalltalk, though, has had one
> thing in common, the “shit has to work”.  Companies do use it, in fact
> I could name 4 large enterprises I’ve worked for who’ve written their
> own dialects, and they all use it only when “shit has to work”.  They
> know it’s more productive, they also know using it for more things
> would increase the availability of Smalltalk developers. 
>
>  
>
> Why do they not do it?  One reason, though it takes a while to
> recognize it, because management doesn’t admit even to themselves why
> they do it, or not very often.  Being

Re: [Pharo-users] Smalltalk Argument

2017-10-26 Thread p...@highoctane.be
Sure. Current main issue is to have Pharo work with Kerberos as secured
Hadoop uses the UGI (UserGroupInformation) thing and that is a black hole
of crypto things.

How would you see ParrotTalk work?

I made a XmppTalk thing (binding for libstrophe) for having Pharo images
and other stuff talk together (currently using OpenFire/Gajim/Profanity)
FWIW

See
https://docs.google.com/presentation/d/1HTG3GB3xdwlje8wADZPjUQNIyA6tmuxyZz1UaX5ikEU/edit?usp=sharing

libstrophe does the SSL thing under the hood (using OpenSSL) and is
actively maintained.
https://github.com/strophe/libstrophe/blob/master/src/tls_openssl.c

And I currently work with Kafka so, Pharo as a consumer or producer, sure
am interested. But need Kerberos support.

Tell me more about your vision. Even better, draw it in some way :-)

Phil


On Thu, Oct 26, 2017 at 8:43 AM, henry  wrote:

> This is a goal of ParrotTalk, to bring bit-compatible communications to
> Squeak, Pharo and Java. This is not an invocation bridge you speak of but a
> communications bridge to be able to run against Hadoop or whichever big
> data needs integration with (Kafka). I had hoped it might be adopted for
> such. Yet again this is not exactly what you were looking for but yet
> interesting perhaps?
>
>
> - HH
>
>
> On Thu, Oct 26, 2017 at 02:17, p...@highoctane.be 
> wrote:
>
> I like that piece a lot, seeing exactly the described situation in large
> enterprises.
>
> I made a strategic decision to go with Pharo for the long run for my
> solutions because it is a stable base on which to build (ok, there are
> evolutions, but fundamentally, I can rely on it being under control and can
> maintain solutions in a version).
>
> The rationale is that at a deep level I am really fed up with having to
> deal with accidental complexity (now having to deal with
> Spark/Scala/sbt/Java/maven stuff) that makes the dev focus 80% technology
> drag and 20% net business contribution.
>
> One key thing is that a team needs guidance and Smalltalk makes it easier
> due to well known ways of doing things.
>
> Now we miss the boat on mobile and bigdata, but this is solvable.
>
> If we had an open Java bridge (and some people in the community have it
> for Pharo but do not open source it - so this is eminently doable) + Pharo
> as an embeddable piece (e.g. like Tcl and Lua) and not a big executable we
> would have a way to embed Pharo in a lot of places (e.g. in the Hadoop
> ecosystem where fast starting VMs and small footprint would make the
> cluster capacity x2 or x3 vs uberjars all over the place)  this would be a
> real disruption.
>
> Think about being able to call Pharo from JNA https://github.com/java-
> native-access/jna the same way we use C with UFFI.
>
> Smalltalk argument for me is that it makes development bearable (even fun
> and enjoyable would I say) vs the other stacks. That matters.
>
> Phil
>
>
>
>
>
>
>
>
> On Thu, Oct 26, 2017 at 12:46 AM, Andrew Glynn 
> wrote:
>
> There’s other questions that are relevant to me:
>
>
>
> Do I give a f*** about cool looking web apps?  No, I don’t use web apps if
> in any way I can avoid it.
>
>
>
> Do I give a f*** about mobile apps?  No, the screen’s too small to read
> anything longer than a twit, or anyone with anything worthwhile to say.
>
>
>
> Do I give a f*** about the number of libraries in other languages?  No,
> because most of them are crap in every language I’ve had to work in, and
> the base languages are crap so they have to keep changing radically, and
> libraries and frameworks therefore also have to and never get any better.
> The few that are worthwhile I can almost always use from Smalltalk without
> a problem (read, Blender, ACT-R and Synapse, since every other
> library/framework I’ve used outside Smalltalk has been a waste of time).
>
>
>
> Do I give a f*** about implementing a complex piece of machine learning
> software in 22 hours, compared to 3 months for the Java version?  Well,
> actually yes, I do, because that was 3 months of my life down the toilet
> for something that is too slow to be useful in Java.
>
>
>
> Any argument depends on your priorities. I’ve written tons of web apps,
> because I needed to get paid.  I’ve written better shitty mobile apps than
> the average shitty mobile apps.  However, I’m not going to do any of that
> any longer in crap that never improves, because after 26 years the
> irritability it produces is more than it’s worth.
>
>
>
> A few weeks ago, a recruiter that specializes in Smalltalk called me about
> a job, although they were well aware I live 1500 miles away from the city I
> lived in when I had worked through them, to see if I’d be willing to move
> back there for a job.  That sounds like another ‘there aren’t enough
> Smalltalk developers", but it wasn’t, because the job wasn’t writing
> Smalltalk.  It was writing Java.
>
>
>
> The person hiring, though, wouldn’t look at anyone who didn’t write
> Smalltalk, because "people who grew up with Java don’t know how to write
> c