Re: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language
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
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
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
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
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
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
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
>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
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
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
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
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