Re: [Pharo-users] Jupyter notebooks / Dynabook / JupyterTalk

2018-08-07 Thread Andrew Glynn
Grafoscopio exists due to various limitations of Jupyter, particularly the lack 
of real support for objects in its core language - Python.  JSON is not 
equivalent to STON even in terms of storing JavaScript, it's mainly a data 
format.

On 8/7/18, 2:14 PM, "Pharo-users on behalf of Sean P. DeNigris" 
 wrote:

Hannes Hirzel wrote
> P.S. Some notes and links how Jupyter notebooks relate to the Dynabook
> idea here
> http://wiki.squeak.org/squeak/1318

From the swiki: "A Jupyter Notebook is… similar to Active Essays kept in a
Smalltalk based Dynabook."

I've understood a key point of the Dynabook dream (and Smalltalk as
prototype Dynabook software) is that as you drill down to something facing
the end user, you keep the full power of the computer. For example, when
Alan Kay presents, he doesn't use Powerpoint, but Squeak. Hence, the slides
are each fully functioning World where one can e.g. bring up halos,
inspectors, class browsers.

Is that the case with Jupiter Notebooks? I assumed not since the notebooks
seem to be saved as JSON, unless maybe it's used for object serialization
like STON?



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







Re: [Pharo-users] Right repo for TaskIt and features?

2018-04-24 Thread Andrew Glynn
Btw I think you meant "thrashing", not "trashing'.  
Trashing is what my team leads do when they read my code.  .
AndrewOn Tue, 2018-04-24 at 15:31 +, Santiago Bragagnolo wrote:
> 
> 
> On Tue, 24 Apr 2018 at 16:18 Holger Freyther 
> wrote:
> > 
> > 
> > > On 24. Apr 2018, at 20:16, Santiago Bragagnolo 
> > o...@gmail.com> wrote:
> > > 
> > > Hi Holger! 
> > > I respond in bold
> > 
> > hehe. And in the reply I am back to non rich text. Let me see if I
> > quote it correctly.
> hahahaha, non rich?, how come?  I will still bolding hoping that if
> you need to ensure the content you will check in a rich text client
> :D 
> 
> > 
> > 
> > > 
> > > 
> > > 
> > > On Tue, 24 Apr 2018 at 12:00 Holger Freyther 
> > wrote:
> > > Hey!
> > > 
> > 
> > 
> > > I wondered if somebody thought of remote task execution?
> > > 
> > > *If you mean something else, I would need more information :).
> > 
> > 
> > 
> > 
> > > When you do [ action ] schedule / [ action ] future, both created
> > tasks are scheduled into the default runner. The default runner is
> > a working pool with a default 'poolSizeMax' on 4, meaning, limit 4
> > processes working over the tasks. (this is a dynamic configuration,
> > you can change it by 
> > > TKTConfiguration runner poolMaxSize: 20. )
> > 
> > Yes. But with more work than the workers can handle the queue will
> > grow. Which means the (median/max) latency of the system will
> > monotonically increase.. to the point of the entire system failing
> > (tasks handled after the external deadlines expired, effectively no
> > work being done).
> 
> Normally the worker pool adjust to the minimal needed workers (there
> is a watch dog checking how much idle processes are there, or more
> workers are needed, and ensuring to spawn or stop process regarding
> to the state). 
> So, the number poolMaxSize is just a maximal limit. This limit should
> be set for ensuring that the tasks that are running concurrently are
> not incurring into too much resource consumption or into too much
> overhead leading to kind of trashing. 
> I am not really friend of setting only a number for such a complex
> problematic, but so far is the only approach I found that it does not
> lead to a complex design. If you have better ideas to discuss on this
> subject, i am completely open. (the same to deal with priorities by
> general system understanding rather than absolute numbers) 
> 
>  
> > 
> > For network connected systems I like to think in terms of "back
> > pressure" (not read more from the socket than the image can handle,
> > eventually leading to the TCP window shrinking) and one way of
> > doing it is to have bounded queues (and/or sleep when scheduling
> > work).
> > 
> > I can see multiple parts of a solution (and they have different
> > benefits and issues):
> > 
> > * Be able to attach a deadline to a task (e.g. see context.Context
> > in go)
> > * Be able to have a "blocking until queue is less than X elements"
> > schedule  (but that is difficult as one task might be scheduled
> > during the >>#value of another task).
> > 
> I wouldn't mind to have a second type of queue with this behaviour,
> with a mean of configuration for setting one or other queue with it's
> specific management encapsulated.
> 
> Personally, in my domains of usage ( crawling, querying and in
> sensor/actuator) i personally wouldn't use it. But I suppose you have
> a better domain for this case. It would be good to discuss it to have
> a better understanding of the need. 
>  
> > 
> > 
> > > Are there ideas how to add remote task scheduling? Maybe use
> > Seamless for it?
> > > Since you speak about seamless here, i suppose two different
> > images, doesn't matter where. 
> > > It's not a bad idea to go seamless, but i did not go through the
> > first restriction of remote executions (if the remote image can or
> > not execute the task and if both images share the same semantic for
> > the execution), then i did not yet checked on which communication
> > platform to use for it 
> > 
> > Right it would need to be homogeneous images (and care taken that
> > the external interface remains similar enough).
> I would like to understand a bit better what you are trying to do. 
> I have the hunch that you are looking for a multiple images solution,
> for load balance in between images. TaskIT is mean to plan tasks into
> process, regarding to the local image needs. You seems to need
> something for planning tasks of a general system, beyond one image,
> and maybe taking in care a process / network topology.
> 
> If it's more that side, we should discuss in what extensions we can
> do into taskit to be suitable of usage in this case, but surely I
> would be inclined to do a higher level framework or even middleware
> that uses taskit, than to add all those complexities in taskit. The
> good news is that i may be needing something similar, so I will be
> able to help there. 
> 
> 
> > 
> > 
> > > 

Re: [Pharo-users] Right repo for TaskIt and features?

2018-04-24 Thread Andrew Glynn
Generally to avoid this I've used the Synapse micro service bus.  It
also allows the creation of an unlimited number of queues, allowing
higher priority tasks to "jump the queue".  ' Backpressure' is
precisely what message buses avoid in distributed computing.
One of my never-have-time-for projects is to port Synapse to Pharo.
SST has a 'start a slave on another node and route to it' methodology
but it's hella complex, especially in terms of distributed garbage
collection etc.  For real-time systems SST is great, not really
necessary to get into that kind of complexity otherwise though.
AndrewOn Tue, 2018-04-24 at 15:31 +, Santiago Bragagnolo wrote:
> 
> 
> On Tue, 24 Apr 2018 at 16:18 Holger Freyther 
> wrote:
> > 
> > 
> > > On 24. Apr 2018, at 20:16, Santiago Bragagnolo 
> > o...@gmail.com> wrote:
> > > 
> > > Hi Holger! 
> > > I respond in bold
> > 
> > hehe. And in the reply I am back to non rich text. Let me see if I
> > quote it correctly.
> hahahaha, non rich?, how come?  I will still bolding hoping that if
> you need to ensure the content you will check in a rich text client
> :D 
> 
> > 
> > 
> > > 
> > > 
> > > 
> > > On Tue, 24 Apr 2018 at 12:00 Holger Freyther 
> > wrote:
> > > Hey!
> > > 
> > 
> > 
> > > I wondered if somebody thought of remote task execution?
> > > 
> > > *If you mean something else, I would need more information :).
> > 
> > 
> > 
> > 
> > > When you do [ action ] schedule / [ action ] future, both created
> > tasks are scheduled into the default runner. The default runner is
> > a working pool with a default 'poolSizeMax' on 4, meaning, limit 4
> > processes working over the tasks. (this is a dynamic configuration,
> > you can change it by 
> > > TKTConfiguration runner poolMaxSize: 20. )
> > 
> > Yes. But with more work than the workers can handle the queue will
> > grow. Which means the (median/max) latency of the system will
> > monotonically increase.. to the point of the entire system failing
> > (tasks handled after the external deadlines expired, effectively no
> > work being done).
> 
> Normally the worker pool adjust to the minimal needed workers (there
> is a watch dog checking how much idle processes are there, or more
> workers are needed, and ensuring to spawn or stop process regarding
> to the state). 
> So, the number poolMaxSize is just a maximal limit. This limit should
> be set for ensuring that the tasks that are running concurrently are
> not incurring into too much resource consumption or into too much
> overhead leading to kind of trashing. 
> I am not really friend of setting only a number for such a complex
> problematic, but so far is the only approach I found that it does not
> lead to a complex design. If you have better ideas to discuss on this
> subject, i am completely open. (the same to deal with priorities by
> general system understanding rather than absolute numbers) 
> 
>  
> > 
> > For network connected systems I like to think in terms of "back
> > pressure" (not read more from the socket than the image can handle,
> > eventually leading to the TCP window shrinking) and one way of
> > doing it is to have bounded queues (and/or sleep when scheduling
> > work).
> > 
> > I can see multiple parts of a solution (and they have different
> > benefits and issues):
> > 
> > * Be able to attach a deadline to a task (e.g. see context.Context
> > in go)
> > * Be able to have a "blocking until queue is less than X elements"
> > schedule  (but that is difficult as one task might be scheduled
> > during the >>#value of another task).
> > 
> I wouldn't mind to have a second type of queue with this behaviour,
> with a mean of configuration for setting one or other queue with it's
> specific management encapsulated.
> 
> Personally, in my domains of usage ( crawling, querying and in
> sensor/actuator) i personally wouldn't use it. But I suppose you have
> a better domain for this case. It would be good to discuss it to have
> a better understanding of the need. 
>  
> > 
> > 
> > > Are there ideas how to add remote task scheduling? Maybe use
> > Seamless for it?
> > > Since you speak about seamless here, i suppose two different
> > images, doesn't matter where. 
> > > It's not a bad idea to go seamless, but i did not go through the
> > first restriction of remote executions (if the remote image can or
> > not execute the task and if both images share the same semantic for
> > the execution), then i did not yet checked on which communication
> > platform to use for it 
> > 
> > Right it would need to be homogeneous images (and care taken that
> > the external interface remains similar enough).
> I would like to understand a bit better what you are trying to do. 
> I have the hunch that you are looking for a multiple images solution,
> for load balance in between images. TaskIT is mean to plan tasks into
> process, regarding to the local image needs. You seems to need
> something for planning tasks of a general 

Re: [Pharo-users] Right repo for TaskIt and features?

2018-04-24 Thread Andrew Glynn
What about using VertStix for remote execution?
Andrew On Tue, 2018-04-24 at 15:31 +, Santiago Bragagnolo wrote:
> 
> 
> On Tue, 24 Apr 2018 at 16:18 Holger Freyther 
> wrote:
> > 
> > 
> > > On 24. Apr 2018, at 20:16, Santiago Bragagnolo 
> > o...@gmail.com> wrote:
> > > 
> > > Hi Holger! 
> > > I respond in bold
> > 
> > hehe. And in the reply I am back to non rich text. Let me see if I
> > quote it correctly.
> hahahaha, non rich?, how come?  I will still bolding hoping that if
> you need to ensure the content you will check in a rich text client
> :D 
> 
> > 
> > 
> > > 
> > > 
> > > 
> > > On Tue, 24 Apr 2018 at 12:00 Holger Freyther 
> > wrote:
> > > Hey!
> > > 
> > 
> > 
> > > I wondered if somebody thought of remote task execution?
> > > 
> > > *If you mean something else, I would need more information :).
> > 
> > 
> > 
> > 
> > > When you do [ action ] schedule / [ action ] future, both created
> > tasks are scheduled into the default runner. The default runner is
> > a working pool with a default 'poolSizeMax' on 4, meaning, limit 4
> > processes working over the tasks. (this is a dynamic configuration,
> > you can change it by 
> > > TKTConfiguration runner poolMaxSize: 20. )
> > 
> > Yes. But with more work than the workers can handle the queue will
> > grow. Which means the (median/max) latency of the system will
> > monotonically increase.. to the point of the entire system failing
> > (tasks handled after the external deadlines expired, effectively no
> > work being done).
> 
> Normally the worker pool adjust to the minimal needed workers (there
> is a watch dog checking how much idle processes are there, or more
> workers are needed, and ensuring to spawn or stop process regarding
> to the state). 
> So, the number poolMaxSize is just a maximal limit. This limit should
> be set for ensuring that the tasks that are running concurrently are
> not incurring into too much resource consumption or into too much
> overhead leading to kind of trashing. 
> I am not really friend of setting only a number for such a complex
> problematic, but so far is the only approach I found that it does not
> lead to a complex design. If you have better ideas to discuss on this
> subject, i am completely open. (the same to deal with priorities by
> general system understanding rather than absolute numbers) 
> 
>  
> > 
> > For network connected systems I like to think in terms of "back
> > pressure" (not read more from the socket than the image can handle,
> > eventually leading to the TCP window shrinking) and one way of
> > doing it is to have bounded queues (and/or sleep when scheduling
> > work).
> > 
> > I can see multiple parts of a solution (and they have different
> > benefits and issues):
> > 
> > * Be able to attach a deadline to a task (e.g. see context.Context
> > in go)
> > * Be able to have a "blocking until queue is less than X elements"
> > schedule  (but that is difficult as one task might be scheduled
> > during the >>#value of another task).
> > 
> I wouldn't mind to have a second type of queue with this behaviour,
> with a mean of configuration for setting one or other queue with it's
> specific management encapsulated.
> 
> Personally, in my domains of usage ( crawling, querying and in
> sensor/actuator) i personally wouldn't use it. But I suppose you have
> a better domain for this case. It would be good to discuss it to have
> a better understanding of the need. 
>  
> > 
> > 
> > > Are there ideas how to add remote task scheduling? Maybe use
> > Seamless for it?
> > > Since you speak about seamless here, i suppose two different
> > images, doesn't matter where. 
> > > It's not a bad idea to go seamless, but i did not go through the
> > first restriction of remote executions (if the remote image can or
> > not execute the task and if both images share the same semantic for
> > the execution), then i did not yet checked on which communication
> > platform to use for it 
> > 
> > Right it would need to be homogeneous images (and care taken that
> > the external interface remains similar enough).
> I would like to understand a bit better what you are trying to do. 
> I have the hunch that you are looking for a multiple images solution,
> for load balance in between images. TaskIT is mean to plan tasks into
> process, regarding to the local image needs. You seems to need
> something for planning tasks of a general system, beyond one image,
> and maybe taking in care a process / network topology.
> 
> If it's more that side, we should discuss in what extensions we can
> do into taskit to be suitable of usage in this case, but surely I
> would be inclined to do a higher level framework or even middleware
> that uses taskit, than to add all those complexities in taskit. The
> good news is that i may be needing something similar, so I will be
> able to help there. 
> 
> 
> > 
> > 
> > > Have workers connect to the scheduler? Other ideas?
> > > what do 

Re: [Pharo-users] Where do we go now ?

2018-04-13 Thread Andrew Glynn
How many subsystems that do pretty much the same thing exist in Java?
 Or Programmable Hyperlinked Pasta?  
Try this:  do a set of Moose queries on a largish Pharo subsystem, say
GLORP, then do the same on EclipseLink, Toplink or Hibernate, either
with or without the JPA interfaces.  
Even with the tools in Moose the Java frameworks make little to no
sense compared to GLORP.  Neither do the names mean much other than
Hibernate, which itself could be taken n different ways.  
And JavaScript, well, what can you say about a language with prototypes
but no types to proto?
Most enterprise software is proof positive the Pastafarians are right -
I've seen plenty of flying spaghetti monsters.
AndrewOn Sat, 2018-04-14 at 00:31 +1200, Richard O'Keefe wrote:
> I was not talking about additional subsystems *for* Pharo,
> but subsystems already *in* Pharo.  For example, when I
> hover the mouse over "Epicea" in the leftmost browser
> panel, there is a pop-up that explains what is otherwise
> a rather opaque word.  But when I hover the mouse over
> "Fuel", nothing happens.  "Grease" => pop-up, "Growl", no.
> Actually there are three possibilities.  The third is that
> there's no pop-up but if you click, there is a package
> comment.
> 
> 
> On 14 April 2018 at 00:18, Peter Uhnák  wrote:
> > On Fri, Apr 13, 2018 at 2:05 PM, Richard O'Keefe 
> > wrote:
> > > There are a lot of subsystems in Pharo, and being a bear of
> > > very little brain, I have a hard time relating Zinc, Calypso,
> > >   to, well, whatever they are.  I presume there is
> > > somewhere a list of topic/name/PFX triples for guidance.
> > > Can some kind soul tell me where it is?
> > > 
> > Until we have mature package manager (similar to Cargo or npm), you
> > have to use google.
> > On the bright side, with the move to git(hub), people are much more
> > likely to actually describe what their project does, and maybe even
> > a bit of documentation. This was almost non-existent with
> > SmalltalkHub.
> > 
> > Peter
> > 

Re: [Pharo-users] Where do we go now ?

2018-04-13 Thread Andrew Glynn
I find NPM as obscure as Pharo, honestly, and VA Smalltalk is worse
(wth does abt or sst stand for?).  Grunt, Gulp, etc., how do the names
relate to what they do?  
Electron is as obscure as Phobos (although a phobia with web pages
turned into desktop apps may be appropriate).
AndrewOn Fri, 2018-04-13 at 14:18 +0200, Peter Uhnák wrote:
> On Fri, Apr 13, 2018 at 2:05 PM, Richard O'Keefe 
> wrote:
> > There are a lot of subsystems in Pharo, and being a bear of
> > very little brain, I have a hard time relating Zinc, Calypso,
> >   to, well, whatever they are.  I presume there is
> > somewhere a list of topic/name/PFX triples for guidance.
> > Can some kind soul tell me where it is?
> > 
> Until we have mature package manager (similar to Cargo or npm), you
> have to use google.
> On the bright side, with the move to git(hub), people are much more
> likely to actually describe what their project does, and maybe even a
> bit of documentation. This was almost non-existent with SmalltalkHub.
> 
> Peter

Re: [Pharo-users] Language tools

2018-01-18 Thread Andrew Glynn
Vladimir, I came across these and thought some of them might be useful for 
Grafoscopio.  Particularly the simple ones like clearer, multilingual fonts.

Andrew

 





Re: [Pharo-users] Pharo and ActiveDirectory

2018-01-10 Thread Andrew Glynn
If you make some provision to handle attributes with the 'binary' flag set, 
which are generally base64 encoded data such as the person's photo, GUID/PUID, 
and synch options, it should be ok. 

LDAP uses similar encoding rules to ASN.1, and ASN.1 has better documentation.

The only difficult problem I've run into is that binary values synched via HTML 
(common between MS LDAP and 'truer' LDAP implementations such as OpenLDAP and 
OpenDJ) often don't have the binary fields encoded correctly in the HTML.  I 
could probably dig up some code that handles binary attributes, but it wouldn't 
be Smalltalk code unfortunately.

Cheers
Andrew


-Original Message-
From: Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] On Behalf Of 
Torsten Bergmann
Sent: Wednesday, January 10, 2018 6:11 PM
To: Any question about pharo is welcome 
Subject: [Pharo-users] Pharo and ActiveDirectory

Hi,

anyone used/uses Pharo to bind to ActiveDirectory?

Last thread I've seen is http://forum.world.st/Pharo-amp-LDAP-td3308841.html

Does it work now?


Is http://map.squeak.org/package/ccbcb878-e09b-48ed-a773-5939bf8c2c3e the 
latest code is there something more updated?

Thanks
T.





Re: [Pharo-users] Strange 'Connection closed while waiting for data.' Zinc error

2017-12-24 Thread Andrew Glynn
The only time I've seen that behaviour is with the combination of a slow server 
and a proxy such as CloudFlare where the sysadmin has set tcp_wait to some 
ridiculously small number.  Have you tried setting the connection reuse timeout 
to 0, or setting 'beOneShot'?

Zinc doesn't support the additions in HTTP/2, but I can't offhand think of any 
reason that should cause that specific behaviour. I've had sufficient problems 
with HTTP/2 over slow connections (I live where there are no land lines of any 
kind) that I replaced the HTTP/2 code in Nginx with code from pureftpd in order 
to access my server at home when I'm out.

Andrew

On 2017-12-24, 3:30 PM, "Pharo-users on behalf of Yuriy Tymchuk" 
 wrote:

Hi,

I’m trying to hack something with Pharo 6.1 and Phillips Hue[1] (they have 
a simple REST API). When I try to do a GET request with Zinc like this:

ZnClient new
url: 
'http://192.168.0.115:80/api/1028d66426293e821ecfd9ef1a0731df/lights/';
get

I get a “ConnectionClosed: Connection closed while waiting for data” 
exception. The service provides a JSON response that I can get without a 
problem by using a web browser or curl. Also if I try to access fewer data 
(e.g. adding /1 to the url, so it gets only one resource) I don’t get the 
exception.

What is even more strange, when I resume the exception I get the desired 
response i.e. this works:

[ ZnClient new
url: 
'http://192.168.0.115:80/api/1028d66426293e821ecfd9ef1a0731df/lights/';
get ]

on: ConnectionClosed
do: [ :ex |
ex resumeUnchecked: ex defaultResumeValue ]

Of course I cannot share the server that is on my local network for 
resting, but maybe anyone knows it there are any known issues with Zinc, or if 
there are ways for me to debug the issue further.

Cheers.
Uko

[1]: https://www.developers.meethue.com






Re: [Pharo-users] [Pharo-dev] Things that may be of interest in terms of time zone / geospatial mapping.

2017-11-22 Thread Andrew Glynn
In terms of integrating Pharo with any of these technologies, it can be done 
with Apache Synapse, and/or a combination of JINI (Apache River) services 
mapped to their Vert.x equivalents.  (using Stamp or VerStix).
I have the code for the latter. If anyone wants it I can clean it up to be 
presentable and put it on GitHub.
The former can be done via Synapse configuration, including adding the 
requisite Axis2 protocol.
Of course, already written code is also easier to port than new code is to 
write, generally speaking. 
Since a number of the projects call out to publicly available resources, those 
would be relatively easy to rewrite in Pharo.
In any case, there are at least a couple of articles / projects that may be of 
interest.
Apologies for the length of the post – if it’s not of interest just skip it.

Andrew Glynn

>From the Eclipse Foundation newsletter:


Eclipse Newsletter - 2017.11.22

Location Matters

 
Editor's Note
There is an assumption that up to 80% of all objects and activities are linked 
to a specific and unique location, permanently or at any given time. This 
implies that a majority of all - big and small - data has a spatial or 
spatial-temporal component. Something that is of great value for asset 
management, remote sensing, IoT, and autonomous cars, just to name a few. No 
wonder that geospatial technology has become the must-have in many commercial 
and industrial applications.

LocationTech, an Eclipse Foundation Working Group for spatially aware 
technology, is the home for Big (and smaller) Geospatial Data processing and 
visualization components and development tools. Within LocationTech, a variety 
of stakeholders collaborate on projects that deal with the various challenges 
presented by the 'Big Data V's'.

This issue of the Eclipse Newsletter is dedicated to some of the latest Big 
Geospatial Data development projects available. We kick off with an article 
about the open source geospatial toolkit, JTS 1.15. We then explore 
LocationTech GeoTrellis before moving on to two case studies: 1) exactEarth and 
GeoMesa being used for Hurricane Harvey and 2) Spatial Data and Precision 
Agriculture. Finally, we learn what's new in GeoGig 1.2.

You are welcome to join the conversation, participate, and benefit regardless 
of background - industry, government, science, or academia, etc.

We'd like to thank the Eclipse LocationTech community for contributing these 
articles. It was a great pleasure to work with each author and the community as 
a whole.


Articles 

Geospatial starts with Geometry

A cornerstone of the open source geospatial toolkit, JTS 1.15 brings spatial 
data types, spatial relationships, and spatial operations for processing 
geometries to the Eclipse Foundation.
 

LocationTech GeoTrellis - What's New

GeoTrellis continues to advance the field of distributed processing of 
geospatial imagery and raster data.

Maritime Location Intelligence with exactEarth data and LocationTech GeoMesa

The CCRI team shows how exactEarth’s maritime dataset was used with GeoMesa to 
explore shipping traffic during Hurricane Harvey.

Spatial Data and Precision Agriculture

Witness the power of LocationTech software when used as a tool for precision 
agriculture and large scale farming.

LocationTech GeoGig 1.2.0 now released!

GeoGig 1.2 delivers improved usability with QGIS, better Replication and 
support for GeoServer 2.12.



Articles
Eclipse Newsletter - 2017.11.22

Location Matters

LocationTech GeoTrellis - What's New

GeoTrellis continues to advance the field of distributed processing of 
geospatial imagery and raster data.




Maritime Location Intelligence with exactEarth data and LocationTech GeoMesa

The CCRI team shows how exactEarth’s maritime dataset was used with GeoMesa to 
explore shipping traffic during Hurricane Harvey.

Spatial Data and Precision Agriculture

Witness the power of LocationTech software when used as a tool for precision 
agriculture and large scale farming.




LocationTech GeoGig 1.2.0 now released!

GeoGig 1.2 delivers improved usability with QGIS, better Replication and 
support for GeoServer 2.12.

What is FOSS4G NA 2018

Get a sneak peek at the premier 2018 North American conference and tradeshow 
for all things open source geospatial comes to St. Louis, MO.






















































Re: [Pharo-users] Article about PowerPoint and Smalltalk

2017-11-21 Thread Andrew Glynn
https://youtu.be/_JU48-FVqvQ

Doug is a fellow I worked with early in my career, writing Lingo in Director 
for presentations.

Andrew Glynn

From: askoh
Sent: Tuesday, November 21, 2017 10:51 AM
To: pharo-users@lists.pharo.org
Subject: [Pharo-users] Article about PowerPoint and Smalltalk

https://spectrum.ieee.org/tech-history/cyberspace/the-improbable-origins-of-powerpoint


I like the end
"Meanwhile, the dominant mode of personal computing globally has firmly
shifted from the desktop and laptop to the smartphone. As yet, no new vision
of personal computing like the one that came from Xerox PARC in the 1970s
has emerged. And so for the moment, it appears that PowerPoint, as we know
it, is here to stay."

Aik-Siong Koh



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




Re: [Pharo-users] New Pharo article at The Cohort

2017-11-20 Thread Andrew Glynn
The amount of FUD spread by M$ and IBM, just two very noticeable examples out 
of numerous others, is possible because very few of those laws are applicable 
unless the statement is part of a paid campaign by the originating company.  If 
I exaggerate how well my MB 400E was made on a blog post, neither I nor MB are 
likely to run into any legal issues.  If MB does so in an advertisement, it 
becomes a different matter.

That said, I don’t think merit is really in question.  There are two bigger 
ones:  

1. To whose advantage is inefficient development and the tooling that promotes 
it? 

2. How would people who find it too difficult to maintain state in a single 
threaded language acclimatize themselves to Pharo Smalltalk (or to any actual 
programming language, for that matter) ?

The first question doesn’t have one answer, since it’s to the advantage of a 
number of interested parties, from large organizations that can afford 
inefficiency more than smaller competitors (and simultaneously can afford the 
not inconsequential investment in writing a proprietary Smalltalk or something 
similar for things that “must work”), to click-bait online ‘forums’ such as 
“Slack Overload”.  

The second, well, I suppose how you would answer it depends on your experience 
working with said people.  My own hasn’t been particularly positive.

Not that I’m particularly enamoured with the idea of Pharo becoming mainstream. 
 It would then be subject to the same disruption as current mainstream 
environments.  The degradation of Java environments over the past 20 years is a 
good example.  It was never great, but the combination of syntactic parmesan to 
hide the bad spaghetti and the need to support every passing fad has made it 
nearly unusable. I’ve seen a number of companies specifying Java 7 or even Java 
6 in their tech stacks “because Java 8 is too unreliable”.

Until mainstream “software engineers” start acting like engineers, i.e. people 
who make things work, rather than popularity contestants or fashion victims, 
that won’t change.

Andrew Glynn

From: Richard A. O'Keefe
Sent: Sunday, November 19, 2017 6:19 PM
To: Pharo-users@lists.pharo.org
Subject: Re: [Pharo-users] New Pharo article at The Cohort

I'm obviously missing a lot of the context here, but in  my
country (New Zealand) there is something called the
Fair Trading Act.

My understanding from reading the Commerce Commission web
site is that
  - false or misleading representations about goods or
services or the availability of goods are against the
law
  - "The penalties for breaching the Act can be severe"
(Grant Harris).
  - obviously wild exaggerations made to be funny are sort
of OK, but if anyone falls for them you could find this
tested in court
  - "Any claims made to bolster the image of a business or
its products or services must be accurate."
  - "The Act applies even when there was no intention to
breach the Act".  (Grant Harris again.)

http://www.comcom.govt.nz/fair-trading/fair-trading-act-fact-sheets/claiming-you-re-something-you-re-not/

The Fair Trading Act was passed as part of a program of market
liberalisation and in order to foster competition and market
efficiency, and the majority of the cases have been trader-to-
trader.  Why mention this?  Because it's not just places where
consumer protection is high-ranked that have such laws; it's
also places that are gung-ho about free markets and competition
and want to protect businesses.

Law in the USA varies from state to state.  For California, see
https://www.truthinadvertising.org/california/
(which has a navbar on the right for other states).

Me, I think Pharo is good enough to "sell" on its merits
without any exaggerations.  (If you could combine the great
looks of Dolphin Smalltalk with the great features of Pharo,
drool...)




Re: [Pharo-users] X11 options on Ubuntu VM / Athens renderingproblems

2017-11-18 Thread Andrew Glynn
If you stored the settings without full screen mode checked, start up Pharo, 
then switch in into full screen mode, it should run at full performance if I’m 
right.  I have an intel integrated card + an NVidia, it can work in either mode 
or in Optimus mode, where it only goes into NVidia if an app requests it or 
goes full screen.  Pharo is very quick in full screen as a result, since I run 
it in Optimus mode (Linux has issues with the windowing system using the NVidia 
drivers in normal mode).

Since Pharo uses SDL2 for the base graphic subsystem, which is one of the main 
gaming graphics platforms, it wouldn’t be surprising if Wayland assumed it was 
a game if it starts full screen, and intel graphics aren’t all that great for 
gaming (so I’ve heard – I have an Xbox with one game – FIFA, lol).

Andrew Glynn

From: J.F. Rick
Sent: Saturday, November 18, 2017 3:06 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] X11 options on Ubuntu VM / Athens renderingproblems

Interesting. Could be. The specific problem came up on an Intel NUC which uses 
Intel integrated graphics.

Cheers,

Jeff

On Mon, Nov 6, 2017 at 5:24 PM Andrew Glynn <aglyn...@gmail.com> wrote:
I don’t have any issues with Linux in full screen mode (Mint 18 KDE and OEL7 
UEK KDE) but it sounds like it may be an issue with the Wayland graphics 
system, and KDE doesn’t use it AFAIK.  If so, it may also be driver specific – 
what graphics card are you using?
 
It is just a guess, but pulling Unity forward switches it out of Wayland 
graphics mode (used mainly for games etc. that run full screen), if it doesn’t 
go back into it until a new full screen app starts up it would account for the 
improvement.
 
Andrew
 
Sent from Mail for Windows 10
 
From: J.F. Rick
Sent: Monday, November 6, 2017 4:57 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] X11 options on Ubuntu VM / Athens renderingproblems
 
Just a quick follow up: We've found that if we are in fullscreen Pharo mode on 
Linux and hit the ALT button twice, the Athens-based rendering speeds up 
significantly. The first ALT brings the Unity launcher to the foreground. The 
second ALT bring fullscreen Pharo back to the foreground. I'm not sure why this 
makes Athens rendering faster but it does. Perhaps that offers a clue as to 
what is slowing Pharo down in fullscreen on Linux.
 
Cheers,
 
Jeff
 
On Wed, Oct 11, 2017 at 2:56 PM Hilaire <hila...@drgeo.eu> wrote:
We tested it on P6.1 64bits, and this Cairo crash seems to be gone. It
may need more testing though.

Is it thanks to P6.1 or the 64bits image/VM? It looks strange because it
looked like a lib Cairo crash, but in the other hand the faulty C
function did not appear to be called from Pharo image.

What need to be done porting to P6.1, is mainly image shrinking, fix of
several bugs from P6.1 impacting drgeo, working setup for
linux/windows/mac. Still some job.

Hilaire

Le 02/10/2017 à 15:19, Stephane Ducasse a écrit :
> How could we help?
>
>
> On Sun, Oct 1, 2017 at 9:14 PM, Hilaire<hila...@drgeo.eu>  wrote:
>> I had situation where the system libcairo:i386 does not work with Dr.Geo[1],
>> Pharo crashes with what looks like a Cairo crash! Looks like not a Pharo
>> fault, but I am definitely stuck.
>>
>> It is problematic, it is a system (LinuxMint based) used in Geneva primary
>> schools and Dr. Geo was expected to be used there:(
>>
>> Hilaire
>>
>> [1]http://forum.world.st/Cairo-related-crash-with-Dr-Geo-tt4952023.html
>>
>>
>> Le 01/10/2017 à 19:50, Igor Stasenko a écrit :
>>>      All these difficulties are good argument to get the appropriate
>>>      libcairo/libpng shipped with the Linux VM, as done with Windows
>>>      and MacOSX VM
>>>
>>> Nah, in my case, there's nothing that can be lableled as "Pharo fault". It
>>> is definitely a linux/ubuntu ecosystem fault. - by not providing parallel
>>> updates for 32 & 64 bit variant of same library.
>> --
>> Dr. Geo
>> http://drgeo.eu
>>
>>
>>

--
Dr. Geo
http://drgeo.eu

 



Re: [Pharo-users] Which dbf does GADM need?

2017-11-18 Thread Andrew Glynn
Thanks, for some reason the version I have is trying to pull it from 
http://dl.dropboxusercontent.com/u/103833630/gadm28_dbf.zip

Andrew Glynn

From: Hernán Morales Durand
Sent: Saturday, November 18, 2017 2:40 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Which dbf does GADM need?

Hi Andrew,

The GADM Configuration should download and uncompress the CSV database
file directly. It is downloaded from the Territorial GitHub repository
(https://github.com/hernanmd/Territorial/raw/master/res) and can be
installed with the following script:

Metacello new
smalltalkhubUser: 'hernan' project: 'GADM';
configuration: 'GADM';
version: #development;
load.

Actually I converted the DBF to CSV, from the Territorial manual: "The
GADM package can be installed and used independently from Territorial,
and includes the raw GADM (version 2) data in CSV format, parsed to
build a browseable GADM world tree, allowing off-line access to the
GADM database in a hierarchical fashion with objects. This leverages
the need to perform on-line queries for basic requests. A hierarchical
tree can be used to build a toponym browser for example"

As an example, if you want to browse the world using a FastTable tree evaluate:

GADMWorldTree example1

I just fixed one issue with deprecated #name and I will update now the
Catalog version.

Cheers,

Hernán



2017-11-18 12:34 GMT-03:00 Andrew Glynn <aglyn...@gmail.com>:
> The dropbox URL for the dbf for GADM is no longer there.  I can upload the
> file to my Google drive and share it publicly, but there’s two dbf files,
> one a single layer and one a 6 layer file.
>
>
>
> Which does GADM actually use (yes, I’m being lazy).
>
>
>
> Andrew Glynn




Re: [Pharo-users] New Pharo article at The Cohort

2017-11-18 Thread Andrew Glynn
Here’s a list of the articles @ https://medium.com/@dasein42/latest, in case 
any catch your eye:

Latest
Go to the profile of Andrew Glynn
Andrew Glynn
Nov 14
“Dynamics Trumps Semantics”: Why Java is Easy to Learn, but Difficult to be 
Good at.

Read more…


Go to the profile of Andrew Glynn
Andrew Glynn
Nov 8
IoT Initiative — “little brother”

The core notion behind “little brother” is to overcome the inevitable lag 
between the increase in…
Read more…


Go to the profile of Andrew Glynn
Andrew Glynn
Nov 7
Software Developer Tooling: Then and Now

While my criticisms of current tooling for development are often met with an 
attitude of…
Read more…

6

Go to the profile of Andrew Glynn
Andrew Glynn
Nov 5

The Inverted Ambiguity of the Post-Modern Public, or Not
Read more…


Go to the profile of Andrew Glynn
Andrew Glynn
Nov 5
Someone Was Asking About Devops …

Someone I know was asking me about devops the other day, particularly the 
number and variety of…
Read more…

5

Go to the profile of Andrew Glynn
Andrew Glynn
Nov 5
Reality and the ‘Simple’ True, or the True-in-Itself, or the Truth

Read more…


Go to the profile of Andrew Glynn
Andrew Glynn
Nov 5
What is Intended by the term “Object-Oriented”?

Read more…

1
1 response
Go to the profile of Andrew Glynn
Andrew Glynn
Nov 4
Pharo Smalltalk as a DSL Without a DSL

If anyone has written a DSL in Eclipse, for example, simply the base projects 
Eclipse…
Read more…

22

Go to the profile of Andrew Glynn
Andrew Glynn
Nov 4

Tooling: Design of Meta and Underlying Rationale
Read more…


Go to the profile of Andrew Glynn
Andrew Glynn
Nov 2

How the Results of Disruption Changes the Discussion Between Aficionados of 
Specific Languages and Environments
Read more…


Go to the profile of Andrew Glynn
Andrew Glynn
Nov 2
Disrupted Software the Disrupted Software Industry Uses to Build Disruptive 
Software
Read more…


Go to the profile of Andrew Glynn
Andrew Glynn
Nov 2
Software is Virtual; the Virtual is Disruptive; Software Disrupts the 
Development of Software
Read more…


Go to the profile of Andrew Glynn
Andrew Glynn
Nov 2
Three Comments from a Conversation on a Mailing List
Read more…

10

Go to the profile of Andrew Glynn
Andrew Glynn
Oct 28
Reasons … and Reasons , How the Software Industry Turns its Issues into 
Subscriptions

Read more…

12

Go to the profile of Andrew Glynn
Andrew Glynn
Oct 19
A Commentary On Three Quotes From “Working on the Go Team at Google”
(https://medium.com/@ljrudberg/working-on-the-go-team-at-google-917b2c8d35ff)
“First, a little bit about myself: I am 23 years old, less than two years out 
of my undergrad degree at UW…
Read more…

1 response
Go to the profile of Andrew Glynn
Andrew Glynn
Oct 11
Building-With Versus Building-On:
Improving Software Development Incrementally
Three articles and a doctoral thesis that I came across or had pointed out to 
me recently deal with the state of the software industry from different angles. 
However different they are, they do relate, and by putting them…


From: Dimitris Chloupis
Sent: Saturday, November 18, 2017 5:10 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] New Pharo article at The Cohort


First of all, you need to understand that this article, like nearly all of
my other articles, is about /marketing/. I've never made any bones about
this.

If you know anything about marketing, you know that it involves exaggeration
and hyperbole. It sometimes involves bending the truth. The point of
marketing is to persuade on an emotional level, not a logical one.

This is exactly what companies like Apple and Microsoft do. If you think
Apple ads tell the absolute truth, then you are terribly naive.

So, is Pharo being used to fight Ebola? Not exactly, but who cares? I'm
trying to change people's perception. I'm trying to *move* them. If I have
to exaggerate, I will do so.

Actually there is a guy that I know that he actually cares

very much

he is called 

"Mr Law"

When a marketing , bends the truth and especially when it lies under UK, Greek  
and European Law is called "fraud" and it punishable under crimininal (jail 
time) and civil (compensation for damaged cause by fraudalent marketing) law. 
The penalties can be extemely severe if the fraud caused a substantial amount 
of damage in some way.

Under those legal systems I have studied (I am a lawyer) the only case that 
someone is allowed to lie is when he defiends himself. If you ever wondered how 
its possible lawyers to lie , now you know. Lying and bending the truth in this 
case is a legal principe set since ancient times by law to provide extra 
pressure to prove the a party is guilty. Its called "proof beyond reasonable 
doubt" and is  a very important legal principle. 

Outside that, say I submited a document as a defense lawyer that is edited or 
changed in some way , its fraud and especially fraud against the court is even 
more punished. If a witeness , exaggerates , bends t

Re: [Pharo-users] New Pharo article at The Cohort

2017-11-18 Thread Andrew Glynn
I have written a few articles on Medium, largely about the state of the 
software industry as a whole, the way disruptive software disrupts its own 
industry.  However most of the articles mention Smalltalk and Pharo in 
particular as having a good blend of being able to build-on what’s been done, 
while not standing still itself.

Some of the less journalistic pieces are also on academia.edu.

https://medium.com/@dasein42

cheers
Andrew Glynn

Sent from Mail for Windows 10

From: Dimitris Chloupis
Sent: Saturday, November 18, 2017 5:10 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] New Pharo article at The Cohort


First of all, you need to understand that this article, like nearly all of
my other articles, is about /marketing/. I've never made any bones about
this.

If you know anything about marketing, you know that it involves exaggeration
and hyperbole. It sometimes involves bending the truth. The point of
marketing is to persuade on an emotional level, not a logical one.

This is exactly what companies like Apple and Microsoft do. If you think
Apple ads tell the absolute truth, then you are terribly naive.

So, is Pharo being used to fight Ebola? Not exactly, but who cares? I'm
trying to change people's perception. I'm trying to *move* them. If I have
to exaggerate, I will do so.

Actually there is a guy that I know that he actually cares

very much

he is called 

"Mr Law"

When a marketing , bends the truth and especially when it lies under UK, Greek  
and European Law is called "fraud" and it punishable under crimininal (jail 
time) and civil (compensation for damaged cause by fraudalent marketing) law. 
The penalties can be extemely severe if the fraud caused a substantial amount 
of damage in some way.

Under those legal systems I have studied (I am a lawyer) the only case that 
someone is allowed to lie is when he defiends himself. If you ever wondered how 
its possible lawyers to lie , now you know. Lying and bending the truth in this 
case is a legal principe set since ancient times by law to provide extra 
pressure to prove the a party is guilty. Its called "proof beyond reasonable 
doubt" and is  a very important legal principle. 

Outside that, say I submited a document as a defense lawyer that is edited or 
changed in some way , its fraud and especially fraud against the court is even 
more punished. If a witeness , exaggerates , bends the truth and especially if 
he or she lies, its fraud and the court can send him straigh to jail with his 
lawyer.

Apple certainly does not do what you.
 
Actually Apple goes to great lenghts proving its claims , usually when Apple 
says "iPhone has a battery of 10 hours" you will see an asterisk that will 
point you to small letters in the bottom of the page that says exactly under 
which conditions 10 hours can be achieved. 

On the other hand its use of words like "magical" is not of objective value and 
by no means can misled or tell a lie because well, magic does not exist. The 
law assumes the a person has at least average intelligence and knowledge 
(exceptions of course people with mental disablities).  Most of the words that 
Apple uses in the ads that could be considered lies or bend truth are purely 
subjective terms. 

https://www.apple.com/iphone/

"Your face is now your password. Face ID is a secure and private new way to 
unlock, authenticate, and pay."

Say some experts come forward and prove that Apple's technology is not safe and 
especially if they prove that Apple knew it was not safe when it launched it, 
Apple is liable under law for fraud. 

There is of course a lot of illegal marketing out there, fraud after all is 
according to my experience the most common offenses that I have came accross in 
my 10 years carrier as a lawyer , but I can assure you just it may happen quite 
often does not make it any less illegal. You going to be shocked how many 
illegal things happens on the internet and the law's complexity and 
sophistication in providing protection against those things.

Of course I am not saying that someone is going to bother sue you tommorow, as 
its highly unlikely that someone will take your posts seriously as they are 
dominated by exaggerations and I have told you so many times in the past. But 
that does not mean he cannot. 

Maybe USA law is more relaxed, because it not the most respected legal system, 
as USA has a notorious bad record with human right and consumer protection. But 
none the less I can promise you in Europe, what you do is not legal and there 
are special legislation to protect consumers for these scenarios.



Re: [Pharo-users] New Pharo article at The Cohort

2017-11-18 Thread Andrew Glynn
It is, according to various citations  (CiteSeer) etc., being used to fight 
measles.  Maybe not as flashy, but at least it’s true.

Andrew Glynn

From: Dimitris Chloupis
Sent: Saturday, November 18, 2017 5:10 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] New Pharo article at The Cohort


First of all, you need to understand that this article, like nearly all of
my other articles, is about /marketing/. I've never made any bones about
this.

If you know anything about marketing, you know that it involves exaggeration
and hyperbole. It sometimes involves bending the truth. The point of
marketing is to persuade on an emotional level, not a logical one.

This is exactly what companies like Apple and Microsoft do. If you think
Apple ads tell the absolute truth, then you are terribly naive.

So, is Pharo being used to fight Ebola? Not exactly, but who cares? I'm
trying to change people's perception. I'm trying to *move* them. If I have
to exaggerate, I will do so.

Actually there is a guy that I know that he actually cares

very much

he is called 

"Mr Law"

When a marketing , bends the truth and especially when it lies under UK, Greek  
and European Law is called "fraud" and it punishable under crimininal (jail 
time) and civil (compensation for damaged cause by fraudalent marketing) law. 
The penalties can be extemely severe if the fraud caused a substantial amount 
of damage in some way.

Under those legal systems I have studied (I am a lawyer) the only case that 
someone is allowed to lie is when he defiends himself. If you ever wondered how 
its possible lawyers to lie , now you know. Lying and bending the truth in this 
case is a legal principe set since ancient times by law to provide extra 
pressure to prove the a party is guilty. Its called "proof beyond reasonable 
doubt" and is  a very important legal principle. 

Outside that, say I submited a document as a defense lawyer that is edited or 
changed in some way , its fraud and especially fraud against the court is even 
more punished. If a witeness , exaggerates , bends the truth and especially if 
he or she lies, its fraud and the court can send him straigh to jail with his 
lawyer.

Apple certainly does not do what you.
 
Actually Apple goes to great lenghts proving its claims , usually when Apple 
says "iPhone has a battery of 10 hours" you will see an asterisk that will 
point you to small letters in the bottom of the page that says exactly under 
which conditions 10 hours can be achieved. 

On the other hand its use of words like "magical" is not of objective value and 
by no means can misled or tell a lie because well, magic does not exist. The 
law assumes the a person has at least average intelligence and knowledge 
(exceptions of course people with mental disablities).  Most of the words that 
Apple uses in the ads that could be considered lies or bend truth are purely 
subjective terms. 

https://www.apple.com/iphone/

"Your face is now your password. Face ID is a secure and private new way to 
unlock, authenticate, and pay."

Say some experts come forward and prove that Apple's technology is not safe and 
especially if they prove that Apple knew it was not safe when it launched it, 
Apple is liable under law for fraud. 

There is of course a lot of illegal marketing out there, fraud after all is 
according to my experience the most common offenses that I have came accross in 
my 10 years carrier as a lawyer , but I can assure you just it may happen quite 
often does not make it any less illegal. You going to be shocked how many 
illegal things happens on the internet and the law's complexity and 
sophistication in providing protection against those things.

Of course I am not saying that someone is going to bother sue you tommorow, as 
its highly unlikely that someone will take your posts seriously as they are 
dominated by exaggerations and I have told you so many times in the past. But 
that does not mean he cannot. 

Maybe USA law is more relaxed, because it not the most respected legal system, 
as USA has a notorious bad record with human right and consumer protection. But 
none the less I can promise you in Europe, what you do is not legal and there 
are special legislation to protect consumers for these scenarios.



Re: [Pharo-users] Which dbf does GADM need?

2017-11-18 Thread Andrew Glynn
The dropbox URL for the dbf for GADM is no longer there.  I can upload the file 
to my Google drive and share it publicly, but there’s two dbf files, one a 
single layer and one a 6 layer file.

Which does GADM actually use (yes, I’m being lazy).

Andrew Glynn


Re: [Pharo-users] Stream API

2017-11-13 Thread Andrew Glynn
Xtreams has very good performance, but the API’s are messy. I haven’t compared 
the performance of ZnStreams, but it shouldn’t be radically different.

From: Stephane Ducasse
Sent: Monday, November 13, 2017 1:59 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Stream API

Hi Evan

I think that we will use the ZnStreams.
If we use Xtreams we will transform their API because some messages
are not really good.
Stef

On Mon, Nov 13, 2017 at 7:54 PM, Evan Donahue  wrote:
> I've heard mention once or twice on this list and in some release notes of
> what sounded like possible coming changes to the stream API. Could anyone
> point me to any concrete details about that? I haven't been able to dig
> anything up myself by searching. I'm about to write something that I'd like
> to be polymorphic with the stream API, but if that's about to change, I'd
> like to plan ahead.
>
> Thanks,
> Evan




Re: [Pharo-users] I18n in pharo

2017-11-11 Thread Andrew Glynn
There’s an online translation service for XLIff files (well, there’s quite a 
few but most I’ve found use human translators, and as a result cost a fair 
bit).  It’s not free either, but for 2-3 languages it’s relatively reasonable 
at $19/mo., and a couple of months’ subscription would allow for a fair number 
of automated translations which could be quickly tweaked.

https://lingohub.com/pricing/

Mojito allows you to integrate the Xliff translation as part of a Travis CI 
build.  It’s written in Java but supports localization for a number of 
languages, which implies it wouldn’t take much modification to support Pharo.

https://github.com/box/mojito

There’s also a number of Xliff editors on GitHub, including a plugin for Oxygen 
XML, which I happen to use when I do edit XML rather than using IADS with SGML 
and exporting XML.

Not sure if this is the kind of thing you’re looking for, but it might be a 
quick way to get key applications’ text  translated and be used by a relatively 
simple Pharo / Seaside tool.  It’s even possible that a decent modification of 
Mojito might allow semi-automated translations using LingoHub.

Andrew Glynn

From: Andrew Glynn
Sent: Friday, November 10, 2017 6:09 PM
To: Any question about pharo is welcome
Subject: RE: [Pharo-users] I18n in pharo

I’d think about porting the I18n Gem from Ruby but replacing Gettext with xliff 
to be a better, more generalized solution.  Cascade in the Ruby Gem is a useful 
feature missing from other implementations I’ve used.

https://github.com/svenfuchs/i18n/tree/master/test

http://docs.oasis-open.org/xliff/xliff-core/xliff-core.html

It would also likely be easier and more reliable, since the XML support in 
Pharo is already quite good.

Andrew Glynn





Sent from Mail for Windows 10

From: Torsten Bergmann
Sent: Thursday, November 9, 2017 4:59 PM
To: pharo-users@lists.pharo.org
Subject: Re: [Pharo-users] I18n in pharo

The Pharo 7/8 roadmap does not (yet) include I18N: 
https://github.com/pharo-project/pharo-workingRoadmaps/blob/master/Pharo7/ROADMAP.md
   

and the Pharo core image still includes the "NaturalLanguageTranslator" 
solution still from Squeak. See this class for more details and 
all senders of #translated message. So far the whole Pharo UI is in English and 
while books, the mooc or others were translated the Pharo
image so far is not.
I guess some more work would be needed also on the font frontier to provide an 
internationalized image and the different languages.



But for own applications (like web applications) there are some more (external) 
solutions:


1. I once wrote and announced an own I18N framwork:  
http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/2014-September/100247.html
   which is fully documented on 
http://smalltalkhub.com/#!/~TorstenBergmann/I18N but is a completely 
proprietary solution.

2. There is also some stuff from Jan van de Sandt:
   
https://lists.gforge.inria.fr/pipermail/pharo-project/2012-October/070652.html

3. And there is GetText (from Seaside web framework) which I guess is either 
here http://smalltalkhub.com/#!/~PharoExtras/Gettext
   or now maintained here: https://github.com/SeasideSt/Seaside/wiki/Gettext

   Unfortunately back at the time this one was not independently loadable and 
had other trouble which I critisized on 
   http://forum.world.st/ANN-Easy-I18N-for-Pharo-td4778194.html

   Maybe situation for this project has improved.


But so far nobody pushed I18N really into Pharo ... 

4. Therefore back in 2014 I started with a consolidation by starting a clean 
room implementation of Gettext - based on code from 3.
   but now with tests and Pharo Spec based tools (see screenshot attached). I 
did it in an own repo to be able to experiment and
   not break the Seaside solution right in the beginning.

   My code is on STHub  http://smalltalkhub.com/#!/~TorstenBergmann/Gettext  
and it is not yet fully usable and so far still 
   unfinished

   But one can load the project still in Pharo 7 using

 Gofer it 
   smalltalkhubUser: 'TorstenBergmann' project: 'Gettext';
   configuration;
   load.

 (Smalltalk at: #ConfigurationOfGettext) project bleedingEdge load

   All 11 Tests are green so at least what is there should work. Check the 
world menu and the code. Load the "Foo" package from the same repository 
   to see something in the tools. The idea was to have support for MO and PO 
files completely written in Smalltalk as well as tools that allow you 
   to find and translate internationalized text. 

   But as always: this would require more work. I would still favour a fully in 
Pharo written solution (following the gettext formats) but maybe for
   performance reasons then also bind to libgettext using UFFI.


Hope this gives some insights on the current existing solutions/status.

Thanks
Torsten


> Gesendet: Donnerstag, 09. November 2017 um 21:29 Uhr
> Von: "Викентий Потапов" <vikenti.pota...@gmail

Re: [Pharo-users] I18n in pharo

2017-11-10 Thread Andrew Glynn
I’d think about porting the I18n Gem from Ruby but replacing Gettext with xliff 
to be a better, more generalized solution.  Cascade in the Ruby Gem is a useful 
feature missing from other implementations I’ve used.

https://github.com/svenfuchs/i18n/tree/master/test

http://docs.oasis-open.org/xliff/xliff-core/xliff-core.html

It would also likely be easier and more reliable, since the XML support in 
Pharo is already quite good.

Andrew Glynn





Sent from Mail for Windows 10

From: Torsten Bergmann
Sent: Thursday, November 9, 2017 4:59 PM
To: pharo-users@lists.pharo.org
Subject: Re: [Pharo-users] I18n in pharo

The Pharo 7/8 roadmap does not (yet) include I18N: 
https://github.com/pharo-project/pharo-workingRoadmaps/blob/master/Pharo7/ROADMAP.md
   

and the Pharo core image still includes the "NaturalLanguageTranslator" 
solution still from Squeak. See this class for more details and 
all senders of #translated message. So far the whole Pharo UI is in English and 
while books, the mooc or others were translated the Pharo
image so far is not.
I guess some more work would be needed also on the font frontier to provide an 
internationalized image and the different languages.



But for own applications (like web applications) there are some more (external) 
solutions:


1. I once wrote and announced an own I18N framwork:  
http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/2014-September/100247.html
   which is fully documented on 
http://smalltalkhub.com/#!/~TorstenBergmann/I18N but is a completely 
proprietary solution.

2. There is also some stuff from Jan van de Sandt:
   
https://lists.gforge.inria.fr/pipermail/pharo-project/2012-October/070652.html

3. And there is GetText (from Seaside web framework) which I guess is either 
here http://smalltalkhub.com/#!/~PharoExtras/Gettext
   or now maintained here: https://github.com/SeasideSt/Seaside/wiki/Gettext

   Unfortunately back at the time this one was not independently loadable and 
had other trouble which I critisized on 
   http://forum.world.st/ANN-Easy-I18N-for-Pharo-td4778194.html

   Maybe situation for this project has improved.


But so far nobody pushed I18N really into Pharo ... 

4. Therefore back in 2014 I started with a consolidation by starting a clean 
room implementation of Gettext - based on code from 3.
   but now with tests and Pharo Spec based tools (see screenshot attached). I 
did it in an own repo to be able to experiment and
   not break the Seaside solution right in the beginning.

   My code is on STHub  http://smalltalkhub.com/#!/~TorstenBergmann/Gettext  
and it is not yet fully usable and so far still 
   unfinished

   But one can load the project still in Pharo 7 using

 Gofer it 
   smalltalkhubUser: 'TorstenBergmann' project: 'Gettext';
   configuration;
   load.

 (Smalltalk at: #ConfigurationOfGettext) project bleedingEdge load

   All 11 Tests are green so at least what is there should work. Check the 
world menu and the code. Load the "Foo" package from the same repository 
   to see something in the tools. The idea was to have support for MO and PO 
files completely written in Smalltalk as well as tools that allow you 
   to find and translate internationalized text. 

   But as always: this would require more work. I would still favour a fully in 
Pharo written solution (following the gettext formats) but maybe for
   performance reasons then also bind to libgettext using UFFI.


Hope this gives some insights on the current existing solutions/status.

Thanks
Torsten


> Gesendet: Donnerstag, 09. November 2017 um 21:29 Uhr
> Von: "Викентий Потапов" <vikenti.pota...@gmail.com>
> An: pharo-users@lists.pharo.org
> Betreff: [Pharo-users] I18n in pharo
>
> 
> Will Pharo 7 be ready for i18n of applications?
> I mean some simple and useful way like in Cincom Visual Works, where 
> translation dictionaries are separated from code and could be dinamycally 
> changed without changing my application.
> 
> It is very important for huge commercial applications, especially with lots 
> of UI forms, dialogs and user-messages.
> 
> I transfer my code from Cincom VW (VW is not available now for Russia due to 
> politic situation) to Pharo and is very interested in simple 
> internationalization mechanism. I don't want to reinvent the wheel but 
> sometimes it seems to me that pharo developers are forced to do it.
> 
> By the way, the error i had last week with clean Pharo 6\Pharo 6.1 
> installation ("UTF8InvalidText: Invalid utf8 input detected" on image load - 
> error caused by cyrillic path to application folder) didn't solved and i had 
> no feedback from community. 
> 
> best regards,
> Vikenti Potapov. 
> 
> 
>



Re: [Pharo-users] Why does the test runner show red when I correct atest?

2017-11-10 Thread Andrew Glynn
Love this:

“Many people in our industry, our profession have a disturbing tendency to be 
vague and practice self-deception. Take the concept of a "bug" as an example. 
They don't "fly into" our code; we *put* them in it. *We* put them in. That's 
why they should be called errors or defects.”

Or, sometimes, “lazy stupidity” (particularly in my case).  And in many others 
“don’t really know what I’m doing, really, so I copied/pasted a bunch of code 
off random websites until it “sorta/kinda” worked.”

The worst is that I’ve had a number of team leads and architects on projects 
for whom the last is the most accurate.

Andrew


Re: [Pharo-users] QCMagritte on Github

2017-11-10 Thread Andrew Glynn
YAML is what it says, lol.

I still prefer using SGML and outputting whatever markup I need, although I 
have to use US army software (that only works on Windows)  to do it since Adobe 
gouges for FrameMaker.

Probably a long lasting hangover from working for IBM years ago. Sure was a 
headache, so a hangover isn’t that surprising.

Looking for the latest version of that software for a new Win 10 install I came 
across one of the best quotes on Windows, especially considering the source, 
though the quote must’ve been written about an old version.

“With luck, this will start Windows, and a dialogue box will appear and tell 
you the default drive into which IADS will be installed (C:).

If Windows doesn't start up, you could always try launching Windows manually.”


Andrew


From: Stephane Ducasse
Sent: Friday, November 10, 2017 1:21 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] QCMagritte on Github

For your information.
We got some problem with travis (what a bad idea to have a syntax like
yaml - our industry is looping , even xml is better).
we spent more than 30 min trying with Guille and Andrew to use bash in
a script section (while this is working in some guille project)
it does not in other just because yaml does not know who to find the
end of a line

Terrible!

Stef

On Wed, Nov 8, 2017 at 8:15 AM, stephan  wrote:
> On 27-10-17 12:39, laurent laffont wrote:
>>
>> Hi,
>>
>> my team starts to use QCMagritte. For our needs we have imported
>> SmalltalkHub repository to Github here:
>> https://github.com/Afibre/QCMagritte
>>
>> I don't know if you (Diego, Stephan, Tobias) plan to use Github
>> instead of SmalltalkHub. At least Github allows branches & pull
>> request.
>
>
> Definitely, and I'm still struggling a bit with Iceberg. I would definitely
> favor a setup where the whole open source part is build on each commit using
> travis and images are put on (e.g.) bitbucket.
> The current jenkins builds are waiting for Diego to finish some changes, and
> he is a bit distracted with plans for a new house.
>
> Tobias told me he's also interested, so I assume he'll provide a modified
> baseline for other platforms.
>
> At a certain point we might want to fold all of QCMagritte back into
> Magritte, but that is a discussion for later I think.
>
> Stephan
>
>




Re: [Pharo-users] perspective request for thoseearningalivingfromSmalltalk

2017-11-10 Thread Andrew Glynn
Yea, I tried a really early version and it slipped my mind to ever get back to 
it – I did use NewtonScript a bit – I was one  of the few that liked the 
Newton, probably because I hate talking on the phone, lol.  It was pretty good 
on the last release of the Newton.  I still have it somewhere but I put it in a 
box in my last move and haven’t come across it again.  I like the iPhone ok, 
but I rarely answer calls, I use it as anything but a phone.

Planning to run up a version if I can get one that will run on Solaris 11, or 
at least I can rebuild the VM for it  – I have a couple of T2000’s and a couple 
of T5120’s – 64 threads and 64GB RAM should be plenty .  Right now a bit short 
of time for just playing though.

Andrew Glynn

Sent from Mail for Windows 10

From: Prof. Andrew P. Black
Sent: Friday, November 10, 2017 11:57 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] perspective request for 
thoseearningalivingfromSmalltalk


> On 6 Nov 2017, at 21:00 , Andrew Glynn <aglyn...@gmail.com> wrote:
> 
> Btw, did Self ever work?  At all?  The last I remember it was in a similar 
> state to Electron without the M$ adds in Visual Studio, i.e. the samples from 
> the site don’t build.

Self worked fine.  It was a bit memory-hungry on the machines of the early 
1990s, but I taught a class on OOP using it in about 1996 or 1997.  

The NewtonScript language for the ill-fated Newton tablet was essentially Self. 
  A bit ahead of its time — it would run fine in today’s mobile phones.

Andrew Black






Re: [Pharo-users] Writing "powerpoint" like presentations in Pharo?

2017-11-09 Thread Andrew Glynn
People mistake my notion of a platform having a stable core so that it can be 
built on, with never changing that core one bit.  A stable, evolving core is 
precisely what allows rapid and flexible new product improvement. 

Wasn’t that the whole point of deprecation rather than replacement?  It gives 
developers of a given product a version or two to update their code when the 
base evolves.

It’s a mystery to me overall though, as well.

Andrew



From: Marcus Denker
Sent: Thursday, November 9, 2017 8:48 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Writing "powerpoint" like presentations in Pharo?




On 9 Nov 2017, at 14:22, Offray Vladimir Luna Cárdenas 
 wrote:

Sophie looked very promising... Unfortunately it was not open source and died 
before porting it to Java (following the Illuminati conspiracy of porting 
Smalltalk break througts to "inferior" technology, as happens once and again 
:-P).

Sophie was one of the reason I got so, umm, upset? about Squeak… I mean even 
though the project failed, the results where on a level that
they could have been used to improve Squeak quite radically. All the base 
technology was more or less finished and working 
(maybe a bit complex at times, cf. Tweak…).

I still do not understand why everyone back then had this “Squeak is 
untouchable, you can only build on top or you are an evil person” view
of the world.

Just imagine the people who did Sophie would have done their work by 
*contributing* to Squeak in a serious way (in the sense of evolving it into the 
next
thing). The resulting system would have been amazing. 

The fact that Sophie failed as a project would have been not important *at all*.
You could finance an amazing platform by just doing failed projects. As long as 
you do them open source and feed back the results.

The same happened with everything Etoys, with everything Croquet. And even 
though there where people working on all these things
at the same time. To me this is a mystery. It made no sense, at all. 

Marcus



Re: [Pharo-users] Writing "powerpoint" like presentations in Pharo?

2017-11-09 Thread Andrew Glynn
Search and ye shall receive! … Or find, or whatever …

Gofer new
squeaksource: 'MetacelloRepository';
package: 'ConfigurationOfFFI';
load.

((Smalltalk at: #ConfigurationOfFFI) project latestVersion) load.

Gofer new
squeaksource: 'SophieGoldDig';
package: 'SpdQT';
load.

Warning, this was last tested as far as I can tell in Pharo 1.1.1.

Andrew



From: Offray Vladimir Luna Cárdenas
Sent: Thursday, November 9, 2017 8:23 AM
To: pharo-users@lists.pharo.org
Subject: Re: [Pharo-users] Writing "powerpoint" like presentations in Pharo?

Sophie looked very promising... Unfortunately it was not open source and died 
before porting it to Java (following the Illuminati conspiracy of porting 
Smalltalk break througts to "inferior" technology, as happens once and again 
:-P).
Offray

On 09/11/17 02:40, Norbert Hartl wrote:
Everytime I read such discussions I wonder what happened to the Sophie code. 
There be might be some gems in it to achieve what you want

Norbert

Am 09.11.2017 um 03:49 schrieb Offray Vladimir Luna Cárdenas 
<offray.l...@mutabit.com>:
I remember using CompendiumNG some time ago, but not for presentations. 
Hopefully, we will have something better, with metamedium capabilities, 
including embedding other media and make it programmable in Pharo, without 
going to the "disastrous" slide metaphor.
Cheers,
Offray

On 08/11/17 20:31, Andrew Glynn wrote:
I agree with you – on the rare occasions I do still do presentations I tend to 
use CompendiumNG, which is similar to a mind map but can contain any content, 
including multimedia content.  It was an Open University project but was used 
sufficiently elsewhere that when the Open University decided they were done 
with it the project was forked and continued by others.
 
It’s written in Java, currently I believe there’s no binary although it’s easy 
to build.  If you just wanted the installer jar to try it out though let me 
know.
 
Honestly though I’d probably still use Director if it weren’t for Adobe’s 
pricing.
 
Andrew Glynn
 
Sent from Mail for Windows 10
 
From: Offray Vladimir Luna Cárdenas
Sent: Wednesday, November 8, 2017 7:45 AM
To: pharo-users@lists.pharo.org
Subject: Re: [Pharo-users] Writing "powerpoint" like presentations in Pharo?
 
 
 
On 07/11/17 19:39, Sean P. DeNigris wrote:
> Offray Vladimir Luna Cárdenas-2 wrote
>> The idea of slides seems
>> pretty anachronistic/boring for making presentations.
> Amen, brother! Alan Kay would be proud :)
> 
 
Maybe. I refer the whole aesthetics of slides (even the ones with
animations or simulations). You go in slide at the time, bullet point by
bullet point, loosing context and perspective. My usual approach is mind
maps. In [1] you can see the exported SVG version of the one I use in a
Grafoscopio workshop. Source code is in [2].
 
[1]
http://mutabit.com/grafoscopio/Docs/En/Talks/Overview/grafoscopio-mapa.svg
[2]
http://mutabit.com/grafoscopio/Docs/En/Talks/Overview/grafoscopio-mapa.mm
 
Cheers,
 
Offray
 
 





Re: [Pharo-users] Writing "powerpoint" like presentations in Pharo?

2017-11-08 Thread Andrew Glynn
I agree with you – on the rare occasions I do still do presentations I tend to 
use CompendiumNG, which is similar to a mind map but can contain any content, 
including multimedia content.  It was an Open University project but was used 
sufficiently elsewhere that when the Open University decided they were done 
with it the project was forked and continued by others.

It’s written in Java, currently I believe there’s no binary although it’s easy 
to build.  If you just wanted the installer jar to try it out though let me 
know.

Honestly though I’d probably still use Director if it weren’t for Adobe’s 
pricing.

Andrew Glynn

Sent from Mail for Windows 10

From: Offray Vladimir Luna Cárdenas
Sent: Wednesday, November 8, 2017 7:45 AM
To: pharo-users@lists.pharo.org
Subject: Re: [Pharo-users] Writing "powerpoint" like presentations in Pharo?



On 07/11/17 19:39, Sean P. DeNigris wrote:
> Offray Vladimir Luna Cárdenas-2 wrote
>> The idea of slides seems
>> pretty anachronistic/boring for making presentations.
> Amen, brother! Alan Kay would be proud :)
>

Maybe. I refer the whole aesthetics of slides (even the ones with
animations or simulations). You go in slide at the time, bullet point by
bullet point, loosing context and perspective. My usual approach is mind
maps. In [1] you can see the exported SVG version of the one I use in a
Grafoscopio workshop. Source code is in [2].

[1]
http://mutabit.com/grafoscopio/Docs/En/Talks/Overview/grafoscopio-mapa.svg
[2]
http://mutabit.com/grafoscopio/Docs/En/Talks/Overview/grafoscopio-mapa.mm

Cheers,

Offray




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

2017-11-07 Thread Andrew Glynn
A possible way to accomplish it would be to use an object graph with an 
incremental query engine, such as EMF/CDO with Viatra or something similar.  
You could then put different character sets in connected objects and query only 
as far as you need to.

Andrew Glynn

Sent from Mail for Windows 10

From: Thierry Goubier
Sent: Tuesday, November 7, 2017 7:17 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Binary Decision Diagram Package in Smalltalk

Hi Andrew, Steffen,

2017-11-07 13:10 GMT+01:00 Prof. Andrew P. Black <bl...@cs.pdx.edu>:

> On 28 Oct 2017, at 17:37 , Steffen Märcker <merk...@web.de> wrote:
>
> Does that mean the sets/bdd would be constructed mainly at comile time? 
> Anyway, Andrew, feel free to contact me, I might help you with this.
>

Thanks for the offer, Steffen!  The problem is that I need to use SmaCC for my 
current project, and really do not have a month to take off and re-design the 
way that it builds its scanner.  I’ve talked to Thierry Goubier about, and he 
doesn’t have time either!  It would be a fun project, though, and it ought to 
be fairly separate from other parts of SmaCC.  I’ve spent a fair bit of time 
thinking about how to do it, but don’t think that I will be able to actually 
focus on it.

Yes, this is the essence of the issue. There are a few alternatives about it, 
but none we have the time to pursue.
 

An alternative approach, which Thierry has suggested, is to make SmaCC work on 
the UTF-8 representation of the Unicode.  Then we could represent character 
sets as prefix trees.  But the core problem would still exist: you can’t run an 
algorithm that repeatedly executes

                for all characters in the alphabet do:

when there are 2^21 characters in the alphabet!

The main issue is that `for all characters`... All the literature on scanner 
building uses 'for all characters do'.

Thierry
 

        Andrew







Re: [Pharo-users] X11 options on Ubuntu VM / Athens renderingproblems

2017-11-06 Thread Andrew Glynn
I don’t have any issues with Linux in full screen mode (Mint 18 KDE and OEL7 
UEK KDE) but it sounds like it may be an issue with the Wayland graphics 
system, and KDE doesn’t use it AFAIK.  If so, it may also be driver specific – 
what graphics card are you using?

It is just a guess, but pulling Unity forward switches it out of Wayland 
graphics mode (used mainly for games etc. that run full screen), if it doesn’t 
go back into it until a new full screen app starts up it would account for the 
improvement.

Andrew

Sent from Mail for Windows 10

From: J.F. Rick
Sent: Monday, November 6, 2017 4:57 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] X11 options on Ubuntu VM / Athens renderingproblems

Just a quick follow up: We've found that if we are in fullscreen Pharo mode on 
Linux and hit the ALT button twice, the Athens-based rendering speeds up 
significantly. The first ALT brings the Unity launcher to the foreground. The 
second ALT bring fullscreen Pharo back to the foreground. I'm not sure why this 
makes Athens rendering faster but it does. Perhaps that offers a clue as to 
what is slowing Pharo down in fullscreen on Linux.

Cheers,

Jeff

On Wed, Oct 11, 2017 at 2:56 PM Hilaire  wrote:
We tested it on P6.1 64bits, and this Cairo crash seems to be gone. It
may need more testing though.

Is it thanks to P6.1 or the 64bits image/VM? It looks strange because it
looked like a lib Cairo crash, but in the other hand the faulty C
function did not appear to be called from Pharo image.

What need to be done porting to P6.1, is mainly image shrinking, fix of
several bugs from P6.1 impacting drgeo, working setup for
linux/windows/mac. Still some job.

Hilaire

Le 02/10/2017 à 15:19, Stephane Ducasse a écrit :
> How could we help?
>
>
> On Sun, Oct 1, 2017 at 9:14 PM, Hilaire  wrote:
>> I had situation where the system libcairo:i386 does not work with Dr.Geo[1],
>> Pharo crashes with what looks like a Cairo crash! Looks like not a Pharo
>> fault, but I am definitely stuck.
>>
>> It is problematic, it is a system (LinuxMint based) used in Geneva primary
>> schools and Dr. Geo was expected to be used there:(
>>
>> Hilaire
>>
>> [1]http://forum.world.st/Cairo-related-crash-with-Dr-Geo-tt4952023.html
>>
>>
>> Le 01/10/2017 à 19:50, Igor Stasenko a écrit :
>>>      All these difficulties are good argument to get the appropriate
>>>      libcairo/libpng shipped with the Linux VM, as done with Windows
>>>      and MacOSX VM
>>>
>>> Nah, in my case, there's nothing that can be lableled as "Pharo fault". It
>>> is definitely a linux/ubuntu ecosystem fault. - by not providing parallel
>>> updates for 32 & 64 bit variant of same library.
>> --
>> Dr. Geo
>> http://drgeo.eu
>>
>>
>>

--
Dr. Geo
http://drgeo.eu





Re: [Pharo-users] perspective request for those earningalivingfromSmalltalk

2017-11-06 Thread Andrew Glynn
I see you appreciate Mr. Ungar almost as little as I do Roy Fielding …

Sent from Mail for Windows 10

From: Thierry Goubier
Sent: Monday, November 6, 2017 2:48 PM
To: pharo-users@lists.pharo.org
Subject: Re: [Pharo-users] perspective request for those 
earningalivingfromSmalltalk

Hi Andrew,

Le 06/11/2017 à 19:59, Andrew Glynn a écrit :
> I /suspect/ that a (mostly repressed) underlying sense that a reliable, 
> inexpensive platform, if popular, would have been more detrimental to 
> IBM than to its smaller competitors. The same goes for the VisualAge 
> family -> Smalltalk (sold now by Instantiations at v. 9.0), Java, C++ 
> and COBOL.  One of the (largely unthought) reasons for Smalltalk’s 
> difficulties in the 1990’s, when hardware could run it decently, was 
> that it took a fair number of resources/time to write a decent version, 
> while using it would have been a bigger advantage to smaller companies 
> than to the companies with the money to develop one.  The result was 
> that only a few, very expensive versions were publicly available.  VA 
> Smalltalk still retails at ~$8500 / seat.
> 
> Those kinds of hazy (because not admitted to oneself) reasons for doing 
> things end up resulting in apparently contradictory actions such as 
> spending large amounts writing something, releasing it, then failing to 
> support it with any sales or marketing push, and even actively 
> undermining it.  Nobody wants to fully admit that inefficiencies are 
> actually to their advantage, which is the reason it’s repressed 
> (implying both known /and/ not known, simultaneously).
> 
> I’m totally speculating of course and may be dead wrong, but it fits 
> with other IBM actions and non-actions.  IBM is a strange company that 
> sees itself, partly for good reason, as a business that must make money 
> /and/ as an international resource that must continue to exist. Though 
> the latter depends to a degree on the former, they don’t always imply 
> the same specific decisions.
> 
> Interestingly, to prove the scalability of a VM based system IBM wrote 
> “RVM” (originally meaning “Renaissance VM”), and proved near linear 
> scaling to 1024 cores, but RVM is a VM for Squeak and earlier versions 
> of Pharo, not IBM Smalltalk (the source is available, on GitHub I believe).

https://github.com/smarr/RoarVM

I wouldn't say it is IBM, instead that it is David Ungar work (of Self 
and a few other things)...

Has probably ties to the Jikes RVM as well.

> Arca Noae (meaning “New Box”), the company that released v.5.0 in June, 
> was set up because too many big customers can’t migrate crucial apps 
> from OS/2 to anything else.  The new version looks more modern, 
> borrowing icons and other things from Linux, mainly KDE.  It can run a 
> fair number of Win32 apps, and supports virtually all modern hardware, 
> scaling to 128 threads and 16GB RAM, though it’s still 32 bit in most 
> senses.
> 
> As you can imagine, given the base requirements are a Pentium Pro with 
> 64MB RAM, on an average laptop today it flies.

I'm not nostalgic, but the object model and how it was handling 
versionning was cool.

Anybody remember Taligent?

Thierry

> 
> Andrew
> 
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for 
> Windows 10
> 
> *From: *Richard Sargent <mailto:rsarg...@5x5.on.ca>
> *Sent: *Monday, November 6, 2017 11:55 AM
> *To: *'Any question about pharo is welcome' 
> <mailto:pharo-users@lists.pharo.org>
> *Subject: *Re: [Pharo-users] perspective request for those earning 
> alivingfromSmalltalk
> 
> Andrew,
> 
> I worked with OS/2 in the early 90s and really liked it; I adopted it 
> for my personal use as well. I really enjoyed reading the details you 
> provided earlier.
> 
> I have a hypothesis that when IBM tried to sell OS/2 (Warp) via a retail 
> channel that it "hurt". A company whose DNA was channel sales would find 
> dealing with retail issues to be entirely different from everything they 
> knew. So, I speculate that there were enough people to felt (and argued) 
> that OS/2 wasn't "worth it".
> 
> Any thoughts you would care to share on that supposition would be 
> appreciated.
> 
> *From:*Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] *On 
> Behalf Of *Andrew Glynn
> *Sent:* November 6, 2017 04:18
> *To:* Any question about pharo is welcome
> *Subject:* Re: [Pharo-users] perspective request for those earning a 
> livingfromSmalltalk
> 
> Thank you.  I will see if I can get to it today or tomorrow.
> 
> Andrew
> 
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for 
> Windows 10
> 
> *From: *Davorin Rusevljan <mailto:davorin.rusevl...@gmail.com>
> *Sent: *Monday, Nov

Re: [Pharo-users] perspective request for those earningalivingfromSmalltalk

2017-11-06 Thread Andrew Glynn
OpenDoc was also very cool, but without branding, where would M$ be?

Sent from Mail for Windows 10

From: Thierry Goubier
Sent: Monday, November 6, 2017 2:48 PM
To: pharo-users@lists.pharo.org
Subject: Re: [Pharo-users] perspective request for those 
earningalivingfromSmalltalk

Hi Andrew,

Le 06/11/2017 à 19:59, Andrew Glynn a écrit :
> I /suspect/ that a (mostly repressed) underlying sense that a reliable, 
> inexpensive platform, if popular, would have been more detrimental to 
> IBM than to its smaller competitors. The same goes for the VisualAge 
> family -> Smalltalk (sold now by Instantiations at v. 9.0), Java, C++ 
> and COBOL.  One of the (largely unthought) reasons for Smalltalk’s 
> difficulties in the 1990’s, when hardware could run it decently, was 
> that it took a fair number of resources/time to write a decent version, 
> while using it would have been a bigger advantage to smaller companies 
> than to the companies with the money to develop one.  The result was 
> that only a few, very expensive versions were publicly available.  VA 
> Smalltalk still retails at ~$8500 / seat.
> 
> Those kinds of hazy (because not admitted to oneself) reasons for doing 
> things end up resulting in apparently contradictory actions such as 
> spending large amounts writing something, releasing it, then failing to 
> support it with any sales or marketing push, and even actively 
> undermining it.  Nobody wants to fully admit that inefficiencies are 
> actually to their advantage, which is the reason it’s repressed 
> (implying both known /and/ not known, simultaneously).
> 
> I’m totally speculating of course and may be dead wrong, but it fits 
> with other IBM actions and non-actions.  IBM is a strange company that 
> sees itself, partly for good reason, as a business that must make money 
> /and/ as an international resource that must continue to exist. Though 
> the latter depends to a degree on the former, they don’t always imply 
> the same specific decisions.
> 
> Interestingly, to prove the scalability of a VM based system IBM wrote 
> “RVM” (originally meaning “Renaissance VM”), and proved near linear 
> scaling to 1024 cores, but RVM is a VM for Squeak and earlier versions 
> of Pharo, not IBM Smalltalk (the source is available, on GitHub I believe).

https://github.com/smarr/RoarVM

I wouldn't say it is IBM, instead that it is David Ungar work (of Self 
and a few other things)...

Has probably ties to the Jikes RVM as well.

> Arca Noae (meaning “New Box”), the company that released v.5.0 in June, 
> was set up because too many big customers can’t migrate crucial apps 
> from OS/2 to anything else.  The new version looks more modern, 
> borrowing icons and other things from Linux, mainly KDE.  It can run a 
> fair number of Win32 apps, and supports virtually all modern hardware, 
> scaling to 128 threads and 16GB RAM, though it’s still 32 bit in most 
> senses.
> 
> As you can imagine, given the base requirements are a Pentium Pro with 
> 64MB RAM, on an average laptop today it flies.

I'm not nostalgic, but the object model and how it was handling 
versionning was cool.

Anybody remember Taligent?

Thierry

> 
> Andrew
> 
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for 
> Windows 10
> 
> *From: *Richard Sargent <mailto:rsarg...@5x5.on.ca>
> *Sent: *Monday, November 6, 2017 11:55 AM
> *To: *'Any question about pharo is welcome' 
> <mailto:pharo-users@lists.pharo.org>
> *Subject: *Re: [Pharo-users] perspective request for those earning 
> alivingfromSmalltalk
> 
> Andrew,
> 
> I worked with OS/2 in the early 90s and really liked it; I adopted it 
> for my personal use as well. I really enjoyed reading the details you 
> provided earlier.
> 
> I have a hypothesis that when IBM tried to sell OS/2 (Warp) via a retail 
> channel that it "hurt". A company whose DNA was channel sales would find 
> dealing with retail issues to be entirely different from everything they 
> knew. So, I speculate that there were enough people to felt (and argued) 
> that OS/2 wasn't "worth it".
> 
> Any thoughts you would care to share on that supposition would be 
> appreciated.
> 
> *From:*Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] *On 
> Behalf Of *Andrew Glynn
> *Sent:* November 6, 2017 04:18
> *To:* Any question about pharo is welcome
> *Subject:* Re: [Pharo-users] perspective request for those earning a 
> livingfromSmalltalk
> 
> Thank you.  I will see if I can get to it today or tomorrow.
> 
> Andrew
> 
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for 
> Windows 10
> 
> *From: *Davorin Rusevljan <mailto:davorin.rusevl...@gmail.com>
> *Sent: *Monday, Nov

Re: [Pharo-users] perspective request for those earning a livingfromSmalltalk

2017-11-06 Thread Andrew Glynn
Thank you.  I will see if I can get to it today or tomorrow.

Andrew

Sent from Mail for Windows 10

From: Davorin Rusevljan
Sent: Monday, November 6, 2017 4:17 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] perspective request for those earning a 
livingfromSmalltalk



On Sat, Oct 28, 2017 at 7:59 PM, Andrew Glynn <aglyn...@gmail.com> wrote:
Your history is accurate, but there’s a few things I’d  like to add, due to 
having been employed by IBM at exactly that period working specifically on 
VisualAge, not only for Smalltalk, but for Java, C++ and Cobol as well.  (my 
NDA’s finally having expired also helps ).  It’s not a correction or 
contradiction, but a complement to your description, providing a relevant but 
different perspective.

Andrew,

please find a way to write an article or blog post on this subject. It is 
priceless.

davorin




Re: [Pharo-users] perspective request for those earning alivingfromSmalltalk

2017-11-06 Thread Andrew Glynn
I know, I still use it, along with VA Java and VA C++ (the COBOL I can live 
without, tbh).  

I use them largely for prototyping, and when I need to do weird things like 
creating micro VM’s with cross VM client/server software in order to create 
enough traffic to test things like monitoring virtualized Cisco routers.

They’re also damnably fast on a modern machine, lol.  I have one laptop with 
OS/2 v. 5, an i5 with 16GB RAM.  It just flies.

VA Java with Java 1.4.2 makes it easier to create reliable Java than any other 
Java IDE I’ve used.  Much of the syntactic parmesan that’s been added to Java 
since only hurts reliability (by hiding what you’re actually doing) and makes 
stack traces useless.  1.4.2 was stable compared with earlier versions, but 
didn’t have the issues that started coming in with Java 5 based on the need to 
‘keep up’ with features in other languages.

Btw, try writing a CORBA app without VA Java and VA C++ …

Sent from Mail for Windows 10

From: Marten Feldtmann
Sent: Monday, November 6, 2017 3:52 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] perspective request for those earning 
alivingfromSmalltalk

Am 06.11.2017 um 09:36 schrieb Andrew Glynn:
> They did just release 5.0 in June, lol. 
> 

VisualAge Smalltalk 6.01 for OS/2 is still running without any problems ...


Marten

-- 
Marten Feldtmann




Re: [Pharo-users] Smalltalk Argument

2017-11-06 Thread Andrew Glynn
 hundrends of thousands of years 
to get to this point.

JS is chosen as a language for the same reason its so hated, its third party 
libraries. As coders we have to rely a lot more to libraries than we have to 
rely on languages. Sure a language can solve many potential problem but a 
powerful library support can practically give you code on a plate. Hence also 
why JS is practically non existant outside web dev and that is pretty rare for 
a language. 

So sure popularity plays a major role but in the end the preference for JS is 
not insanity, its the right choice for what it focuses on. A difficult/ not 
that well designed language + big library support will always be easier to use 
than a super ease elegant language without such big library support. The time 
when we were relying on our code and our own libraries has passed long time 
ago. 

  

On Mon, Nov 6, 2017 at 10:37 AM Andrew Glynn <aglyn...@gmail.com> wrote:
Btw, I think we gained pace when JS took over the front end, but lost 
visibility.  Nothing is slower than coding a client/server app with the front 
end in JS. The ‘rise’ of JS is a side effect of the fact that the web was 
designed, built and continues to be built by ‘coders’ who don’t know enough to 
be called amateurs.
 
What puts 'coders’ off though is related to way JS is and (mostly doesn’t) 
work.  You can’t just sit down and ‘hack on’ Smalltalk until it ‘sorta kinda’ 
does what you want.  You can’t grab code from some random website and ‘fiddle 
with it’ until it ‘sorta kinda’ works. ‘Coders’ can’t make it ‘sorta kinda’ 
work, and they don’t know how to write code that works.
 
One of the better JS programmers I’ve worked with said at one point “Engineers 
can’t write JavaScript because it doesn’t fit their mentality.  I used to be a 
retoucher, I’d spend hours and hours getting one pixel right.  There’s no good 
reason that one pixel had to be that way, but the image didn’t ‘go’ otherwise. 
JavaScript is like that, you spend hours and hours messing with it, getting it 
to work, and at the end you don’t know why it works, nor why it didn’t.  That’s 
not an engineer’s mindset.”
 
Do aviation engineers choose tools based on ‘popularity’? At the same time, 
would you want your next flight to be on an aircraft running on JavaScript?  I 
wouldn’t eat from a microwave running JavaScript.  
 
I’d rather be an engineer than a popularity contestant or a fashion victim.
 
In any case, more often than not it’s management that chooses technologies, 
generally based on who they have lunch with more than anything else.  
 
Andrew
 
Sent from Mail for Windows 10
 
From: Dimitris Chloupis
Sent: Monday, November 6, 2017 2:35 AM

To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument
 
Another way of promoting Pharo is copying its advantages to other languages. 
The ideal way is for people to get straight to Pharo and fall in love with it. 
But sometimes this may be possible for several reasons. The most usual being 
that people simple are not in the mood of learning a new language unless they 
have to. As the saying goes "People love progress , its just that they equally 
hate change"
 
Introducing similar features to another language, like I did with introducing 
live coding enviroment to Python with direct reference back to Pharo is a very 
good way to promote the language. Just because you cannot code in Pharo at your 
work does not mean you cannot code the Pharo way. Just put a huge tag in your 
documentation, comments and anywhere you mention your code "inspired by Pharo ( 
https://pharo.org)" and you will get their attention whether they like the idea 
of learning a new language or not. 
 
Its like watching an ad, using sex, humour and even unrelated stuff to grab 
your attention to a product. The idea here is to get the attention, once you do 
that, the rest follows. 
 
A huge problem with Smalltalk in general is that even though every language, 
enviroment, tool, IDE has been copying it , it is rarely mentioned. If it did , 
I have no doubt it would have been masively more popular than it is right now. 
 
On Mon, Nov 6, 2017 at 9:22 AM jtuc...@objektfabrik.de 
<jtuc...@objektfabrik.de> wrote:

Phil,

Am 26.10.17 um 08:17 schrieb p...@highoctane.be:
>
>
> Now we miss the boat on mobile and bigdata, but this is solvable.

You know, "It's solvable, and it's even easy in Smalltalk" has been what
we've been shouting down at those worms in the C++/Java swamp for
decades. We just never really proved it. We also missed the boat on web.
Seaside was the last real innovation in that field, almost 15 years ago.
When Javascript took over the frontend, we lost pace.

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

Re: [Pharo-users] Smalltalk Argument

2017-11-06 Thread Andrew Glynn
Btw, I think we gained pace when JS took over the front end, but lost 
visibility.  Nothing is slower than coding a client/server app with the front 
end in JS. The ‘rise’ of JS is a side effect of the fact that the web was 
designed, built and continues to be built by ‘coders’ who don’t know enough to 
be called amateurs.

What puts 'coders’ off though is related to way JS is and (mostly doesn’t) 
work.  You can’t just sit down and ‘hack on’ Smalltalk until it ‘sorta kinda’ 
does what you want.  You can’t grab code from some random website and ‘fiddle 
with it’ until it ‘sorta kinda’ works. ‘Coders’ can’t make it ‘sorta kinda’ 
work, and they don’t know how to write code that works.

One of the better JS programmers I’ve worked with said at one point “Engineers 
can’t write JavaScript because it doesn’t fit their mentality.  I used to be a 
retoucher, I’d spend hours and hours getting one pixel right.  There’s no good 
reason that one pixel had to be that way, but the image didn’t ‘go’ otherwise. 
JavaScript is like that, you spend hours and hours messing with it, getting it 
to work, and at the end you don’t know why it works, nor why it didn’t.  That’s 
not an engineer’s mindset.”

Do aviation engineers choose tools based on ‘popularity’? At the same time, 
would you want your next flight to be on an aircraft running on JavaScript?  I 
wouldn’t eat from a microwave running JavaScript.  

I’d rather be an engineer than a popularity contestant or a fashion victim.

In any case, more often than not it’s management that chooses technologies, 
generally based on who they have lunch with more than anything else.  

Andrew

Sent from Mail for Windows 10

From: Dimitris Chloupis
Sent: Monday, November 6, 2017 2:35 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument

Another way of promoting Pharo is copying its advantages to other languages. 
The ideal way is for people to get straight to Pharo and fall in love with it. 
But sometimes this may be possible for several reasons. The most usual being 
that people simple are not in the mood of learning a new language unless they 
have to. As the saying goes "People love progress , its just that they equally 
hate change"

Introducing similar features to another language, like I did with introducing 
live coding enviroment to Python with direct reference back to Pharo is a very 
good way to promote the language. Just because you cannot code in Pharo at your 
work does not mean you cannot code the Pharo way. Just put a huge tag in your 
documentation, comments and anywhere you mention your code "inspired by Pharo ( 
https://pharo.org)" and you will get their attention whether they like the idea 
of learning a new language or not. 

Its like watching an ad, using sex, humour and even unrelated stuff to grab 
your attention to a product. The idea here is to get the attention, once you do 
that, the rest follows. 

A huge problem with Smalltalk in general is that even though every language, 
enviroment, tool, IDE has been copying it , it is rarely mentioned. If it did , 
I have no doubt it would have been masively more popular than it is right now. 

On Mon, Nov 6, 2017 at 9:22 AM jtuc...@objektfabrik.de 
 wrote:

Phil,

Am 26.10.17 um 08:17 schrieb p...@highoctane.be:
>
>
> Now we miss the boat on mobile and bigdata, but this is solvable.

You know, "It's solvable, and it's even easy in Smalltalk" has been what
we've been shouting down at those worms in the C++/Java swamp for
decades. We just never really proved it. We also missed the boat on web.
Seaside was the last real innovation in that field, almost 15 years ago.
When Javascript took over the frontend, we lost pace.

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

To it sounds like a big ball of mud to me, but that is opinion ;-)

>
> 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.
>
Yep. As long as there is no mobile, web or big data involved ;-) To me
that is not enough for convincing project managers these days, because
web, mobile and big data as well ass AI (oh, is that probably no. 4 on
our list of missed boats?) are the topics of what we consider
future-proof projects... I am not only dissing the Pharo community here,
this is a problem for all Smalltalk vendors in my opinion.


Joachim



--

Re: [Pharo-users] nice CSS for the Pharo online HTML version?

2017-11-05 Thread Andrew Glynn
Another couple that occurred to me were academia.edu and medium.com.

It also occurred to me that I must be fond of a very minimalist look … lol.

Sent from Mail for Windows 10

From: Stephane Ducasse
Sent: Sunday, November 5, 2017 11:46 AM
To: Any question about pharo is welcome; Pharo Development List
Subject: [Pharo-users] nice CSS for the Pharo online HTML version?

Hi

I’m looking for a nice CSS for the Pharo online HTML version.

I found something like that
https://www.smashingmagazine.com/2015/02/designers-start-coding-with-uilang/

Stef

Stéphane Ducasse
http://stephane.ducasse.free.fr
http://www.synectique.eu / http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France




Re: [Pharo-users] Embedded PDF viewer?

2017-11-05 Thread Andrew Glynn
Evince is pretty easy to embed.

Sent from Mail for Windows 10

From: teso...@gmail.com
Sent: Sunday, November 5, 2017 10:25 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Embedded PDF viewer?

Hello Ben, 
   UFFI does not allow you to call static libraries. Static libraries are not 
executable per se, they need to be linked in another program.
As I know, the only way of using an static library from Pharo is to:
  - Build a plugin that wraps it.
  - Build a DLL exposing all the functions in the library and then they are 
used through UFFI. 

The second option is the easiest to me, but it depends how the library is built 
up. For example, if the library uses a lot of compile time code generation 
(like macros or templates) making a generic DLL is not so easy. 

I think it is better to see if not other project has already tackle this 
problem when using the desired static library. 

Cheers,
Pablo

On Sun, Nov 5, 2017 at 1:39 PM, Ben Coman  wrote:
I'm looking into calling PDFium from Pharo via FFI.
Currently I'm stalled a bit since it doesn't have a shared-library target.

If you consider access to such a library would be useful to the community, 
please take a few moments to star this issue...
https://bugs.chromium.org/p/pdfium/issues/detail?id=826

cheers -ben


P.S. Can anyone comment on calling into a static library via FFI?



On Wed, Oct 11, 2017 at 2:05 PM, Ben Coman  wrote:


On Wed, Oct 11, 2017 at 2:03 PM, Ben Coman  wrote:

> On Tue, Oct 10, 2017 at 8:58 PM, Manuel Leuenberger
>  wrote:
> > Hi,
> >
> > I want to view a PDF within Pharo. I found that Athens has a PDF canvas, 
> > but I have no idea how to use it. Is there a way to view a PDF within 
> > Pharo, so that I can scroll, zoom, click links etc. in the PDF?
> >
> > Cheers,
> > Manuel


On Wed, Oct 11, 2017 at 3:04 AM, Stephane Ducasse  
wrote:
>
> Hi manuel
>
> So far I do not know if we have this is Pharo.
> I imagine that we would have to build a renderer once we will have the
> PDF reader from Christian library.
>
> Stef

[Edit: Update license link]
 
A renderer will have great synergy with PDFTalk, but I think a proof of concept 
can be done independently.
I've been poking at this topic for a while looking for options.  Coincidentally 
a couple of days I discovered the PDFium library. 
I haven't had time yet to give it a run, but it seems a good candidate since...
* Its a successful commercial product by Foxit built into Chrome converted to 
open source with Google's backing for use in Chromium 
       https://www.foxitsoftware.com/company/press.php?id=305  
* Its license is BSD style 
       https://github.com/hfiguiere/pdfium/blob/master/LICENSE
* Although written in C++ it has a C interface 
      https://github.com/hfiguiere/pdfium/blob/master/public/fpdfview.h
      * Search here on  " Function: "  to skim through
      * Proof of concept seems to only need these key functions...  
          * void    FPDF_RenderPageBitmap( FPDF_BITMAP bitmap,FPDF_PAGE page, 
... )
          * FPDF_BITMAP    FPDFBitmap_Create( int width, int height, int alpha);
          * FPDF_PAGE   FPDF_LoadPage   ( FPDF_DOCUMENT document, int 
page_index )
          * FPDF_DOCUMENT   FPDF_LoadMemDocument   ( const void* data_buf ... )
          * void    FPDF_InitLibrary ()    
* Has a concise getting started for POC... 
      https://github.com/hfiguiere/pdfium/blob/master/docs/getting-started.md
* Maybe useful fork with V8 disabled by default 
      https://github.com/klokantech/pdfium 
* Master repo here 
      https://pdfium.googlesource.com/pdfium/

So Pharo might load a PDF file into a ByteArray, pass that to 
FPDF_LoadMemDocument() & FPDF_LoadPage(), 
then get a bitmap back from FPDFBitmap_Create() & FPDF_RenderPageBitmap() and 
display the result in a Pharo window.

The rest of this week I'm working 12 hour days on a mine site.  I could try it 
out once I'm home, but in the meantime is anyone else keen to try it? 

cheers -ben






-- 
Pablo Tesone.
teso...@gmail.com



Re: [Pharo-users] LiteratureResearcher - where graphs, PDFs, andBibTex happily live together

2017-11-05 Thread Andrew Glynn
I’ve used PDFMiner and pypdf2xml previously and both are easier to use now that 
Atlas is available.  Both work well, though XPdf (in C++) is faster.

http://www.unixuser.org/~euske/python/pdfminer/

https://github.com/zejn/pypdf2xml

pdf2xml (also Python) is slightly quicker than pypdf2xml but doesn’t handle 
Type 2 fonts properly.


From: Offray Vladimir Luna Cárdenas
Sent: Sunday, November 5, 2017 12:29 PM
To: pharo-users@lists.pharo.org
Subject: Re: [Pharo-users] LiteratureResearcher - where graphs, PDFs, andBibTex 
happily live together

I share Manuel's view about delegating some functionality to external apps, 
like a PDF reader, the web browser or even Pandoc. There is a lot of external 
mature stuff out there and we can gain users from there if we make bridges to 
the stuff they already know and use. For example, I would like to try the 
Pharo-Chrome integration and also the Hypothesis JSON API to annotate and read 
PDF/HTML.
Cheers,
Offray

On 02/11/17 13:49, Manuel Leuenberger wrote:
Hi Dimitris, 

I looked around for a way to integrate PDF into Pharo. But as long as we don’t 
have a way to natively display interactive multimedia (maybe Bloc will at some 
point support something like this?), I consider it not worth the effort to come 
up with a half-baked (note to self: watch that movie again) solution that is 
hard to implement and cannot even remotely support all the use cases as an 
external tool that have been crafted for years. Just rendering bitmaps loses so 
much information (full text) and actionability (hyperlinks). If I wanted to 
have interactive PDFs inside Pharo, I had to invest so much time to replicate 
functionality that has been implemented before. So, I chose the path of the 
least resistance by pushing this responsibility to a specialized tool. I think 
Pharo is great for modelling, exploration, and inspection, but OS integration 
is not really a selling point, and it doesn’t have to be. By using a standard 
PDF viewer I also gain that users are already familiar with them and have their 
own workflow that I can extend.

As a side note, I think that being able to embed a web browser inside Pharo 
would open up a whole new world of applications, as web browsers are currently 
the vehicles for content distribution. But as long as there is no project where 
this is a critical feature, I can live without it.

Cheers,
Manuel


On 1 Nov 2017, at 22:39, Dimitris Chloupis  wrote:

Super cool more detailed recommendations when I try it on practice 

A cheap pdf viewer in Pharo would be to turn pdf pages to JPG images which you 
can load via image morph so you won’t have to have two separate windows. There 
are ton of converters out there that can do this. 
On Wed, 1 Nov 2017 at 23:17, Manuel Leuenberger  
wrote:
Hi everyone, 

I was experimenting in the last few weeks with my take on literature research. 
For me, the corpus of scientific papers form an interconnected graph, not those 
plain lists and tables we keep in our bibliographies. So, here is the first 
prototype that has Google Scholar integration for search, can fetch PDFs from 
IEEE and ACM, extracts metadata from PDFs - all this results in hyperlinked 
PDFs!

See a demo here: https://youtu.be/EcK3Pt_WnEw
Also slides from the SCG seminar here: 
http://scg.unibe.ch/download/softwarecomposition/2017-10-31-Leuenberger-ILE.pdf

I plan on packaging it, so that those who are interested can check it out 
themselves (help wanted!). Currently, it only works on macOS.

What do you think of my approach? Which use cases should be added?

Cheers,
Manuel






Re: [Pharo-users] nice CSS for the Pharo online HTML version?

2017-11-05 Thread Andrew Glynn
It looks a bit busy, though not ridiculously so.  Of the sites I can think of, 
parts.com has one of the nicest LaF’s.

Sent from Mail for Windows 10

From: Stephane Ducasse
Sent: Sunday, November 5, 2017 11:46 AM
To: Any question about pharo is welcome; Pharo Development List
Subject: [Pharo-users] nice CSS for the Pharo online HTML version?

Hi

I’m looking for a nice CSS for the Pharo online HTML version.

I found something like that
https://www.smashingmagazine.com/2015/02/designers-start-coding-with-uilang/

Stef

Stéphane Ducasse
http://stephane.ducasse.free.fr
http://www.synectique.eu / http://www.pharo.org
03 59 35 87 52
Assistant: Julie Jonas
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France




Re: [Pharo-users] Peeking at a stream

2017-11-02 Thread Andrew Glynn
Perhaps #keepStateWhile or something similar might be better than 
#unchangedDuring ?

Sent from Mail for Windows 10

From: Prof. Andrew P. Black
Sent: Thursday, November 2, 2017 5:00 AM
To: Any question about pharo is welcome
Subject: [Pharo-users] Peeking at a stream

I sometimes find, when working with a stream, that I need to "peek ahead” a few 
items, without disturbing the state of the stream. The message stream peek 
gives me the next item, but doesn’t generalize to multiple items,   So I end up 
writing code like this:

    findSomething
| savedPosition result |
savedPosition := stream position.
stream position: start.
“code involving various manipulations of stream, including stream next"
result := stream position + 1.
stream position: savedPosition.
^ result

This code involves at least two temps, is not very easy to read, and risks not 
resetting the stream properly if I do a return.

It seems to me that a better solution would be what Kent Beck calls an “execute 
around” method:

    findSomething
^ stream unchangedDuring: [ :s |
“code involving various manipulations of stream, including 
stream next"
stream position + 1 ]

I’m not sure that I like the name #unchangedDuring:; perhaps you can think of a 
better one? 

The  implementation of this would be

PositionableStream >> #unchangedDuring: aBlock
"execute aBlock with self as argument. Ensure that when this 
method returns,
I still have my current state."

| savedPosition |
savedPosition := self position.
^ [ aBlock value: self ] ensure: [ self position: savedPosition 
]

or perhaps

PositionableStream >> #unchangedDuring: aBlock
"execute aBlock with self as argument. Ensure that when this 
method returns,
I still have my current state."

^ [ aBlock value: self copy ]

which might be better in the case that the stream is a file stream and aBlock 
causes the buffer to be refreshed from the disk.

• Do other Smalltalks have a method like this?  
• Does it already exist in Pharo, somewhere that I’ve failed to look? 
• Would it be a worthwhile addition to Pharo?  
• What would be a good name?






Re: [Pharo-users] Pharo: Reinventing Smalltalk

2017-11-01 Thread Andrew Glynn
There is a basic difference between debugging compiled code using debug 
symbols, debugging a live environment that’s represented as if it isn’t,  and 
debugging a live environment that’s represented as if it is. 

In general Java is represented the same way as C/C++, although Eclipse is 
somewhat better than other Java IDE’s when it comes to debugging, mainly 
because it tries to be somewhat like VisualAge for Java, which was written in 
Smalltalk.

XCode represents MacOS similarly to the way Eclipse represents Java.   
F-Script, on the other hand, allows you to debug MacOS / iOS in the same manner 
Smalltalk environments do.

But then, F-Script is Smalltalk by any other name.

From: Dimitris Chloupis
Sent: Wednesday, November 1, 2017 7:28 PM
To: Any question about pharo is welcome; henry
Subject: Re: [Pharo-users] Pharo: Reinventing Smalltalk

Should pretty standard even for Java using a debugger 

I mean I have done this with Visual Studio and its debugger with C++. It even 
allows you to inspect the machine code or see the memory in raw bits formats. 
So I find it hard to believe that Eclipse cannot do that with Java.

There is even a feature which is called watching a variable that pops the 
debugger only when a specific variable changes value. The functionality is 
there , the terminology is different. 

On Thu, 2 Nov 2017 at 01:12, henry  wrote:
I am only familiar with Eclipse, not other Java development environments. In 
comparison, what is lacking in the land of Java, which is so powerful in 
Pharo/Squeak/Smalltalk is the ability to inspect the object resulting from some 
highlighted code. As a developer, Smalltalk wins on inspectability.

- HH


On Wed, Nov 1, 2017 at 17:47, Dimitris Chloupis  wrote:
Well I rather not reply because I am a huge hater of multi window GUIs . Thank 
god Pharo is not. 

Seriously how on earth someone can find convenient multiple windows is beyond 
my understanding . It was a terrible idea in 90s , it’s still a terrible idea. 
On Wed, 1 Nov 2017 at 23:05, horrido  wrote: 
FYI, reader comments to my interview with Stef: 
https://www.reddit.com/r/programming/comments/7a30vx/pharo_reinventing_smalltalk/
 

If you can respond, that would be great. 



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



Re: [Pharo-users] Pharo: Reinventing Smalltalk

2017-11-01 Thread Andrew Glynn
How many development environments use single document windows?  Off the top of 
my head, Dolphin and … er, Dolphin.  That the person thinks it’s supposed to be 
an end user application says it al, really.

I don’t hate SDI’s. they work ok for word processors.

From: Dimitris Chloupis
Sent: Wednesday, November 1, 2017 5:48 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Pharo: Reinventing Smalltalk

Well I rather not reply because I am a huge hater of multi window GUIs . Thank 
god Pharo is not. 

Seriously how on earth someone can find convenient multiple windows is beyond 
my understanding . It was a terrible idea in 90s , it’s still a terrible idea. 
On Wed, 1 Nov 2017 at 23:05, horrido  wrote:
FYI, reader comments to my interview with Stef:
https://www.reddit.com/r/programming/comments/7a30vx/pharo_reinventing_smalltalk/

If you can respond, that would be great.



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



Re: [Pharo-users] Pharo 6.1 - Apple signing

2017-10-31 Thread Andrew Glynn
If it would be a help, I can sign the apps.

Cheers
Andrew


From: Todd Blanchard
Sent: Tuesday, October 31, 2017 10:36 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Pharo 6.1

Actually, it is in Applications

Sent from the road

> On Oct 31, 2017, at 02:34, Esteban Lorenzano  wrote:
> 
> 
> 
>> On 30 Oct 2017, at 20:30, Todd Blanchard  wrote:
>> 
>> I was just preparing a similar post.   Just downloaded latest Pharo 6.1-64 
>> for Mac
>> 
>> I was greeted with a walkback when it failed to create directory 
>> /private/var/folders/ks/wg6l98bj64q6hgvs23wwqyprgn/T/AppTranslocation/DAA5EA3A-374D-4ADE-9E04-BBB7433BB6C8/d/Pharo6.1-64.app/Contents/Resources/pharo-local
>> 
>> Definitely not the right directory to resolve pharo-local to.
> 
> not related :)
> this is because you didn’t put Pharo under /Applications as indicated when 
> you download Pharo. 
> at the same time, this is because we are still not signing Pharo, then apple 
> moves it to a sandbox, which is bad. I have in my TODO signing the apps, but 
> still  no time to do it :/
> 
> Esteban
> 
>> 
>> -Todd Blanchard
>> 
>>> On Oct 30, 2017, at 12:27 PM, Викентий Потапов  
>>> wrote:
>>> 
>>> 
>>> I've just downloaded Pharo 6.1 from pharo.org, unzipped it and started. And 
>>> i've got an error: 
>>> "UTF8InvalidText: Invalid utf8 input detected"
>>> 
>>> Whether i save image or not, every time i start it i get the same error. 
>>> 
>>> System: win 7 professional x64 on 6-core Athlon Phenom.
>>> Locale: russian (cyrillic).
>>> 
>>> Can i fix it by myself or i should forget about 6.1 until global bugfix?
>>> 
>>> Vikenti Potapov
>>> 
>> 
>> 
> 
> 




Re: [Pharo-users] Smalltalk Argument

2017-10-28 Thread Andrew Glynn
I will, although in some ways the two may be more complementary than anything.  

Sent from Mail for Windows 10

From: Stephane Ducasse
Sent: Saturday, October 28, 2017 5:06 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument

Hi andrew

you should contact esteban because he is writing an objective-C bridge. 

Stef

On Sat, Oct 28, 2017 at 2:30 AM, Andrew Glynn <aglyn...@gmail.com> wrote:
One thing I’m working on is a bridge between Pharo and F-Script.  F-Script is, 
basically, a Smalltalk dialect, as is obvious from the screenshot.  However for 
MacOS and iOS, it allows you to bypass the static Objective-C API interface and 
debug / modify or even write applications directly in the system.  To do that 
you ‘inject’ F-Script into the OS.  The ability to so has a specific 
implication, though.  MacOS and iOS are themselves written in and as a dialect 
of Smalltalk.  (were it simply an overlay on Objective-C, it wouldn’t be able 
to do things that are impossible in Objective-C, and it wouldn’t need to be 
‘injected’ in order to run).  Every implementation of Objective-C , bar GNU’s 
useless imitation, compiles to Smalltalk.  No surprise that Apple’s does, as 
well.
 
In any event, it will allow Pharo code to be mapped to MacOS and iOS objects, 
injected into the system dynamically, and modified / debugged dynamically using 
the Pharo tools.  The result, at least as far as iOS is concerned, may make 
Pharo actually the most powerful way to program it, well beyond XCode alone, 
along with doing the same for MacOS.  Android is another issue, although the 
Raspbian port of Pharo should be relatively easy to port to it. For me, unless 
someone had a use case, I don’t have one myself for Android.  I’ve tried nearly 
every version, because I’d love to support an OSS ecosystem, unfortunately 
using it compared to the iPhone is still like driving a Fiero based kit car 
compared to an actual Ferrari.
 
As far as JNI, while I see your point, JNI is such a PITA that few Java 
developers know it.  My usual workaround is to use Stamp and Synapse, which has 
the further advantage of allowing Java to ‘throttle’ data that the JVM can’t 
deal with at full speed.
 
As far as dealing with other JVM languages, PetitParser or SmaCC can generate 
bytecode rather than Java or other JVM code, and that allows libs to be written 
that utilize Synapse to talk to Pharo.  It isn’t necessarily an ideal solution, 
but a possible one without having to support umpteen environments.  Another 
potential way of accomplishing that is to use NetRexx, a declarative JVM 
language, which is both easy and terse, and like SQL, generates the actual 
bytecode rather than precompiling to it.  For instance, imagine the code needed 
for a simple ‘hello world’ in Java, then compare:
 
Say ‘hello world’
 
Since it generates virtually the same bytecode, it may be an easy way to do it.
 
With the last statement, that expresses really well the exact reason I no 
longer want to work in most other environments .
 
Tc
Andrew
 
 
 
Sent from Mail for Windows 10
 
From: p...@highoctane.be
Sent: Thursday, October 26, 2017 2:19 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument
 
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 <aglyn...@gmail.com> 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 
a

Re: [Pharo-users] [ANN] Grafoscopio is now also an indexedpublication

2017-10-28 Thread Andrew Glynn
Btw, thank you personally.  In another project I’ve started to use both 
Grafoscopio itself (from a developer perspective) but also programmatically to 
improve that project.  Hopefully I’ll be able to release that project soon 
(i.e. in the next couple of weeks) and you’ll be able to see how Grafoscopio 
improvise it, but also how it increases the capabilities of Grafoscopio.

Andrew Glynn

Sent from Mail for Windows 10

From: Offray Vladimir Luna Cárdenas
Sent: Saturday, October 28, 2017 11:02 AM
To: pharo-users@lists.pharo.org
Subject: Re: [Pharo-users] [ANN] Grafoscopio is now also an indexedpublication

Thanks Stephan,

As told many times. This community has been really empowering to
prototype the artifacts for my PhD (which is *not* in software [1]). Is
good to count with such proactive and helpful community.

[1] http://www.doctoradoendiseno.com/en

This learning process is just starting.

Cheers,

Offray

On 28/10/17 09:27, Stephane Ducasse wrote:
> well done.
>
>
> On Sat, Oct 28, 2017 at 12:58 AM, Offray Vladimir Luna Cárdenas
> <offray.l...@mutabit.com> wrote:
>> Hi,
>>
>> I would like to share with you the recent acceptation of Grafoscopio in the
>> Journal of Open Source Software (JOSS), which makes it also an indexed
>> publication. More details at:
>>
>> http://joss.theoj.org/papers/10.21105/joss.00251
>>
>> I would like to thank Serge Stinchwich  (from this community) and Arfon
>> Smith (from JOSS) for reviewing the software and helping me with the
>> publication process.
>>
>> Cheers,
>>
>> Offray
>>
>> ===
>>
>> About JOSS (http://joss.theoj.org/about)
>>
>> "The Journal of Open Source Software (JOSS) is a developer friendly journal
>> for research software packages.
>>
>> [...] The Journal of Open Source Software (JOSS) is an academic journal
>> (ISSN 2475-9066) with a formal peer review process that is designed to
>> improve the quality of the software submitted. Upon acceptance into JOSS, a
>> CrossRef DOI is minted and we list your paper on the JOSS website."
>>
>> ===
>





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

2017-10-28 Thread Andrew Glynn
Part of the reasoning is that by writing JVM bytecode, the differences between 
the various JVM languages become largely irrelevant, though in some ways it 
becomes slightly less convenient if calling, for example, Scala or Clojure code 
from Pharo.

The other is inherent JVM limitations and discrepancies between Java as a 
semantic spec and various specific implementations as dynamic systems, 
particularly since the latter differ both by Java version and by which 
frameworks might be in use, and dynamically create further discrepancies 
contingently based not only on the above, but  also specifics of the system and 
its current state.

Cheers
Andrew

Sent from Mail for Windows 10

From: Stephane Ducasse
Sent: Saturday, October 28, 2017 10:06 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Binary Decision Diagram Package in Smalltalk

I think that andrew would like to improve smacc when parsing inputs
containing utf-8 characters.


On Sat, Oct 28, 2017 at 1:46 PM, Steffen Märcker  wrote:
> I see. What is the task in detail? Are some of the set fixed or known in
> advance? What's the argument against a bitset-based solution?
>
> Cheers, Steffen
>
>
>
> Am 27. Oktober 2017 19:10:35 MESZ schrieb Stephane Ducasse
> :
>>
>> It was for test inclusion of UTF-8 characters so we do not want to
>> rely on external libraries.
>>
>> On Fri, Oct 27, 2017 at 1:54 PM, Steffen Märcker  wrote:
>>>
>>>  Dear Andrew,
>>>
>>>  I didn't find time to answer earlier. Some time ago, I was looking for a
>>>  (MT)BDD package in ST as well. I didn't found one. So the only two
>>> options
>>>  left are
>>>
>>>  1) implementing a new BDD lib in ST and
>>>  2) doing FFI to some existing lib, e.g. CUDD, Sylvan, Jinc
>>>
>>>  I'd prefer 2) since the existing libraries are feature-rich and highly
>>>  optimized - which took quite some time. As a bonus, a solution could
>>>  potentially switch between those backends. The biggest hurdle, in my
>>> option,
>>>  is memory management, since most libs use some sort of reference
>>> counting.
>>>  And you do not want to end up with nightmarish dozens of ref(bddNode)
>>>  deref(bddNode) in your application code (like the probabilistic model
>>>  checker PRISM does). This introduces hard to track bugs easily. However,
>>> I
>>>  have an idea in mind how to tackle this but I didn't found the time to
>>> put
>>>  it into code yet.
>>>
>>>  May I ask, which sort of application do you have in mind?
>>>
>>>  Best, Steffen
>>>
>>>
>>>
>>>
>>>  Am .10.2017, 07:54 Uhr, schrieb 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
>
>
>
>

>>>
>>
>




Re: [Pharo-users] Actual Code to Improve the Pharo environment

2017-10-28 Thread Andrew Glynn
I’m not working on that specifically, although what I am working on could 
definitely use that and vice versa, which would increase the capabilities of 
each.

One thing I’m working on is using Vert.x for service registration and 
discovery, mapped to Apache River (JINI) to propagate that over non-local 
network segments that require fully authenticated security (as a result, it 
also provides things such as Kerberos to Pharo apps).  The mapping between the 
two is very straightforward, almost direct, but I’ve added the Synapse micro 
service bus to control data flows and secure access to remote services.

It enables things like automatic configuration/integration of Pharo based 
mobile apps with newer cars that support that kind of autoconfiguration, since 
they all use JINI to do so.  Thus a Pharo mobile or IoT app can automatically 
be configured to work with any of  the car’s subsystems that are relevant to 
it.  

JINI is far more used than people realize, partly because it ‘just works’ and 
as a result doesn’t get the public ‘squeaky wheel’ effect.  The fact that the 
authors of Vert.x reimplemented half of the features of JINI, in a less 
comprehensive and less reliable way, rather than just using it (especially 
considering it’s open source) shows the degree to which that effect is 
operative.

There’s probably a couple dozen other general use cases where the integration 
will allow Pharo apps to ‘just work’ in a JINI or Vert.x environment, as well 
as thousands of industry/company specific ones.  I’d have to mode-switch to 
think of them off the top of my head though .

Andrew

Sent from Mail for Windows 10

From: henry
Sent: Saturday, October 28, 2017 10:02 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Actual Code to Improve the Pharo environment

Hi Andrew,

Are you working to bring a Capabilities model to Pharo? This is precisely what 
I am working to bring with Hubbub, running on top of my ParrotTalk. I derived 
these from erights.org's ELib and have been working on them for many years. Now 
that ParrotTalk has stabilized (layer 5) I am shifting to implementing 
marshalling of layer 6 objects using STON all to run on top of ParrotTalk. Once 
I get marshalling with scope substitutions, I will debug Hubbub to offer 
distributed Capabilities.

What work are you undertaking?

Regards,
- HH


 Original Message 
Subject: Re: [Pharo-users] Actual Code to Improve the Pharo environment
Local Time: October 28, 2017 9:12 AM
UTC Time: October 28, 2017 1:12 PM
From: aglyn...@gmail.com
To: Any question about pharo is welcome <pharo-users@lists.pharo.org>

Writing that kind of code is another of the reasons I decided I don’t want to 
work in anything else .  Maybe more important than some of the others, both to 
myself and to other users.
 
I’ve gained so much personally, mostly for nothing, even just considering the 
relatively few  projects I have been able to work on in Pharo and previously in 
Squeak, VW and VA.  Unfortunately in most I haven’t been able to make the code 
public, since they were for entities like the government, DoD, etc.  
 
Not that VA attracts me quite so much to give back all that strongly, when a 
license is $8500+.  Were it possible to give back to VA C++ or VA Java, it 
might be different, but neither were OSS although they weren’t expensive.  More 
relevantly, both are now abandonware (hence my comment about IBM, which is 
applicable to OS/2 as well, although that has quietly had a 5.0 version 
released in June of this year).
 
I would, though, love a chance to give back to Pharo primarily, although I may 
port anything relevant to Squeak, and if I have sufficient time port it to VW, 
which although not OSS is at least affordable to most developers.
 
I’m nearly there on a couple of projects – one I’m testing and making final 
tweaks, another is about 2/3d’s of the way. 
 
The first project you (and others on the list) may be more immediately 
interested in testing, since it requires little to no additional work to use 
it, and even if not perfect, since it’s intended to directly help work you are 
doing in Pharo, it may worthwhile.  I’m hoping to have it ready for public 
consumption by the middle of November. 
 
On a different but related topic, the article I wrote got a fair amount of 
interest considering I don’t write nearly as well as Kenneth, for example.  
Including direct interest from some well known industry people, which can’t 
hurt.  In an indirect way it may even be helpful, but not in the real, direct 
way decent code is.
 
Capabilities that won’t be available in anything else in an really usable way 
(because to be efficient they depend on capabilities not found in anything 
else), and in any case nowhere near as useful in anything else, will hopefully 
be more use than any article can be, never mind one I wrote, not just to me but 
also to other Pharo users and to Pharo itself.
 
Cheers
Andrew Glynn
 
 
Sent fro

Re: [Pharo-users] Actual Code to Improve the Pharo environment

2017-10-28 Thread Andrew Glynn
Writing that kind of code is another of the reasons I decided I don’t want to 
work in anything else .  Maybe more important than some of the others, both to 
myself and to other users.

I’ve gained so much personally, mostly for nothing, even just considering the 
relatively few  projects I have been able to work on in Pharo and previously in 
Squeak, VW and VA.  Unfortunately in most I haven’t been able to make the code 
public, since they were for entities like the government, DoD, etc.  

Not that VA attracts me quite so much to give back all that strongly, when a 
license is $8500+.  Were it possible to give back to VA C++ or VA Java, it 
might be different, but neither were OSS although they weren’t expensive.  More 
relevantly, both are now abandonware (hence my comment about IBM, which is 
applicable to OS/2 as well, although that has quietly had a 5.0 version 
released in June of this year).

I would, though, love a chance to give back to Pharo primarily, although I may 
port anything relevant to Squeak, and if I have sufficient time port it to VW, 
which although not OSS is at least affordable to most developers.

I’m nearly there on a couple of projects – one I’m testing and making final 
tweaks, another is about 2/3d’s of the way.  

The first project you (and others on the list) may be more immediately 
interested in testing, since it requires little to no additional work to use 
it, and even if not perfect, since it’s intended to directly help work you are 
doing in Pharo, it may worthwhile.  I’m hoping to have it ready for public 
consumption by the middle of November.  

On a different but related topic, the article I wrote got a fair amount of 
interest considering I don’t write nearly as well as Kenneth, for example.  
Including direct interest from some well known industry people, which can’t 
hurt.  In an indirect way it may even be helpful, but not in the real, direct 
way decent code is.

Capabilities that won’t be available in anything else in an really usable way 
(because to be efficient they depend on capabilities not found in anything 
else), and in any case nowhere near as useful in anything else, will hopefully 
be more use than any article can be, never mind one I wrote, not just to me but 
also to other Pharo users and to Pharo itself.

Cheers
Andrew Glynn


Sent from Mail for Windows 10

From: Stephane Ducasse
Sent: Saturday, October 28, 2017 5:09 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument

Hi andrew

please take a project that would help to bring more companies and that you want 
to push and push it with us :).


Stef


On Sat, Oct 28, 2017 at 11:05 AM, Stephane Ducasse <stepharo.s...@gmail.com> 
wrote:
Hi andrew

you should contact esteban because he is writing an objective-C bridge. 

Stef

On Sat, Oct 28, 2017 at 2:30 AM, Andrew Glynn <aglyn...@gmail.com> wrote:
One thing I’m working on is a bridge between Pharo and F-Script.  F-Script is, 
basically, a Smalltalk dialect, as is obvious from the screenshot.  However for 
MacOS and iOS, it allows you to bypass the static Objective-C API interface and 
debug / modify or even write applications directly in the system.  To do that 
you ‘inject’ F-Script into the OS.  The ability to so has a specific 
implication, though.  MacOS and iOS are themselves written in and as a dialect 
of Smalltalk.  (were it simply an overlay on Objective-C, it wouldn’t be able 
to do things that are impossible in Objective-C, and it wouldn’t need to be 
‘injected’ in order to run).  Every implementation of Objective-C , bar GNU’s 
useless imitation, compiles to Smalltalk.  No surprise that Apple’s does, as 
well.
 
In any event, it will allow Pharo code to be mapped to MacOS and iOS objects, 
injected into the system dynamically, and modified / debugged dynamically using 
the Pharo tools.  The result, at least as far as iOS is concerned, may make 
Pharo actually the most powerful way to program it, well beyond XCode alone, 
along with doing the same for MacOS.  Android is another issue, although the 
Raspbian port of Pharo should be relatively easy to port to it. For me, unless 
someone had a use case, I don’t have one myself for Android.  I’ve tried nearly 
every version, because I’d love to support an OSS ecosystem, unfortunately 
using it compared to the iPhone is still like driving a Fiero based kit car 
compared to an actual Ferrari.
 
As far as JNI, while I see your point, JNI is such a PITA that few Java 
developers know it.  My usual workaround is to use Stamp and Synapse, which has 
the further advantage of allowing Java to ‘throttle’ data that the JVM can’t 
deal with at full speed.
 
As far as dealing with other JVM languages, PetitParser or SmaCC can generate 
bytecode rather than Java or other JVM code, and that allows libs to be written 
that utilize Synapse to talk to Pharo.  It isn’t necessarily an ideal solution, 
but a possible one without having to support umpteen 

Re: [Pharo-users] Smalltalk Argument

2017-10-27 Thread Andrew Glynn
The Kafka integration is right in the Pharo catalog.

Sent from Mail for Windows 10

From: henry
Sent: Friday, October 27, 2017 5:03 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument

Elastic search JSON integration would be another good one. I heard there was a 
Kafka integration, is that true? Where could I find that, I used to use Kafka.

Kafka is a great event channel for input to BigData. Using Kafka, it is well in 
crafting a Lamda Architecture. Imagine Pharo where Storm resides.



- HH


On Fri, Oct 27, 2017 at 16:51, henry <he...@callistohouse.club> wrote:
 How about Kerberos? Can we get a team to look closely at bringing integration 
for enterprise users? That would be helpful, or can you just put it behind a 
Kerberos wrapper? If that would work, collecting a demo, that could unlock more 
corporate wallets , for investment. 


- HH


On Fri, Oct 27, 2017 at 16:41, henry <he...@callistohouse.club> wrote:
How is there no steering committee to accumulate wrapping 3rd party libraries 
in Alien to gain benefits of code in other languages? Do not assume that code 
is not extremely well written in that particular language for that particular 
task and that particular deployment mechanism.

Can Pharo be called as a shared library from Java JNA?

- HH


On Fri, Oct 27, 2017 at 15:47, Andrew Glynn <aglyn...@gmail.com> wrote:
I’m not claiming I don’t or haven’t been affected, only that I no long allow 
myself to be.  Does that cause issues?  Of course.  But I’d rather deal with 
those than do things I don’t enjoy.  However I only got to that point after 26 
years in the industry, so I don’t expect that everyone will feel that way.
  
Cheers
Andrew
  
Sent from Mail for Windows 10
  
From: jtuc...@objektfabrik.de 
Sent: Thursday, October 26, 2017 8:14 AM 
To: pharo-users@lists.pharo.org 
Subject: Re: [Pharo-users] Smalltalk Argument
  
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 toile

Re: [Pharo-users] Smalltalk Argument

2017-10-27 Thread Andrew Glynn
There’s a million ways of accomplishing such things, but you need to pick the 
appropriate way to do  it, given restrictions in Pharo and limitations in 
what’s it’s calling.  

You can utilize Kafka or Kerberos authentication via Synapse, for instance, you 
can access virtually any authentication mechanism via WSO2 IS (itself built on 
Synapse).  

Another way of accessing the same things (plus numerous others) is via Vert.x, 
also directly supported from the Pharo catalog.  I’ve used that methodology as 
well, though I had to overcome Vert.x’s own limitations by mapping it to the 
more capable Apache River (formerly JINI).

You can access Hadoop / Cassandra / MongoDB via the same methods Kafka, Storm 
and Spark do, without the problems introduced by the JVM.  MongoDB and 
Cassandra have libraries already available in Pharo, and they work better than 
those available elsewhere.

There are even ways to directly access the Open Telephony API in ERLAN.  

Sometimes you need to be creative, and every time you need to understand the 
strengths and limitations of both what you’re using, and what you’re accessing. 



Sent from Mail for Windows 10

From: henry
Sent: Friday, October 27, 2017 5:03 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument

Elastic search JSON integration would be another good one. I heard there was a 
Kafka integration, is that true? Where could I find that, I used to use Kafka.

Kafka is a great event channel for input to BigData. Using Kafka, it is well in 
crafting a Lamda Architecture. Imagine Pharo where Storm resides.



- HH


On Fri, Oct 27, 2017 at 16:51, henry <he...@callistohouse.club> wrote:
 How about Kerberos? Can we get a team to look closely at bringing integration 
for enterprise users? That would be helpful, or can you just put it behind a 
Kerberos wrapper? If that would work, collecting a demo, that could unlock more 
corporate wallets , for investment. 


- HH


On Fri, Oct 27, 2017 at 16:41, henry <he...@callistohouse.club> wrote:
How is there no steering committee to accumulate wrapping 3rd party libraries 
in Alien to gain benefits of code in other languages? Do not assume that code 
is not extremely well written in that particular language for that particular 
task and that particular deployment mechanism.

Can Pharo be called as a shared library from Java JNA?

- HH


On Fri, Oct 27, 2017 at 15:47, Andrew Glynn <aglyn...@gmail.com> wrote:
I’m not claiming I don’t or haven’t been affected, only that I no long allow 
myself to be.  Does that cause issues?  Of course.  But I’d rather deal with 
those than do things I don’t enjoy.  However I only got to that point after 26 
years in the industry, so I don’t expect that everyone will feel that way.
  
Cheers
Andrew
  
Sent from Mail for Windows 10
  
From: jtuc...@objektfabrik.de 
Sent: Thursday, October 26, 2017 8:14 AM 
To: pharo-users@lists.pharo.org 
Subject: Re: [Pharo-users] Smalltalk Argument
  
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 lea

Re: [Pharo-users] Smalltalk Argument

2017-10-27 Thread Andrew Glynn
Last point.  Blocks are already better lambdas than lambdas in Java.

Have a look at this code from rxJava, which includes the Java 8 lambda version 
and a Java 7 version using an anonymous inner class:

Java 8 code

package rxjava.examples;

import io.reactivex.*;

public class HelloWorld {
public static void main(String[] args) {
Flowable.just("Hello world").subscribe(System.out::println);
}
}

Java 7 code

import io.reactivex.functions.Consumer;

Flowable.just("Hello world")
  .subscribe(new Consumer() {
  @Override public void accept(String s) {
  System.out.println(s);
  }
  });

Are they equivalent?  How would you know?

In fact, they aren’t, worse, the results of the difference depend on the 
target, whether it’s Java SE (including Spring based apps) or JavaEE.

The Java 8 version doesn’t create an anonymous inner class but a generically 
named class with generically named methods.  As a result, it will be most often 
faster.  However it’s less safe, because particularly in clustered 
environments, and unpredictably, it can create conflicts due to the same 
generic names being used by two different JVM’s.  The Java 7 version will be as 
fast, in JavaEE, and safer.  In Java SE they’re close to equivalently safe, but 
the Java 7 version will be significantly slower in most cases.

RxJava itself, as well, is unnecessary in Pharo, since the Announcer already 
implements the same pattern, and does so in a more efficient and more 
consistent way.


Sent from Mail for Windows 10

From: henry
Sent: Friday, October 27, 2017 5:03 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument

Elastic search JSON integration would be another good one. I heard there was a 
Kafka integration, is that true? Where could I find that, I used to use Kafka.

Kafka is a great event channel for input to BigData. Using Kafka, it is well in 
crafting a Lamda Architecture. Imagine Pharo where Storm resides.



- HH


On Fri, Oct 27, 2017 at 16:51, henry <he...@callistohouse.club> wrote:
 How about Kerberos? Can we get a team to look closely at bringing integration 
for enterprise users? That would be helpful, or can you just put it behind a 
Kerberos wrapper? If that would work, collecting a demo, that could unlock more 
corporate wallets , for investment. 


- HH


On Fri, Oct 27, 2017 at 16:41, henry <he...@callistohouse.club> wrote:
How is there no steering committee to accumulate wrapping 3rd party libraries 
in Alien to gain benefits of code in other languages? Do not assume that code 
is not extremely well written in that particular language for that particular 
task and that particular deployment mechanism.

Can Pharo be called as a shared library from Java JNA?

- HH


On Fri, Oct 27, 2017 at 15:47, Andrew Glynn <aglyn...@gmail.com> wrote:
I’m not claiming I don’t or haven’t been affected, only that I no long allow 
myself to be.  Does that cause issues?  Of course.  But I’d rather deal with 
those than do things I don’t enjoy.  However I only got to that point after 26 
years in the industry, so I don’t expect that everyone will feel that way.
  
Cheers
Andrew
  
Sent from Mail for Windows 10
  
From: jtuc...@objektfabrik.de 
Sent: Thursday, October 26, 2017 8:14 AM 
To: pharo-users@lists.pharo.org 
Subject: Re: [Pharo-users] Smalltalk Argument
  
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 o

Re: [Pharo-users] Smalltalk Argument

2017-10-27 Thread Andrew Glynn
I refer to it as “Craptive Directory”, the only reliable way I’ve found to use 
it is to federate it via WSO2 IS or OpenIDM.

You forgot Sun’s implementation, btw, which is cleaner than either.

Sent from Mail for Windows 10

From: p...@highoctane.be
Sent: Thursday, October 26, 2017 6:07 PM
To: henry; Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument

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. 



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

Re: [Pharo-users] Smalltalk Argument

2017-10-27 Thread Andrew Glynn
Unfortunately I can’t make it available since it was a government project, but 
I used Pharo to do streaming analytics on XML streams from Cisco ASR’s, and the 
analyzed data was streamed directly to Hadoop, which was magnitudes faster than 
Spark, Storm or Kafka, never mind HDB or the PostgreSQL overlay.

Sent from Mail for Windows 10

From: henry
Sent: Friday, October 27, 2017 5:03 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument

Elastic search JSON integration would be another good one. I heard there was a 
Kafka integration, is that true? Where could I find that, I used to use Kafka.

Kafka is a great event channel for input to BigData. Using Kafka, it is well in 
crafting a Lamda Architecture. Imagine Pharo where Storm resides.



- HH


On Fri, Oct 27, 2017 at 16:51, henry <he...@callistohouse.club> wrote:
 How about Kerberos? Can we get a team to look closely at bringing integration 
for enterprise users? That would be helpful, or can you just put it behind a 
Kerberos wrapper? If that would work, collecting a demo, that could unlock more 
corporate wallets , for investment. 


- HH


On Fri, Oct 27, 2017 at 16:41, henry <he...@callistohouse.club> wrote:
How is there no steering committee to accumulate wrapping 3rd party libraries 
in Alien to gain benefits of code in other languages? Do not assume that code 
is not extremely well written in that particular language for that particular 
task and that particular deployment mechanism.

Can Pharo be called as a shared library from Java JNA?

- HH


On Fri, Oct 27, 2017 at 15:47, Andrew Glynn <aglyn...@gmail.com> wrote:
I’m not claiming I don’t or haven’t been affected, only that I no long allow 
myself to be.  Does that cause issues?  Of course.  But I’d rather deal with 
those than do things I don’t enjoy.  However I only got to that point after 26 
years in the industry, so I don’t expect that everyone will feel that way.
  
Cheers
Andrew
  
Sent from Mail for Windows 10
  
From: jtuc...@objektfabrik.de 
Sent: Thursday, October 26, 2017 8:14 AM 
To: pharo-users@lists.pharo.org 
Subject: Re: [Pharo-users] Smalltalk Argument
  
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

Re: [Pharo-users] Smalltalk Argument

2017-10-27 Thread Andrew Glynn
And btw, Kafka, like Storm and Spark, is a very limited, and very slow way of 
accessing Hadoop data stores.

Sent from Mail for Windows 10

From: henry
Sent: Friday, October 27, 2017 5:03 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument

Elastic search JSON integration would be another good one. I heard there was a 
Kafka integration, is that true? Where could I find that, I used to use Kafka.

Kafka is a great event channel for input to BigData. Using Kafka, it is well in 
crafting a Lamda Architecture. Imagine Pharo where Storm resides.



- HH


On Fri, Oct 27, 2017 at 16:51, henry <he...@callistohouse.club> wrote:
 How about Kerberos? Can we get a team to look closely at bringing integration 
for enterprise users? That would be helpful, or can you just put it behind a 
Kerberos wrapper? If that would work, collecting a demo, that could unlock more 
corporate wallets , for investment. 


- HH


On Fri, Oct 27, 2017 at 16:41, henry <he...@callistohouse.club> wrote:
How is there no steering committee to accumulate wrapping 3rd party libraries 
in Alien to gain benefits of code in other languages? Do not assume that code 
is not extremely well written in that particular language for that particular 
task and that particular deployment mechanism.

Can Pharo be called as a shared library from Java JNA?

- HH


On Fri, Oct 27, 2017 at 15:47, Andrew Glynn <aglyn...@gmail.com> wrote:
I’m not claiming I don’t or haven’t been affected, only that I no long allow 
myself to be.  Does that cause issues?  Of course.  But I’d rather deal with 
those than do things I don’t enjoy.  However I only got to that point after 26 
years in the industry, so I don’t expect that everyone will feel that way.
  
Cheers
Andrew
  
Sent from Mail for Windows 10
  
From: jtuc...@objektfabrik.de 
Sent: Thursday, October 26, 2017 8:14 AM 
To: pharo-users@lists.pharo.org 
Subject: Re: [Pharo-users] Smalltalk Argument
  
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, bec

Re: [Pharo-users] Smalltalk Argument

2017-10-27 Thread Andrew Glynn
An easy way of accomplishing what you want is to use Stamp to communicate with 
Synapse.  It also has the advantage of being able to throttle queries that are 
too fast for the JVM to process.  I’ve used precisely that method a number of 
times to connect to Hadoop.

Sent from Mail for Windows 10

From: henry
Sent: Friday, October 27, 2017 5:03 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument

Elastic search JSON integration would be another good one. I heard there was a 
Kafka integration, is that true? Where could I find that, I used to use Kafka.

Kafka is a great event channel for input to BigData. Using Kafka, it is well in 
crafting a Lamda Architecture. Imagine Pharo where Storm resides.



- HH


On Fri, Oct 27, 2017 at 16:51, henry <he...@callistohouse.club> wrote:
 How about Kerberos? Can we get a team to look closely at bringing integration 
for enterprise users? That would be helpful, or can you just put it behind a 
Kerberos wrapper? If that would work, collecting a demo, that could unlock more 
corporate wallets , for investment. 


- HH


On Fri, Oct 27, 2017 at 16:41, henry <he...@callistohouse.club> wrote:
How is there no steering committee to accumulate wrapping 3rd party libraries 
in Alien to gain benefits of code in other languages? Do not assume that code 
is not extremely well written in that particular language for that particular 
task and that particular deployment mechanism.

Can Pharo be called as a shared library from Java JNA?

- HH


On Fri, Oct 27, 2017 at 15:47, Andrew Glynn <aglyn...@gmail.com> wrote:
I’m not claiming I don’t or haven’t been affected, only that I no long allow 
myself to be.  Does that cause issues?  Of course.  But I’d rather deal with 
those than do things I don’t enjoy.  However I only got to that point after 26 
years in the industry, so I don’t expect that everyone will feel that way.
  
Cheers
Andrew
  
Sent from Mail for Windows 10
  
From: jtuc...@objektfabrik.de 
Sent: Thursday, October 26, 2017 8:14 AM 
To: pharo-users@lists.pharo.org 
Subject: Re: [Pharo-users] Smalltalk Argument
  
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 

Re: [Pharo-users] Smalltalk Argument

2017-10-27 Thread Andrew Glynn
Btw, I don’t need to assume it’s not well written. I’ve both tested it and 
looked at the code.  

And in the vast majority of cases, It’s not.

Sent from Mail for Windows 10

From: henry
Sent: Friday, October 27, 2017 5:03 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument

Elastic search JSON integration would be another good one. I heard there was a 
Kafka integration, is that true? Where could I find that, I used to use Kafka.

Kafka is a great event channel for input to BigData. Using Kafka, it is well in 
crafting a Lamda Architecture. Imagine Pharo where Storm resides.



- HH


On Fri, Oct 27, 2017 at 16:51, henry <he...@callistohouse.club> wrote:
 How about Kerberos? Can we get a team to look closely at bringing integration 
for enterprise users? That would be helpful, or can you just put it behind a 
Kerberos wrapper? If that would work, collecting a demo, that could unlock more 
corporate wallets , for investment. 


- HH


On Fri, Oct 27, 2017 at 16:41, henry <he...@callistohouse.club> wrote:
How is there no steering committee to accumulate wrapping 3rd party libraries 
in Alien to gain benefits of code in other languages? Do not assume that code 
is not extremely well written in that particular language for that particular 
task and that particular deployment mechanism.

Can Pharo be called as a shared library from Java JNA?

- HH


On Fri, Oct 27, 2017 at 15:47, Andrew Glynn <aglyn...@gmail.com> wrote:
I’m not claiming I don’t or haven’t been affected, only that I no long allow 
myself to be.  Does that cause issues?  Of course.  But I’d rather deal with 
those than do things I don’t enjoy.  However I only got to that point after 26 
years in the industry, so I don’t expect that everyone will feel that way.
  
Cheers
Andrew
  
Sent from Mail for Windows 10
  
From: jtuc...@objektfabrik.de 
Sent: Thursday, October 26, 2017 8:14 AM 
To: pharo-users@lists.pharo.org 
Subject: Re: [Pharo-users] Smalltalk Argument
  
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 ve

Re: [Pharo-users] Smalltalk Argument

2017-10-27 Thread Andrew Glynn
Web dev is a messy field.  Not because it has grown too fast, but because it 
was designed by amateurs, developed by amateurs, and continues to be so, while 
depending on an underlying expertly designed system, the internet.

You can see the results in REST / ROA.  Neither could work at all without the 
underlying stateful, complex (in terms of behavior), and very well written code 
that runs DNS, the main registrars, TCP/IP itself (which is not, like REST, a 
very limited protocol turned into an interface), etc.

One hilarious aspect of REST is that, due to being HTTP redone, it continues to 
have the POST method, which happens to contradict ROA completely, yet they were 
defined together by the same person.

Sent from Mail for Windows 10

From: Dimitris Chloupis
Sent: Thursday, October 26, 2017 8:54 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument

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 lo

Re: [Pharo-users] Smalltalk Argument

2017-10-27 Thread Andrew Glynn
Your points are, as usual, very accurate.  However the percentage of rarely 
used methods in JavaEE makes those in Morphic look nearly irrelevant.

The more important question for me is whether they interfere or not.

Sent from Mail for Windows 10

From: Dimitris Chloupis
Sent: Thursday, October 26, 2017 8:54 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Smalltalk Argument

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 

Re: [Pharo-users] Smalltalk Argument

2017-10-27 Thread Andrew Glynn
I’ve never needed or seen any reason to implement MVC on Seaside, since it has 
a superior model to begin with.  It would seem to me like implementing Vert.x 
over JINI, rather than the inverse.  

I’m curious though why you see a need to do so, i.e. what requirements you’re 
being given that make it necessary.

Sent from Mail for Windows 10

From: jtuc...@objektfabrik.de
Sent: Thursday, October 26, 2017 8:14 AM
To: pharo-users@lists.pharo.org
Subject: Re: [Pharo-users] Smalltalk Argument

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’. 

Re: [Pharo-users] Smalltalk Argument

2017-10-25 Thread Andrew Glynn
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 inefficient, as long as it doesn’t ‘really’ matter, is an 
advantage to large enterprises because they have resources smaller competitors 
don’t.  

 

Why don’t their competitors do it?  Because they can’t see past an hourly rate, 
what’s fashionable, or just new, or because their customers can’t.  Put more 
generally, average stupidity that isn’t corrected by the market.  Fashion 
affects smaller companies more than larger ones, because they can’t afford a 
few customers walking away because they wanted an app in Electron, even if they 
can’t give any relevant reason for wanting it, and even the samples on the 
Electron site don’t work.  

 

Enterprises can, and do use Smalltalk when it matters.  When it doesn’t, it’s 
to their advantage to promote things that are inefficient, buggy and unreliable.

 

Cost is relevant, but not in the simple way people look at things.  A crucial 
but rarely mentioned perspective on its relevance is that while Java based 
software runs TV set top boxes, Smalltalk based software runs things like 
medical equipment, automated defense systems, tanks, etc.  Cost becomes largely 
irrelevant when ‘shit has to work’.  

 

Productivity is primarily relevant to less talented developers, in an inversely 
sense, since unproductive environments and attitudes have a leveling tendency 
in general, and more specifically make accomplishing what the less talented are 
capable of in any environment sufficiently laborious for them to have a role.  
Capability in Smalltalk, as implied by the person hiring for the Java role I 
mentioned, is a 

Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-13 Thread Andrew Glynn
The first language I played with, I was nearly 5, was a live
environment, Forth.  I used it on an old PDP my mother had bought that
was being surplused at the company she worked at.  I used Forth until I
was in my early teens, it was far superior to the BASIC that most other
kids I knew who knew any programming used.  It wasn't Smalltalk, but in
many of the areas it was used (production automation is one major
area), the language that most often replaced it was Smalltalk.  
The biggest difference, for me, as I wrote in the article the other
day, is the ability to build-on rather than build-with, which in turn
is based on the environment being written in itself. Ruby looks very
much like Smalltalk, but it works like Java; Python works more like
Smalltalk, and it's a much better live environment than Java or Ruby,
because more of it is written in itself, but too much of Python is
written in C, and that causes problems. If the code that
interprets/compiles your code follows the same rules, the machine code
it generates will usually also follow the same rules, and those
rules/restrictions are, for the most part, designed to make code more
reliable. 
As well, RVM has proven Smalltalk (specifically Squeak / Pharo, though
admittedly an older version) can scale to 1024 cores nearly linearly.  
Python has a decent developer base but it's almost all OSS and almost
all on Linux. Very few applications in Python are in areas where
reliability is absolutely necessary, or even all that important.  Like
Smalltalk, it's a general purpose language in a niche, but the niches
are very different. For years, decades really, any good version of
Smalltalk cost an arm and a leg (some of them both of each), and as a
result it tended to be used only where things really had to work.  
Pharo is a great OSS Smalltalk, IMHO by the best to date (Squeak was/is
good, but the LaF was never professional enough for it to be taken as
seriously as it deserves, it just looks too much like a toy although in
reality it's very powerful). Having the capability to build-on a
reliable, attractive and enjoyable base without signing over my great-
grand-child's first born is fantastic, and a great achievement for
those who accomplished it.
Kendrick is an example of what can be done if you build-on:  it was
built on Moose, which is built on Glamorous, which is built on Morphic,
which itself is based on a couple of decades work olving the basic
problems inherent to UI's and MVC-type UI's in particular.  Kendrick
itself was written in a very short time when you compare it with other
epidemiology programs, if you only count the time spent on Kendrick
itself.  It's an inherently complex problem area, and it's a life or
death problem area. That an application capable of working reliably
enough to be trusted in that area was built in a short time, because it
was built-on a couple of decades of OSS work, is a huge compliment to
those who were involved.  
Unfortunately for me, I wasn't, ☺.  But at least I can take advantage
of it existence now.
Andrew








-Original Message-
Date: Fri, 06 Oct 2017 21:18:28 +Subject: Re: [Pharo-users] Behold
Pharo: The Modern SmalltalkTo: Any question about pharo is welcome Reply-to: Any question about pharo is welcome
From: Dimitris Chloupis Wise not to mention Ruby and Python and Pick the worst of the
worst in OOP. Because frankly the competition for Pharo against those
two behemoths can be quite brutal in the flexibility and power of OOP. 
And no , these language can do live coding with ease. I know because I
currently code live coding style with Python for an app I am making.
Sure it wont provide you with a live system out of the box, but put in
10 lines of code and you already ready to go with hardcore live coding.
At least Python , Ruby being practically a rip off of Smalltalk
language may need even less. 

iPython which by the way is by far the most popular Python tool is the
real deal, a full blow live coding enviroment. 

To my suprise its not even hard to do live coding with C/C++ including
using image format. To my shock live coding is actually supported by
both the OS and the hardware. Hardware has its own exception system ,
OS has an image flie format called "memory mapped files" used for DLLs
and a lot of essential functionality. 

For some weird reason however its well hidden and not that much
utilised by coders. They really love long compile times, dont ask me
why. 

But yeah C++ even though it has come a long way with its template
system, its still the king of ugly. That sytax, oh the horrors of that
syntax. yiaks !!!

I am so enternal greatful that Pharo introduced me to live coding and
opened my eyes to universe of fun and productivity. I cannot imagine
coding an other way ever again. 

I really hope that we take this further though. 

On Wed, Oct 4, 2017 at 1:31 PM horrido 
wrote:
> Behold Pharo: The Modern 

Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-13 Thread Andrew Glynn
I understand why it occurs, both the private and the final keyword
affect the reference rather than the object. However, to quote someone
else "That the value of a private field can be changed without a public
setter implies that encapsulation is weak at best, and shouldn't be
counted on to protect key values, even in combination with the final
keyword."  Even that comment, though, brings in the notion of a 'value'
that's not an object.

My point initially was not about the code, but about the Java API doc
that also claims attempting to change the value will result in a
compile
error. Although keywords affect references, the documentation states
that it affects 'the value', which is at best ambiguous. There's
inevitably a conflation of passing by value and passing by reference in
Java by former C/C++ programmers, since it looks like PBV to a C/C++
programmer while always in fact being PBR.  When copying syntax
inverting the meaning of the syntax is counterproductive. 

There are also numerous issues around type erasure (mainly that it
works for
collections, even simple collections such as vectors, but not for
arrays) and the resulting need for Java to allow invalid type casts in
certain cases even though they can result in uncaught runtime
exceptions. Since the fact that they are invalid is explicit in the API
doc, that they are allowed because there's no other way to do it is
problematic.

Using lambdas or the streaming API within Java EE is another
undocumented problem, or set of problems ( it was good fortune for me
personally - when some software using the streaming API in an EE
container consistently failed and the developer had no idea why, the
company gave me the project I implemented it in Pharo, ☺ ).  Oracle did
at one point have a note on the Java EE 7 download page to the effect
that Java EE 7 shouldn't be used with Java SE 8, but that was
'disappeared' when Java SE 7 was no longer supported and Java EE 7 was
still the latest version.  Since Java EE 8 is not even on the horizon,
while SE 9 is due 'any minute now', I have to wonder if EE is simply
dead.  The requests from IBM, SAP and others to take over EE imply they
at least suspect the same.

I'd rather have no API documentation than documentation of the sort
represented by the Java API doc.  Not that I think it's all
intentional, though perhaps the primitives and scalars that are in fact
objects and collections may have been to muffle wailing from C/C++
programmers that the lack of primitives and scalars would kill
performance.  I suspect it's more often a result of unsuccessfully
mode-switching, though, between the rules of the language you're
implementing and those of the language you're implementing in, but that
only makes the case for languages implemented in themselves stronger.

Andrew


-Original Message-

Date: Fri, 13 Oct 2017 18:39:59 +0200
Subject: Re: [Pharo-users] Behold Pharo: The Modern Smalltalk
To: Any question about pharo is welcome <pharo-users@lists.pharo.org>
Reply-to: Any question about pharo is welcome 
From: Nicolai Hess <nicolaih...@gmail.com>


Am 13.10.2017 5:50 PM schrieb "Andrew Glynn" <aglyn...@gmail.com>:
I can't remember ever using API docs in any language, dynamic or not. 
They give you the method signatures, but if you have, say, methodX(int,
int, String), how are you supposed to guess what ints and what String
the method actually needs,


Isn't this exactly what an apidoc is for? Additional documentation to
describe the methods and   arguments purpose. 

Maybe you have just seen poorly documented libraries?


One of my favourite language fails can be reproduced by doing this: 

Declare a field private final in Java, initializing it either in the
declaration or the constructor, and provide only a getter. Use the
getter from another class and change the value of the local variable.
Then use the getter again, but assign the value to a new local
variable, and check the value.  



Maybe you should re-read about javas  final keyword.
It is not to meant making something immutable ,
you can just not reassign a new value.

Java final != c++ const





Re: [Pharo-users] FYI about Pharo MOOC

2017-10-13 Thread Andrew Glynn
Oh good, glad the French version is still there.  I was starting to go
through it a couple of weeks ago and plan to continue starting this
weekend.  Although my mother tongue is English, at one point I was
fluently bilingual (both Quebecois and actual French), and it's a
chance to get some of it back while picking up information I've likely
missed
on less obvious features.

I can understand French well enough, but the more I hear it spoken
the better. Reading/writing don't get rusty as easily.

Of course speaking it would be even better, but I don't get many
chances to do so in Toronto ☺.

Andrew

-Original Message-

Date: Fri, 13 Oct 2017 18:06:17 +0200
Subject: Re: [Pharo-users] FYI about Pharo MOOC
To: Any question about pharo is welcome 
Reply-to: Any question about pharo is welcome 
From: Stephane Ducasse 
The production company told us that it was super strange without our
voices.
Now you can also have the french + subtitles.

On Fri, Oct 13,
2017 at 2:42 PM, Ben Coman  wrote:
> I played C019SD-W1-S1-EN-V1.mp4and as well as the english voice, in
> the
> background Ican still hear youroriginal french voice.I'm curious
> therea
> soning forthis.
> cheers -ben
> 
> On Fri, Oct 13, 2017 at 3:59 AM, Stephane Ducasse  l.com>wrote:
> > I'm about to release the en versions.you canfind them unofficially
> > on http://www.stephaneducasse.eu/MOOC/
> > Stef
> > OnTue, Oct 10, 2017 at 10:10 PM, Gour  wrote:
> > > On Tue,
> > > 10 Oct 2017 21:31:55 +0200
> > > Stephane Ducasse
> > > 
> > > wrote:
> > > 
> > > Hello Stef,
> > > 
> > > > I will ask one guy thursday and let you know.
> > > 
> > > Thanks a
> > > lot!
> > > 
> > > > We will release Mooc with english voices (not mine else english
> > > > nati
> > > > ves would get an heart attack - I have what they call a sexy
> > > > french
> > > > accents ;)
> > > 
> > > I did watch few of your Pharo-related presentations and,
> > > although not
> > > native,
> > > happily survived. :-)
> > > 
> > > Moreover, I'd say that your
> > > English is charming! At least, one is sure
> > > that the
> > > real human is
> > > speaking and not some "robot" put on auto-pilot, so if the
> > > new
> > > Mooc is
> > > going to be the same as the  current/old one, I'd prefer to
> > > download
> > > the
> > > current files and watched them along with *.srt subtitles?
> > > 
> > > Iow. my point
> > > is that the accent is just one part of the talk/teaching,
> > > but the
> > > energy
> > > behind it is much more imporant - this is, my conviction, based
> > > on my
> > > own
> > > teaching experiences.
> > > 
> > > 
> > > Sincerely,
> > > Gour
> > > 
> > > --
> > > From anger, complete delusion
> > > arises, and from delusion
> > > bewilderment of memory. When memory is
> > > bewildered,
> > > intelligence is lost, and when intelligence is lost
> > > one falls
> > > down again into the material pool.
> > > 
> > > 
> > > 




Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-13 Thread Andrew Glynn
I can't remember ever using API docs in any language, dynamic or
not.  They give you the method signatures, but if you have, say,
methodX(int, int, String), how are you supposed to guess what ints and
what String the method actually needs, unless the methods are nothing
but getters and setters (which I've never understood the point of)
?  (I know, most give (int somename, int someothername, String
whatever), but how often do are method names well thought through
enough to imply definitively what the method needs?.  
It's my biggest issue with Algol-style syntax - the method caller is
supposed to know how it works, rather than whoever actually wrote
it.  It's probably at least one of the reasons for the amount of OSS in
Java, and more recently in JavaScript (though the latter is more no-
style than Algol-style).  I nearly always download the source to OSS
libs although I rarely ever bother building it, so I know what a method
does with the params, and I can be sure what params to give it.
One of my favourite language fails can be reproduced by doing this: 
Declare a field private final in Java, initializing it either in the
declaration or the constructor, and provide only a getter.  Use the
getter from another class and change the value of the local variable.
Then use the getter again, but assign the value to a new local
variable, and check the value.  
Guess what? The value is whatever you changed it to in your other local
variable, although the API docs claim javac won't compile it. I tested
this with Java 8,  I haven't bothered to see if it was always like that
or if they took the rule out of javac because it interfered with some
syntactic parmesan, such as lambdas.  I should copy my test code into
VisualAge for Java and see if in fact it compiles with JDK 1.4.2, or if
javac was changed in between 4 and 8, since the addition of various
flavours of syntactic parmesan mostly started with Java 5.
Not that it's all that important in one sense.  If 'private' and
'final' were supposed to be guides for other developers to be careful
if they're thinking about changing it, fine, anyone who doesn't isn't
all that good a developer.  But given the number of 'not very good'
developers I've had the misfortune to work with in Java, it's more
problematic than it should be.  It also makes the pattern of a private
field with a public setter even more useless, since the setter isn't
needed to change the value.  I always get dinged by whatever lint
companies use for not bothering with that pattern, though, and pointing
out that declaring the fields public accomplishes exactly the same
thing never helps my case, because whatever lint they use, it has to be
right, there's no way a non-lint developer might be right.
Andrew Glynn
-Original Message-
Date: Wed, 11 Oct 2017 10:01:20 -0500Subject: Re: [Pharo-users] Behold
Pharo: The Modern SmalltalkTo: pharo-users@lists.pharo.orgReply-to: Any
question about pharo is welcome <pharo-users@lists.pharo.org>From:
Offray Vladimir Luna Cárdenas <offray.l...@mutabit.com>
  

  
  
Yes. I know them. I mean API docs as static files. I don't really
  sold on them compared with a live system and I don't think static
  API docs are critical for Pharo success.
Cheers,
Offray




On 11/10/17 09:52, Dimitris Chloupis
  wrote:



> Ah
>   and my static website was built with Pillar and Bootstrap,
> using
>   bootstrap templates was easy because Pillar supports mustache
> that
>   makes html manipulation much easier 
> 
>   
> 
>   http://www.kilon-alios.com
> 
>   
> 
>   Pillar of course is not made for generating websites but it’s
> an
>   awesome Pharo library that allows for great degree of freedom
> so I
>   thought , why not ?
> 
>   
> On Wed, 11 Oct 2017 at 17:48, Dimitris Chloupis
>   <kilon.al...@gmail.com> wrote:
> 
> 
> 
> > Docs are
> >   available in static online html format , at least the
> > book I
> >   was working on 
> > 
> >   
> > 
> >   Pharo By Example 
> > 
> >   
> > 
> >   You can find those links here
> > 
> >   
> > 
> >   https://github.com/SquareBracketAssociates/UpdatedPharoBy
> > Example
> > 
> >   
> > 
> >   Our documentation system , Pillar , outputs pdf , html
> > and
> >   markdown files. 
> > 
> >   
> > 
> >   If the book in question is built like PBE with CI of
> > Inria
> >   where most Pharo related official projects are built then
> > it
> >   should have at least pdf and html with online access so
> > you
> >   can e

Re: [Pharo-users] Behold Pharo: The Modern Smalltalk

2017-10-13 Thread Andrew Glynn
I agree with you that difficulty is half the fun, assuming you're a
developer - developers solve problems, so if there weren't any we'd be
a bit out of luck.  For myself I've somehow never, in a 26+ year
career, worked on maintaining code. I've only ever written new code. in
fact  I usually wind up with the things nobody, me included, has a clue
of how to do, tending to make them even more difficult.  On a project
last year the 'technical unknowns' could be boiled down from the 5 page
document I was given to one word, 'everything', including what the
customer (the government, unsurprisingly), actually meant by any of the
terms used in the requirements, since even common networking terms like
VPN mean something different to government employees, apparently, than
to anyone else in the world.
It's rewriting the same or incredibly similar rote code because we
start from the same basic point on every project that gets on my
nerves; writing new and often difficult code, or learning new and often
difficult languages, even learning unfamiliar domain specific
terminology, are the reasons I'm still a developer.  Difficulty though
ought to come with a bit of power.  JavaScript can be extremely
difficult, but when it's difficult and the result is that a page widget
appears in the right place, it doesn't feel like much of an
accomplishment.  Electron apps can be difficult, though the difficulty
isn't in writing them, but in building them and getting them to
actually run, especially if you're supporting Mac as well as Windows.
Unless I'm writing a VM (which I haven't done very much of at all) the
difficulties with CLANG, SLANG, along with about a dozen other tools,
just to build a simple application, doesn't feel like much of an
accomplishment either. At least not to me, I guess it does to some
people though.  I have noticed a squeaky wheel effect: technologies
that 'just work' get quickly forgotten, because there aren't 3 million
people on slashdot or wherever asking questions about how to get them
to work. JINI (now Apache River) is a good example (especially in Java,
where not much 'just works'), when the new cars that automagically
connect your cell phone and tablet to their own 4G were designed, they
had to write JINI clients for C and whatever other languages they use,
because that's what does all the automagic.  But not many people even
remember it exists.
One thing I do disagree with you on is that people prefer Windows. It
seems to me that Windows is more popular due to price, and maybe due to
the relative ease of controlling access centrally, more than anything,
and even given the lower prices on (at least as far as obvious specs
go) equivalent machines, I can't think of anyone I know off the top of
my head who would use Windows if they could afford a Mac, and everyone
I know who can, does use one.  I had to write a Mac app for Charles
Schwab that would run on any home Mac (down to G4 based Macs with a
half gig of RAM that could run at best OS X 10.5) with equivalent
features to a Windows app that required 16GB RAM to load and 24GB to
run decently, because the majority of the professional stock traders
who use Windows all day at work have Macs at home (of course they can
largely afford them).  
If I'm not developing or testing I admittedly most often use a Macbook
myself.  I do use Windows on my tablet, since it can run a full version
of Win 10 x64 (not the useless RT version) and therefore nearly any
Windows program.  I won the tablet at HP at the xmas party though, and
with a quad-core Atom CPU and 8GB RAM it's not really an average
tablet. Even then, I only use it if stuck somewhere for a while with
nothing to do. So I have to admit, if I'm not developing I don't enjoy
difficulty much.  Nor do most of the end users I know. 

I do know a few masochists who prefer Linux to Mac, most of whom don't
run a UI.  The few who do use MATE, which while being both ugly and
lacking any notable capabilities, never mind applications, doesn't use
much memory.  Exactly why a third of a GB of RAM is relevant today I'm
not sure, when both Atom and Sublime Text use more memory than Ubuntu,
Kubuntu or OS X for that matter, but they seem to feel it's radically
important.  Sublime Text makes me think of Hegel's definition of The
Sublime: "the night where all cows are black" ☺.

I'll use Linux if my Thinkpad is handier. It runs OEL with KDE, so it's
not difficult (unless you want anything by Adobe, lol), and it's pretty
quick. Though ironically the Macbook is still quicker, though it has
half the RAM and an i7 that's 2 generations older.  
I visited a friend at the IBM lab I used to work at a few months ago,
and since they know me pretty well at security, I had no problem
getting a visitor badge.  Walking through the area where they write
among other things, DB2 UDB, InfoSphere, WebSphere and associated
products, and all of ibm.com I glanced in the cubicles as I went to my
friend's desk, and the majority of the developers were 

Re: [Pharo-users] "Building-With versus Building-on"

2017-10-12 Thread Andrew Glynn
I know about personalization being a lot of work, particularly with Eclipse.  I 
copied the text out of the ‘summary’ page in About Eclipse into Kate, and it 
was 1233 lines long, lol.  

I was one of two team leads on what was probably the most complex application 
I’ve worked on, using VA Java and VA C++ with CORBA to exchange objects (the 
need to combine both was due to legacy issues).  Siemens now owns the 
application, which was successful enough to bankrupt its closest competitor, 
but the binary jars in the latest version are still dated 2002, and every 
addition has been made via .the WS* API we included, which if I remember 
correctly, uses version 1.x of WebSphere.  I’m a bit surprised it still runs at 
all tbh, but its security must be horrible by now.

Eclipse’s only saving grace is EMF/CDO, and a few projects built on them, IMHO.

Sent from Mail for Windows 10

From: Dimitris Chloupis
Sent: Thursday, October 12, 2017 2:05 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] "Building-With versus Building-on"

It's a mentality issue, modern programming languages provide the material 
necessary to create innovative environments but their communities just simply 
does not care. A language designer may introduce a feature in a language that 
is super useful. Still people may not use it. 

And let's face it even with Pharo nothing beats a personalized environment, of 
course personalisation is a lot of work. Hence why people avoid it.  

Essentially boiling down to cooking your own food instead of getting it from a 
shop. When you begin to learn how to cook , its kinda sucks, but the more you 
cook the better it tastes. Of course it takes time to get there and hence why 
so few people cook. 

Eclispe , which I will disagree with your that is not the worst IDE, started as 
a smalltalk IDE and then it got Eclipsed. I am sure those people had a "build 
on" environment , still it got messy. We can blame porting to Java, but can we 
really blame Java for the mess that is called "Eclipse" e nope. 

I once saw a youtube video about a musician using windows sounds (the standard 
sounds we all know of) to make  a very nice music piece. He did all that using 
multiple instances of windows media player. Just pause reading think about this 
for a minute. That's the real essence of creativity

Use something very limited and come up with something amazing. The software 
industry is not about creativity for the most part. On the other hand I that 
work with 3d its amazing how fast super cool new technologies pop around like 
mushrooms. Every year we have massive improvements in libraries and tools. But 
the coding for 3d graphics is all about creativity , artists are not very 
forgiving for ugly GUI, limited features and innovation stagnation. Artists 
want to be inspired by the tools they use. But then that's the creativity 
realm. Creativity pays the bills in this case, lack of it , game is not fun, 
rendering or animation is not fun, you can lose millions. 

Of course in the creativity realm , there is too much innovation and unless you 
keep up you are kicked out the door, yesterday. Which brings down to the 
problem of complexity and how you deal with it. And I don't mean about bad 
complexity , aka web dev, I am talking about good complexity. Features you 
cannot ignore because other will use before you and you are left behind etc. 


On Thu, Oct 12, 2017 at 7:13 PM Peter Fisk <peter.f...@gmail.com> wrote:
Thanks for posting this.

It is one of the best descriptions of the state of the software industry that I 
have seen.


On Thu, Oct 12, 2017 at 11:50 AM, Andrew Glynn <aglyn...@gmail.com> wrote:
https://medium.com/@dasein42/building-with-versus-building-on-c51aa3034c71

This is an article not specifically about Pharo, rather on the state of the 
industry
in general and how it got that way, but positing Pharo as a way to learn
building-on rather than building-with, where in the latter case on
every project you start at essentially the same place.  

As a result it does put in front of people a fair amount of info on Pharo, and 
challenges them to try it.

cheers
Andrew Glynn




[Pharo-users] "Building-With versus Building-on"

2017-10-12 Thread Andrew Glynn
https://medium.com/@dasein42/building-with-versus-building-on-c51aa3034
c71
This is an article not specifically about Pharo, rather on the state of
the industry
in general and how it got that way, but positing Pharo as a way to
learn
building-on rather than building-with, where in the latter case on
every project you start at essentially the same place.  
As a result it does put in front of people a fair amount of info on
Pharo, and challenges them to try it.

cheersAndrew Glynn

Re: [Pharo-users] Deploying on Linux with LibC version < 2.15

2017-10-06 Thread Andrew Glynn
There's a reason it's referred to by numerous developers as R-HELL.

Andrew Glynn

-Original Message-

Date: Thu, 5 Oct 2017 21:46:20 +0800
Subject: Re: [Pharo-users] Deploying on Linux with LibC version < 2.15
To: bruce.on...@pckswarms.ch, Any question about pharo is welcome 
Reply-to: Any question about pharo is welcome <pharo-users@lists.pharo.
org>
From: Holger Freyther <hol...@freyther.de>
> On 5. Oct 2017, at 18:08, Bruce O'Neel <bruce.on...@pckswarms.ch>
> wrote:
> 
> Hi,

Hi!


> Well, our redhat 6.9 systems have 2.12, so, that qualifies.
> 
> And yes, we still have RedHat 6, and 6.9 was released only 6 months
> ago!  It will finish extended support in a mind-blowing 7 more years
> in 2024.
> 
> Redhat 5, still supported for another 3 years till 2020 has glibc
> 2.5.


for a brief moment you really scared me. I thought you referred to
RedHat Linux 6 which was released in 1999 but you are referring to Red
Hat Enterprise Linux (RHEL).

As it turns out we have "latest" (as soon as a commit is made to pharo-
vm.git) and hand curated "stable" (hand created source tarballs,
rebuilt from a git commit of opensmalltalk-vm) for RHEL6 and CentOS 6.

CentOS 6.x:

# Add the repo
$ yum-config-manager --add-repo http://download.opensuse.org/repositori
es/devel:/languages:/pharo:/latest/CentOS_6/devel:languages:pharo:lates
t.repo

OR (for stable):

http://download.opensuse.org/repositories/devel:/languages:/pharo:/late
st/CentOS_6/devel:languages:pharo:stable.repo

# Install 32bit packages (with X11 dependency for *-ui or not)

$ yum install pharo6-32-ui.i686 or pharo6-32.i386

# Install 64bit packages

$ yum install pharo6-64-ui.x86_64 pharo6-64.x86_64







Re: [Pharo-users] Deploying on Linux with LibC version < 2.15

2017-10-06 Thread Andrew Glynn
RedHat < 7.0 still uses libc 2.12 as far as I'm aware. Pharo 5 has a
downloadable version that works on that OS.  OEL with the UEK has an
updated libc.

Andrew Glynn
openmastery.org

-Original Message-

Date: Thu, 5 Oct 2017 11:43:07 +0200
Subject: Re: [Pharo-users] Deploying on Linux with LibC version < 2.15
To: Any question about pharo is welcome <pharo-users@lists.pharo.org>
Reply-to: Any question about pharo is welcome <pharo-users@lists.pharo.
org>
From: Cyril Ferlicot <cyril.ferli...@gmail.com>
On Thu, Oct 5, 2017 at 11:30 AM, Holger Freyther <hol...@freyther.de>
wrote:
> 
> Which OS has such old versions of LibC? Which LSB standard does it
> support?
> 

Hi,

This is RedHat. I don't have the right to give more info than the fact
it is a RedHat with a LibC version < 2.15.
I don't know for the LSB support. I can ask but I will probably not
know before the end of next week.



Re: [Pharo-users] [ANN] success story: surgery appointments digitalised

2017-06-24 Thread andrew glynn
Thanks, it had occurred to me to take a look at the other drivers in Garage - 
been a bit busy though so might not get to it until tomorrow.


Andrew Glynn



From: Pierce Ng <pie...@samadhiweb.com>
Sent: Friday, June 23, 2017 8:19 PM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] [ANN] success story: surgery appointments digitalised

On Sat, Jun 24, 2017 at 12:48:56AM +0800, Ben Coman wrote:
> @anyone, If Andrew can get a proof of concept working, what are the best
> frameworks for it to work with?

Write the Oracle set-oriented driver according to UDBC convention. Then, write
a Glorp ORM driver based on it. The Pharo version of Glorp already has
OraclePlatform, which comes from the VW upstream and presumably works, so it
can be used as a reference. There's also Garage which also suppors Glorp. All
are available in the Catalogue Browser.

STH search shows a project named  Garage-Oracle by CraigAllen but 'the page
does not exist, sadly.'

Pierce




Re: [Pharo-users] [ANN] success story: surgery appointments digitalised

2017-06-23 Thread andrew glynn
It occurred to me that with the C++ support in Pharo 6 it might be relatively 
easy to use this driver https://github.com/vrogier/ocilib to connect to Oracle. 
 I will look into it over the weekend.

Andrew Glynn

From: Norbert Hartl [mailto:norb...@hartl.name]
Sent: Friday, June 23, 2017 11:07 AM
To: Pharo users users
Subject: Re: [Pharo-users] [ANN] success story: surgery appointments digitalised


Am 22.06.2017 um 17:43 schrieb Ben Coman 
<b...@openinworld.com<mailto:b...@openinworld.com>>:


On Thu, Jun 22, 2017 at 8:40 PM, Norbert Hartl 
<norb...@hartl.name<mailto:norb...@hartl.name>> wrote:
It interfaces with a legacy patient information system, microsoft exchange and 
other stuff in order to orchestrate the arrangement of surgery dates. The tool 
automates planning (which doctor works on which day and has still time to do 
the operation,….). Finalized plans are produced in PDF an printed by the staff.

This as a short info. If you have question don't hesitate to ask.

Implanting more pharo everywhere :)

Great to hear of your success here.

There must be a massive market like this...   "Unfortunately XXX didn't offer a 
proper interface, so we had to dive into the depths of their data base for 
reverse engineering, to be able to reconstruct functionalities"
and if Pharo's liveness helped in this reverse engineering, that would make a 
great marketing blog post fro you and Pharo... "How a niche language gives us 
the superpowers to do what others can't."  hehe...

Indeed the market is huge. Pharo was of help here but would have been a huge 
help if an oracle driver would have been existed. The biggest problem so far is 
that it seems they managed to get mixed character encoding in their database. 
That is close to impossible to solve.

Norbert






Re: [Pharo-users] PharoJS

2017-06-22 Thread andrew glynn
Smalltalk does have a killer web environment, it's called Seaside.  I haven't 
come across any good reason jQuery with Seaside isn't sufficient to do anything 
a developer might want to - that customers want Angular isn't based on anything 
that can't be done without it.  

Unfortunately technology is mostly chosen as if it were a combination fashion 
show and popularity contest, because the majority of decision makers don't 
understand any of it.

If you really want a better web development environment, you need a better 
runtime environment than current web browsers.

-Original Message-
From: askoh [mailto:as...@askoh.com] 
Sent: Thursday, June 22, 2017 10:41 AM
To: pharo-users@lists.pharo.org
Subject: Re: [Pharo-users] PharoJS

There seem to be some interesting work with SqueakJS by Craig Latta.
https://thiscontext.com/

I hope Smalltalk of all dialects can get together to develop a killer web 
development environment.

All the best,
Aik-Siong Koh



--
View this message in context: 
http://forum.world.st/Re-PharoJS-tp4952267p4952306.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.





Re: [Pharo-users] PharoJS

2017-06-22 Thread andrew glynn
I was wondering:

a) I'm assuming PharoJS would be much like Amber but inside the Pharo VM.

b) How much of the Amber codebase could be re-used for it?

I'm interested on the one hand, mainly due to the demand for Angular code in 
the browser (jQuery is great in Seaside, but many clients are looking for 
Angular recently), and my distaste for debugging JavaScript.  Amber is ok but 
lacks the depth of tooling in Pharo, and isn't keeping up with the (constant) 
breaking changes in node and NPM.  (Not that I blame the developers of Amber, 
it's a problem with the mindset of the developers in the JavaScript ecosystem - 
the way that Angular2 is almost completely different from Angular is an example 
of the lack of interest in the existing user base).

The problem I see is that PharoJS would have the same issues.  As a result it 
would not only be a fair amount of work to accomplish, it would be far more to 
maintain.  The Pharo ecosystem is based on an entirely opposite mindset to the 
JS ecosystem - a few very good frameworks and a reasonable number of very good 
libraries, resulting in highly maintainable code even on projects with only one 
or two developers.  On top of that it would have to deal with the issues with 
JS itself that make writing decent tools virtually impossible.

Andrew Glynn

-Original Message-
From: Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] On Behalf Of 
pharo-users-requ...@lists.pharo.org
Sent: Thursday, June 22, 2017 8:41 AM
To: pharo-users@lists.pharo.org
Subject: Pharo-users Digest, Vol 50, Issue 108

Send Pharo-users mailing list submissions to
pharo-users@lists.pharo.org

To subscribe or unsubscribe via the World Wide Web, visit
http://lists.pharo.org/mailman/listinfo/pharo-users_lists.pharo.org
or, via email, send a message with subject or body 'help' to
pharo-users-requ...@lists.pharo.org

You can reach the person managing the list at
pharo-users-ow...@lists.pharo.org

When replying, please edit your Subject line so it is more specific than "Re: 
Contents of Pharo-users digest..."



Re: [Pharo-users] Smalltalk on Stack Overflow Developers Survey 2017

2017-03-26 Thread Andrew Glynn
Big data, like the ‘cloud’, is mainly a marketing thing to sell big iron in big 
datacenters.  So if you’re going back to big iron anyway, might as well use 
VisualGen for COBOL.

What?  VisualGen is written in IBM Smalltalk?  Just don’t tell anyone, they’ll 
never guess.

Andrew


On 2017-03-26, 11:43 AM, "Pharo-users on behalf of Stephan Eggermont" 
 wrote:

On 26/03/17 04:16, Pierce Ng wrote:
> On Sat, Mar 25, 2017 at 07:56:03PM +0100, Stephan Eggermont wrote:
>> On 25/03/17 18:29, serge.stinckw...@gmail.com wrote:
>>> Nice ! But do you have a way to automatize this process ? ;-)
>> How difficult can it be? We did it 18 years ago in java & delphi :)
>
> I was going to answer 'Hadoop!', then went to SO and saw your (Stephan's)
> meta-comment on moderators who closed a question on big data in Smalltalk.
> Heh.

Yeah. On SO, state you are doing big data with pharo and ask a very 
specific question. On the best way to detect hanging images or so.

Stephan









Re: [Pharo-users] GitFileTree on Pharo 5.0

2016-12-05 Thread Andrew Glynn
I run Pharo 5.0 with no problems on a Macbook Pro, but it’s running OS X v. 
10.12.1.  Any reason your OS is backdated?

 

Andrew Glynn

 

From: Pharo-users <pharo-users-boun...@lists.pharo.org> on behalf of Trussardi 
Dario Romano <dario.trussa...@tiscali.it>
Reply-To: Any question about pharo is welcome <pharo-users@lists.pharo.org>
Date: Monday, December 5, 2016 at 11:34 AM
To: Any question about pharo is welcome <pharo-users@lists.pharo.org>
Subject: Re: [Pharo-users] GitFileTree on Pharo 5.0

 

Ciao,



Pharo is unable to access a library it needs; this is the native boost plugin 
which is normally bundled with it (and the cairo lib?)...

 

Guys, anybody with a mac around there?

Thierry

 

 

    thanks Dimitris.



Nativeboost has been removed and been replaced by UFFI, all libraries that used 
Nativeboost are now using UFFI including the Cairo backend library for Athens.

 

    OK,     but what i need to do for load UFFI Cairo 
library

 

    and for load  the UFFI  library  required by     GitFileTree Pharo 
support?

 

 

    I wrong to install Pharo 5.0 on my MacBookPro with OS X   10.7.5. ?

 

    If right remember i install Pharo 5.0 from     
http://pharo.org/download   link

 


    Thanks.

    

    Dario



Re: [Pharo-users] An Implementation of JSON Web Tokens

2016-07-22 Thread andrew glynn
Thanks for this Norbert.  It works great with Teapot microservices that 
are associated with specific JQuery widget instances.  I can insert the 
token into the widget's callback to the pot so that only that widget 
instance can use that particular service.  The way our web app works is 
that it generates a JSP with all the repetitive content / look and feel, 
and inserts JQuery widgets to display any dynamic data.  Since the data 
I'm working on comes from a Pharo app I configure the JQuery widget and 
a pot, and supply the widget to the Java EE server from Seaside to 
generate the full page.  The widget also keeps a lease open with the 
Seaside server and when the user leaves the page and the widget stops 
requesting the lease, Pharo can recycle the pot.

Andrew Glynn

On 7/22/2016 6:12 AM, pharo-users-requ...@lists.pharo.org wrote:

> An Implementation of JSON Web Tokens

-- 
Andrew Glynn 647-539-7228 (cell/text) ☃ ☃☃ ☃☃☃ ☃☃ ☃ Burnin down the 
house ...


Re: [Pharo-users] A keyboard controlled code editor, how difficult would that be?

2015-09-21 Thread Andrew Glynn
I'm not sure that those developers will ever be happy with Smallltalk.  Unless 
you can do everything in VI and compile on the command line, they feel there's 
something wrong.

On September 21, 2015 08:57:21 PM Stephan Eggermont wrote:
> When experienced (non-smalltalk) developers come to Pharo, they often
> complain about the (perceived) lack of keyboard control. Spotter has
> made it easy to open new browsers and inspectors, but navigating between
> all the open windows is still mostly done with the mouse.
> 
> What would happen if we create an state-full interface, showing code as
> cards, and explicitly switch between navigating and editing?
> 
> https://vimeo.com/139960287
> 
> Drag some methods to the code panel, click on it and start editing.
> Esc switches between navigation and editing, when navigating switches
> enter between the collapsed and expanded view of a card. The arrow keys
> select other cards, and using shift a card can be moved.
> 
> How much code do we need for that? Well, the prototype fits in 6 columns
> on an UHD screen.
> 
> Gofer it
>smalltalkhubUser: 'StephanEggermont' project: 'Documentation';
>configurationOf: 'NewUI';
>load.
> 
> CodePanel new openInWindowLabeled: 'CodePanel'
> 
> What needs fixing: navigating over empty columns.
> 
> Stephan



Re: [Pharo-users] RESTful API with Pharo with Gemstones

2015-06-23 Thread Andrew Glynn
In the event you need a bit more than the below would buy you (although it
sounds like it would be fine) Seaside has a REST add-on -
http://book.seaside.st/book/advanced/restful

Andrew

From:  Pharo-users pharo-users-boun...@lists.pharo.org on behalf of
Sebastian Heidbrink shei...@yahoo.de
Reply-To:  Any question about pharo is welcome pharo-users@lists.pharo.org
Date:  Tuesday, June 23, 2015 at 3:12 PM
To:  Any question about pharo is welcome pharo-users@lists.pharo.org
Subject:  Re: [Pharo-users] RESTful API with Pharo with Gemstones


 
Am 23.06.2015 um 11:40 schrieb sergio_101:
 
 
  
  
 I have been a project coming up that I really onlyneed a restful  API on.
  
 
  
  
 The front end will  be first built on a mobile device(iOS )then back on
 possibly android, with a very stripped down web application.
  
 
  
  
 i would like to use pharo/gemstones as the database.
  
 
  
  
 is there a project out there that allows for such restful API development in
 pharo land? This would be so fun!
  
 
  
  
 thanks
  
  
 
 I am not so sure what you mean exactly but this is my stack.
 
 I use pure Zinc-REST on the Gemstone side and the REST API is described in
Swagger-Spec from within Gmestone.
 Clients are VBA, Amber and Pharo and they utilize the Swagger API spec to
access the server.
 
 Works pretty well and is much more preformant than the intial Pharo MongoDB
backend I initially used.
 
 Have a look into http://smalltalkhub.com/#!/~HeSe/Swagger-Spec
 There you can find most of the needed Swagger implementation some minor
details like type constants are missing.
 
 Once your Gemstoneserver knows how to host his Swagger-Spec you can host it
via https://github.com/swagger-api/swagger-ui
 This saves a lot of explaning time to client developers.
 
 Sebastian
 




Re: [Pharo-users] Coding by sending messages

2014-06-11 Thread Andrew Glynn
The VisualAge series from IBM (Instantiations now owns the Smalltalk variant) 
used 
a very visual programming metaphor for Smalltalk, C++  and Java.  C++ and Java 
programmers tended to not like the fact that ENVY was used for code, rather 
than 
the file system, and that kind of if you don't act like it's 1978, you're not 
a real 
coder) is a big part of the problem in popularizing decent tools.  The Java 
variant 
was replaced by Eclipse, which initially had about a quarter of the features 
and 
used 10x the memory.  The C++ variant is I believe only still available on AIX. 
 All of 
the versions were themselves written in Smalltalk.

-- 
Andrew Glynn
512-818-3291


Hello,


The problem is that in most cases non text editor based IDE are not user-
friendly/hard to understand/hard to use. We are moving toward AST based tools 
software side but it will still be a textEditor for the user interface. 


I remember there may be something similar to what you are looking for here 
(Gaucho IDE): http://www.inf.usi.ch/phd/olivero/gaucho/home.html[1] 
In addition there is the Smart Browser that will be introduced at ESUG 
(http://vimeo.com/96091089[2]) tht may be related to what you want. People are 
working on it currently. 


But perhaps these 2 projects are quite different.



2014-06-11 11:31 GMT+02:00 Matthew Chadwick p...@celeriac.net[3]:


hello,

It's interesting that in Smalltalk, coding is still done via a text editor, not 
by sending 
messages to objects (except in the background, parsing  compiling etc). I've 
been 
playing with coding by messaging nodes in the AST with a view to coding this 
way 
via Roassal graph visualizations of object dependencies combined with some nice 
graphical tools. Has any work on this way of coding been done before ? What I 
have 
in mind is a keyboard-centric, fast system designed as an alternative to the 
text 
editor, with a focus on top-down style coding.








[1] http://www.inf.usi.ch/phd/olivero/gaucho/home.html
[2] http://vimeo.com/96091089
[3] mailto:p...@celeriac.net


Re: [Pharo-users] Xcode's Swift Playground

2014-06-03 Thread Andrew Glynn
I don't think the claim is that Pharo or any Smalltalk is 'simple', but
when someone new to coding has to first learn how to pretend they're using
a late 70s terminal and a crappy text editor, then remember 2 arcane
commands just to get a project built, never mind debug it, the price of
entry before starting to code is too high.  Coding is stressful enough
(unlike most people's tasks, it has to actually work) which helps
understand why the average age that coders quit and go into another field
is only 30 years old.  A high initial curve cuts a very short average
productive career that much shorter.

I wouldn't worry about swift being as bad as JS.  Nothing is.
On Jun 3, 2014 4:21 AM, kilon alios kilon.al...@gmail.com wrote:

 What makes Pharo and Smalltalk so cool is this magical simplicity on so
 many levels.

 I have a problem with this, I think its not sincere. I know that a Pharo
 developers would love to throw on my face the basic syntax of Pharo that
 can fit in a single page but the truth is that Pharo because it is
 Smalltalk it follows the exact same recipe of the get the F!@#$% out
 which means it throws everything outside the language in form of libraries
 of objects. Pharo is definetly not that simple. Why ? Because coding is not
 simple .

 So if it is to be a fair comparison take those 500 pages and
 find equivalent features in Pharo and I don't think you will find that they
 are that different in terms of complexity.

 And its not as if Swift is revolutionary any more than  Smalltalk or Pharo
 is revolutionary. All languages copy from each other.

 I will have to agree that Pharo appears simpler than Swift, but I doubt
 that it does not miss many features that Swift has. As you said its too
 early to say.

 I have not read those 500 pages, personally I dont see what the big deal
 is, PBE is 400 pages and barely touches what Pharo really is. I fail for
 the time being viewing Swift as a complex language, I just hope does not
 end up as ugly as JavaScript. Good ideas that are badly implemented. I
 doubt it though.

 PS: I am downloading the Swift manual right now


 On Tue, Jun 3, 2014 at 12:00 PM, Sven Van Caekenberghe s...@stfx.eu
 wrote:


 On 03 Jun 2014, at 10:53, kilon alios kilon.al...@gmail.com wrote:

  For anyone who has not not watched it yet, you can watch the Playground
 demo here. Looks like they were inspired by Bred Victor demos.
 
  https://www.youtube.com/watch?v=l62x8Oq_QP4
 
  Swift is statically typed with type inference. BUT it has generics and
 optional types. So it looks like it tries to let you have the cake and eat
 it too.

 It is way to early to have an opinion (especially since one should use a
 language before commenting), but ...

 1 - it is very nice to see Apple play in the language design world (it
 will get traction I am sure)
 2 - it feels like a pretty complex language, both in terms of syntax
 options, concepts and rules, especially around types (the language book is
 500 pages I believe)

 What makes Pharo and Smalltalk so cool is this magical simplicity on so
 many levels.

  It also removes the need for header files , so it really moves away
 from the C paradigm.
 
  There is a quick toor here
 
 
 https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/GuidedTour.html#//apple_ref/doc/uid/TP40014097-CH2
 
 
  On Tue, Jun 3, 2014 at 11:29 AM, stepharo steph...@free.fr wrote:
 
  Hi,
 
  The work on GToolkit goes in this direction. Funny enough, we also have
 a Playground :).
 
  Look here for an example:
 
 http://www.humane-assessment.com/blog/dynamic-exploration-of-a-postgres-db-with-the-gtinspector/
 
  More will come in this direction. I happen to believe that this is the
 area with the largest potential in Pharo, and it would be great to put more
 effort around it. If people have an interest to participate, please just
 let me know.
 
  + 1
 
  Now my plate is full but I encourage people to join effort.
 
  Stef