Re: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language

2020-01-06 Thread Davide Grandi

We could agree to a win-win solution, "a' la Franklin Covey"
designing an automotive market solution, written in Smalltalk, for
Maserati (Modena), Tesla (Palo Alto) and why not Ferrari (Maranello).

All automotive brand will migrate their lines to full electric or
hybrid models.

What do Smalltalk needs to replace C[++]/Java in automotive market
solutions ?

(I saw either Ferrari & Maserati buildings and/or plants, I had to plan
a trip to Palo Alto ... and Hawtorne, for SpaceX)

Bye,

Davide

On 06/01/2020 20:59, tbrunz wrote:

Richard!  Smalltalk is /the electric car of development systems/!

You need to lead with an image of a *Tesla Model S*, not a Maserati!

What do most people associate with Italian sports cars?  Expensive,
impractical, temperamental, always in need of (expensive) maintenance, etc.

Smalltalk is none of these things...  Inexpensive, more practical than most
people imagine, robust and resilient, minimal maintenance, etc.  It's more
like a trusty sports utility vehicle -- so maybe an image of a Tesla Model X
(or Y) fits even better.

Another way Smalltalk is like an e-car: Electric cars extremely popular when
automobiles were new, fell out of favor, are today misunderstood by the
majority, but are being "rediscovered" and found to better in almost every
way compared to "what's popular" (ICE vehicles).  Those who drive them just
LOVE them, and so the stage is set for the rEVolution: the renaissance of
electric cars.

And so it is for Smalltalk.

tl;dr:  Smalltalk:e-cars::Pharo:Tesla
 
--

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


--
Ing. Davide Grandi
email  : davide.gra...@email.it
mobile : +39 339 7468 778



Re: [Pharo-users] Corona virus

2020-03-14 Thread Davide Grandi

That's true,

and it will be a worldwide pandemia.
Try to work @ home,
limit contacts with other people,
don't go in crowded places,
and PROTECT YOUR PARENTS - GRANDPARENTS.

The local newsmagazine of Dario's town, few km from mine,
has normally ONE page of obituary.
Yesterday ... TEN pages.

bye,

Davide

On 14/03/2020 14:52, dario.trussardi65 wrote:

Ciao,
be very careful ... it's very dangerous ...
here in Bergamo it's a disaster.
We are losing our grandparents like leaves falling from the tree 
Take all precautions  Don't underestimate the situation.
See you soon
Dario


--
Ing. Davide Grandi
email  : davide.gra...@email.it




Re: [Pharo-users] Corona virus

2020-03-15 Thread Davide Grandi

It's a good article, very deep on knowledge.
(it let arise a question : why, apparently, nearly none of country all 
over the world, had a plan ready to apply ?)


Bye,

Davide

On 15/03/2020 14:34, Ben Coman wrote:
Of all the articles I've read on the coronavirus, this is the first I 
felt worth sharing.
https://medium.com/@tomaspueyo/coronavirus-act-today-or-people-will-die-f4d3d9cd99ca 



I've been a bit complacent about the advantage of living in Australia in 
a small town outside Perth (one of the most remote capital cities in the 
world)
but Section 3 on improving mortality rates by reducing the peak on the 
health system is compelling for everyone to know.


cheers -ben

On Sun, 15 Mar 2020 at 01:15, Davide Grandi <mailto:davide.gra...@email.it>> wrote:


That's true,

and it will be a worldwide pandemia.
Try to work @ home,
limit contacts with other people,
don't go in crowded places,
and PROTECT YOUR PARENTS - GRANDPARENTS.

The local newsmagazine of Dario's town, few km from mine,
has normally ONE page of obituary.
Yesterday ... TEN pages.

bye,

      Davide

On 14/03/2020 14:52, dario.trussardi65 wrote:
 > Ciao,
 > be very careful ... it's very dangerous ...
 > here in Bergamo it's a disaster.
 > We are losing our grandparents like leaves falling from the tree 
 > Take all precautions  Don't underestimate the situation.
 > See you soon
 > Dario

-- 
Ing. Davide Grandi

email  : davide.gra...@email.it <mailto:davide.gra...@email.it>




Re: [Pharo-users] Corona virus

2020-03-16 Thread Davide Grandi

every evening ~ 19:30 I check :

Twitter : @Cartabellotta
web : https://coronavirus.gimbe.org/
  http://www.protezionecivile.gov.it
  - dossier
  - map (desktop or mobile)
  - map => pdf
same of :
https://github.com/pcm-dpc/COVID-19/tree/master/schede-riepilogative

#molamia - #dontgiveup

Cheers from Cornate d'Adda,

Davide

On 16/03/2020 11:22, dario.trussardi65 wrote:

Ciao,


It's a good article, very deep on knowledge.


+1


(it let arise a question : why, apparently, nearly none of country all over the 
world, had a plan ready to apply ?)


I would have many things to say about it, but this is not the time .

I'm not a mathematician, and take everything very carefully.
From the data I have available ( reliable?! )
here in Bergamo, Lombardy, the mortality rate is 7 percent.

Out of 100 people who contract the virus, 7 die 

but nobody says ...

Often sun in the hospital 

It also seems that the age of people in serious situations is 
decreasing ... 50  65.

So not only grandparents but also fathers and mothers ...

Fortunately, I'm fine . but I can't work anymore 

I can no longer think .. of smalltalk .

Here in Clusone only 2 noises are heard:
* that of the sirens of ambulances,
* and that of the bells of the cemetery where, without a 
funeral, we bury our loved ones 

Be very careful ...

Ciao,

Bergamo #molamia

Dario



Bye,

Davide

On 15/03/2020 14:34, Ben Coman wrote:

Of all the articles I've read on the coronavirus, this is the first I felt 
worth sharing.
https://medium.com/@tomaspueyo/coronavirus-act-today-or-people-will-die-f4d3d9cd99ca
 I've been a bit complacent about the advantage of living in Australia in a 
small town outside Perth (one of the most remote capital cities in the world)
but Section 3 on improving mortality rates by reducing the peak on the health 
system is compelling for everyone to know.
cheers -ben
On Sun, 15 Mar 2020 at 01:15, Davide Grandi mailto:davide.gra...@email.it>> wrote:
That's true,
and it will be a worldwide pandemia.
Try to work @ home,
limit contacts with other people,
don't go in crowded places,
and PROTECT YOUR PARENTS - GRANDPARENTS.
The local newsmagazine of Dario's town, few km from mine,
has normally ONE page of obituary.
Yesterday ... TEN pages.
bye,
  Davide
On 14/03/2020 14:52, dario.trussardi65 wrote:
 > Ciao,
 > be very careful ... it's very dangerous ...
 > here in Bergamo it's a disaster.
 > We are losing our grandparents like leaves falling from the tree 
 > Take all precautions  Don't underestimate the situation.
 > See you soon
 > Dario


--
Ing. Davide Grandi
email  : davide.gra...@email.it



Re: [Pharo-users] Corona virus

2020-03-16 Thread Davide Grandi

I've stumbled upon this official dataset
https://data.europa.eu/euodp/it/data/dataset/covid-19-coronavirus-data
and there are the metadata of Italy official map :
http://opendatadpc.maps.arcgis.com/apps/opsdashboard/index.html#/b0c68bce2cce478eaac82fe38d4138b1
as said before at the bottom of the map there's a link "PDF" pointing to 
a GitHub repository

containing daily status for "province" (~counties) and "regioni" (~states).
Numbers are VERY different from provincia to provincia.

cheers,

    Davide

On 16/03/2020 12:35, Tim Mackinnon wrote:

Guys - this is very moving… I have family in Italy and its very worrying to 
hear the accounts, but equally as this spreads wider I worry about friends and 
families here too…

This said - on a more proactive front, I did download the Corona GitHub pharo 
project and it has introduced me to the DataFrames implementation that I’ve 
always meant to dig into and I shall learn a bit more Roassal as well…. We must 
all fight on, and put our energy into the future as well as the present!

Tim


On 16 Mar 2020, at 10:22, dario.trussardi65  wrote:

Ciao,


It's a good article, very deep on knowledge.

+1


(it let arise a question : why, apparently, nearly none of country all over the 
world, had a plan ready to apply ?)

I would have many things to say about it, but this is not the time .

I'm not a mathematician, and take everything very carefully.
From the data I have available ( reliable?! )
here in Bergamo, Lombardy, the mortality rate is 7 percent.

Out of 100 people who contract the virus, 7 die 

but nobody says ...

Often sun in the hospital 

It also seems that the age of people in serious situations is 
decreasing ... 50  65.

So not only grandparents but also fathers and mothers ...

Fortunately, I'm fine . but I can't work anymore 

I can no longer think .. of smalltalk .

Here in Clusone only 2 noises are heard:
* that of the sirens of ambulances,
* and that of the bells of the cemetery where, without a 
funeral, we bury our loved ones 

Be very careful ...

Ciao,

Bergamo #molamia

Dario


Bye,

   Davide

On 15/03/2020 14:34, Ben Coman wrote:

Of all the articles I've read on the coronavirus, this is the first I felt 
worth sharing.
https://medium.com/@tomaspueyo/coronavirus-act-today-or-people-will-die-f4d3d9cd99ca
 I've been a bit complacent about the advantage of living in Australia in a 
small town outside Perth (one of the most remote capital cities in the world)
but Section 3 on improving mortality rates by reducing the peak on the health 
system is compelling for everyone to know.
cheers -ben
On Sun, 15 Mar 2020 at 01:15, Davide Grandi mailto:davide.gra...@email.it>> wrote:
   That's true,
   and it will be a worldwide pandemia.
   Try to work @ home,
   limit contacts with other people,
   don't go in crowded places,
   and PROTECT YOUR PARENTS - GRANDPARENTS.
   The local newsmagazine of Dario's town, few km from mine,
   has normally ONE page of obituary.
   Yesterday ... TEN pages.
   bye,
 Davide
   On 14/03/2020 14:52, dario.trussardi65 wrote:

Ciao,
be very careful ... it's very dangerous ...
here in Bergamo it's a disaster.
We are losing our grandparents like leaves falling from the tree ....
Take all precautions  Don't underestimate the situation.
See you soon
Dario


--
Ing. Davide Grandi
email  : davide.gra...@email.it




[Pharo-users] Repost from twitter : running 1983 Smalltalk. Today

2020-05-26 Thread Davide Grandi

From Torsten Bergman - @TorstenAstares
https://twitter.com/TorstenAstares/status/1264820045840027649

"Dan Banay just released a few days ago, on the day of the 80th 
anniversary of Alan Kay,
a fully functional Smalltalk-80 VM capable of running the original ST-80 
images

as distributed by Xerox Parc in 1979 and 1980"
https://github.com/dbanay/Smalltalk

very very intriguing.

--
Ing. Davide Grandi
linkedin : http://linkedin.com/in/davidegrandi




Re: [Pharo-users] Getting rid of .sources file for deployment

2020-09-06 Thread Davide Grandi

Does "competition" has SmalltalkEmulator ?
A Smalltalk-written VM will defeat any simple obfuscation scheme.

0.02 E.

    Davide Grandi

On 06/09/2020 15:55, Esteban Maringolo wrote:

Stef,

On Sat, Sep 5, 2020 at 12:49 PM Stéphane Ducasse
 wrote:

just a question what if a bad guy you want to protect from is just smart
and use a default vm.

You're talking about decompiling and I'm talking about not making it
trivial to see the code, internals and other things.
Security is always what you can afford to protect form, with enough
resources anybody can crack most of the existing software.


I mean what kind of thieves do you want to protect from?

Think of it this way... as it is is like saving a six digits password
in plaintext on a file, what I propose is to have the same file, but
with the password encrypted with a lousy crypto (still easy to crack
with a dictionary attack but not as easy as seeing it at plain sight).

I'm not trying to protect from thieves, but from the competition.
This client part of the software runs in a computer where there is
also the software it's going to replace (eventually).

I simply want to obfuscate a little so it's not trivial to open it.
I'm not asking about encrypted image files. :-)


Because you can let everything and block the menu + the DNU and other exception
and nobody even you will be able to access the code.
If you remove all the  menu and toolbar + DNU + exception ...

I followed most of the guidelines to deploy it obfuscated [1].
But if there is a guide for obfuscation, it means that there is some
need for it, I just want to go one extra step.

Thanks!

[1] 
https://github.com/pharo-open-documentation/pharo-wiki/blob/master/General/DeployYourPharoApplication.md#sources-obfuscation

Esteban A. Maringolo


--
Ing. Davide Grandi
email: davide.gra...@email.it
mobile   : +39 339 7468 778
linkedin : http://linkedin.com/in/davidegrandi




Re: [Pharo-users] Getting rid of .sources file for deployment

2020-09-06 Thread Davide Grandi

>any simple obfuscation scheme

any simple _protection_ scheme, except obfuscation.

0.01 E. ...

    Davide Grandi

On 06/09/2020 17:51, Davide Grandi wrote:

Does "competition" has SmalltalkEmulator ?
A Smalltalk-written VM will defeat any simple obfuscation scheme.

0.02 E.

    Davide Grandi

On 06/09/2020 15:55, Esteban Maringolo wrote:

Stef,

On Sat, Sep 5, 2020 at 12:49 PM Stéphane Ducasse
 wrote:
just a question what if a bad guy you want to protect from is just 
smart

and use a default vm.

You're talking about decompiling and I'm talking about not making it
trivial to see the code, internals and other things.
Security is always what you can afford to protect form, with enough
resources anybody can crack most of the existing software.


I mean what kind of thieves do you want to protect from?

Think of it this way... as it is is like saving a six digits password
in plaintext on a file, what I propose is to have the same file, but
with the password encrypted with a lousy crypto (still easy to crack
with a dictionary attack but not as easy as seeing it at plain sight).

I'm not trying to protect from thieves, but from the competition.
This client part of the software runs in a computer where there is
also the software it's going to replace (eventually).

I simply want to obfuscate a little so it's not trivial to open it.
I'm not asking about encrypted image files. :-)

Because you can let everything and block the menu + the DNU and 
other exception

and nobody even you will be able to access the code.
If you remove all the  menu and toolbar + DNU + 
exception ...

I followed most of the guidelines to deploy it obfuscated [1].
But if there is a guide for obfuscation, it means that there is some
need for it, I just want to go one extra step.

Thanks!

[1] 
https://github.com/pharo-open-documentation/pharo-wiki/blob/master/General/DeployYourPharoApplication.md#sources-obfuscation


Esteban A. Maringolo



--
Ing. Davide Grandi
email: davide.gra...@email.it
mobile   : +39 339 7468 778
linkedin : http://linkedin.com/in/davidegrandi




Re: [Pharo-users] Getting rid of .sources file for deployment

2020-09-06 Thread Davide Grandi

I mean that with SmalltalkEmulator, the Smalltalk interpreter
written in Smalltalk, one can execute an image looking at
classes, methods and maybe executing code at will.

And the only practical form of protection I see in Squeak/Pharo
is to obfuscate code.

Maybe I'm wrong.

    Davide Grandi

On 06/09/2020 22:27, Esteban Maringolo wrote:

On Sun, Sep 6, 2020 at 12:52 PM Davide Grandi  wrote:

Does "competition" has SmalltalkEmulator ?
A Smalltalk-written VM will defeat any simple obfuscation scheme.

Sorry, but I don't understand what you  mean.

Best regards,


--
Ing. Davide Grandi
email: davide.gra...@email.it
mobile   : +39 339 7468 778
linkedin : http://linkedin.com/in/davidegrandi




Re: [Pharo-users] Getting rid of .sources file for deployment

2020-09-07 Thread Davide Grandi

Ok, I'll give you a result, meanwhile fixing some imprecisions.

The "class" is CogVmSimulator but it's use is very far from my knowlegde,
I recalled having seen a picture of Pharo-in-Pharo (or Squeak-in-Squeak)
running under this simulator.
It lives near the Cog side (or the OpenVM side) of Squeak/Pharo
(If I'm not wrong Squeak ran into an emulator, before walking on his 
legs-his VM).


There are many of these simulator, for other Smalltalk :
- Hobbes and others for Xerox (thanks to files of Mario Molczko and/or
  Bitsavers
- Dan Ingalls Apda Smalltalk + old Smalltalk -72 /-76
and maybe others I don't yet know about

The reason is quite simple : the object memory is written to disk
and the spec of executing Smalltalk are known either from the books
or by the source.

The root is Xerox's SystemTracer, a class that wrote a running image
to disk, optionally changing object format (see the Green Book).

So :
- if you can read the image
- you can run into a simulator
- or decode it without to much effort (5 emulators for Xerox V2 image, 
so far).

(try to open an image with a text editor : intriguing !)

I don't know how Cincom or Instantiations protect the released st code,
but for Pharo and Squeak this is not a point : they are all open.

So, as if you wanna "protect" names and methods of a running image ...
... you have to (IMHO) :
- encrypt executable and image (and modify the VM)
- or obfuscate your classes and methods renaming it to
  C1, C2, ..., m1:p1:p2: and so on (keeping a map for debugging)

Sorry to be imprecise about names and locations
apart from suggest to see 4 emulators 4 running in a squeak image
running ... in javascript in your browser (so total is 5) at :
https://smalltalkzoo.thechm.org/HOPL-Squeak.html?earlyst80
(thanks to Vanessa Freudemberg & Dan Ingalls).

Sorry again & best regards,

    Davide Grandi

On 06/09/2020 23:51, Esteban Maringolo wrote:

If somebody gets to open the image and loads it with an Smalltalk
Emulator to execute it I'll ask him/her to start working together, and
even teach me how to do it.

I don't want to shield the image from being accessed, just want to
make it harder than simply removing the '--headless' parameter to the
VM executable.
Of course removing sources is a plus (I do for a VW deployed image),
but even for this particular piece of software that I'm asking for, I
don't need it.

If I wanted to make the source public, I'll publish it in
Github/Gitlab, otherwise I'd rather keep the code private.

Regards,

Esteban A. Maringolo

On Sun, Sep 6, 2020 at 6:29 PM Davide Grandi  wrote:

I mean that with SmalltalkEmulator, the Smalltalk interpreter
written in Smalltalk, one can execute an image looking at
classes, methods and maybe executing code at will.

And the only practical form of protection I see in Squeak/Pharo
is to obfuscate code.

Maybe I'm wrong.

      Davide Grandi

On 06/09/2020 22:27, Esteban Maringolo wrote:

On Sun, Sep 6, 2020 at 12:52 PM Davide Grandi  wrote:

Does "competition" has SmalltalkEmulator ?
A Smalltalk-written VM will defeat any simple obfuscation scheme.

Sorry, but I don't understand what you  mean.

Best regards,

--
Ing. Davide Grandi
email    : davide.gra...@email.it
mobile   : +39 339 7468 778
linkedin : http://linkedin.com/in/davidegrandi


--
Ing. Davide Grandi
email: davide.gra...@email.it
mobile   : +39 339 7468 778
linkedin : http://linkedin.com/in/davidegrandi




[Pharo-users] Re: Please explain self

2020-12-12 Thread Davide Grandi

Objects are instances of a class.
Classes are objects, so they have methods.
'self class' returns the class of self.

If a class doesn't have a methods ...
... the search continues in the superclass.
(every class has a superclass ... apart from Object).

If you download the Blue Book  - "Smalltalk-80 - The language and it's 
implementation",
it's free on the net, you'll find an AWSOME explanation and diagram from 
page 270 on, until ...

... the final map : classes and metaclass.

but you've to read it these pages, before. There's a 'metaclass' concept 
to acquire.


Bon voyage !

    Davide

On 12/12/2020 20:20, g_patrickb--- via Pharo-users wrote:


I understand if you have Class A with methods p and q that you can 
call q from p doing:


self q

But there are some cases where a method doesn’t exist but self is 
still used. I found a tutorial on creating a Reddit type app and it 
had a .mcz which I loaded.


Here is an example from Class StLoggedInComponent and method 
refreshReport:


self report rows: (self session user tasks select: self filterBlock).

There is a method ‘report’ so I understand that, but there is no 
method named ‘session’ so what is the use of self?


And Class StDatabase has method ‘updateTask:’ has:

self subclassResponsibility.

But no method called ‘subclassResponsibility’ exists in the Class.

Also, Class StLoggedInComponents has method ‘testTasks’ with this:

^ self class testTasks

What is ‘self class’?

Thank you.


--
Ing. Davide Grandi
linkedin : http://linkedin.com/in/davidegrandi



Re: [Pharo-users] How to embed VSE application into Pharo

2019-01-24 Thread Davide Grandi

Hi Lorenzo,

Nice to meet you again, after some tens of years.

AS you may remember I've ported, ... 20 years ago ..., a Digitalk VOS/2 
big app to

Visualage/Windows. Using an Apple Smalltalk as intermediate host.

As you can figure, it was mainly a syntax work, i.e. :
- working out an Apple Smalltalk loading-only version of VOS2 app
- working out an Apple Smalltalk loading-only version of a Visualage app 
visual components (cw* only) structure
- writing all the "stub" classes needed on both sides (VOS2 and 
Visualage) to load the core components without

  syntax or hierarchical error
- defining, in both sides, a set of class dictionary to let the other 
side globals at least declare ...
- writing 2 set of "switching" methods : one that calls VOS/2 UI 
building methods, one for Visualage UI building methods


(describing it now, it sounds as a daunting task : but I were a 
young-to-senior programmer, with lot of

 nights to spare ... to escape from OS/2 ...).

It worked with a reasonable effort. Maybe I could avoid the intermediate 
Apple Smalltalk ...

... but I were very fast at programming with Apple Smalltalk.

Back to your migration path :

- take _your_ equivalent structure of Pharo application visual 
architecture (aka the View)
- write the Pharo equivalent of VSE Control classes and UI build methods 
(paired, perhaps. With coinciding names except for some prefix).

- fire your simplest app and adapt your classes and methods unless it works
- apply the changes to all your View and Control classes until they all work

(as an afterthought, with a "modern" eye : is an horror story. Nobody 
will follow you om my path.

 But 20 years ago it worked with a 700+ classes app ... still sold today.
 If there's another path I'm very very interested ...)

Best regards,

    Davide Grandi

On 24/01/2019 16:34, Lorenzo Schiavina wrote:

How to embed VSE application into Pharo

Hi,

I am a very old Smalltalk user; I have developedTONSof applicationwith 
Digitalk’s VSE; some of them are used by morehundredsclients.


Can you tell me ifthere is any possibility toembed my VSE 
applicationsinto Pharowithoutrewriting them?


My goal would be to use Pharo for my new applicationswithoutloosethe 
old onesand to interact with old ones in Pharo.


Many thanks for your answer

Lorenzo


--
Ing. Davide Grandi
email  : davide.gra...@mclink.it