Re: [Pharo-users] How can we celebrate the 50th anniversary of Smalltalk?
> On 6 Jan 2020, at 06:11, Joachim Tuchel wrote: > > I personally celebrate Smalltalk every (working) day. I enjoy the fun and > productivity each time I find a way to solve a problem at hand. Well said.
Re: [Pharo-users] is this better regarding naming thigs
hi Roelof, i didn't mean to hijack your thread, sorry -- my question was directed at you, then kinda took on a life of its own. That said, Sven had/has responded to your op (original post), no? One additional change I would make: rename "findAnagramsCandidates" --> "findAnagrams" : it's shorter, and possibly more correct since what's returned are true anagrams rather than candidates-that-may-be-anagrams ? -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] is this better regarding naming thigs
--- Begin Message --- Op 6-1-2020 om 09:34 schreef xap: hi Roelof, i didn't mean to hijack your thread, sorry -- my question was directed at you, then kinda took on a life of its own. That said, Sven had/has responded to your op (original post), no? One additional change I would make: rename "findAnagramsCandidates" --> "findAnagrams" : it's shorter, and possibly more correct since what's returned are true anagrams rather than candidates-that-may-be-anagrams ? -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html NP, And if my question was answered , I miss it. That name was given by the challenge so if I would change it, Im afraid that I also have to change all tests included by the challenge. But thanks for answering. Roelof --- End Message ---
[Pharo-users] R: [ANN] Phoedown - Markdown to HTML
Ciao Giorgio, come stai? Mi fa piacere risentirti dopo tanto tempo. Forse (visto il successo della tua mail), sarebbe opportuno cominciare collaborazioni in Italia! Sentiamoci. Lorenzo Da: Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] Per conto di giorgio ferraris Inviato: sabato 4 gennaio 2020 20:38 A: Any question about pharo is welcome Oggetto: Re: [Pharo-users] [ANN] Phoedown - Markdown to HTML Hello, first of all, have a wonderful 2020.. sorry for jumping in, I'm not a contributor to Pharo, and actually never a user of it ( when I work in Smalltalk, I use VW mostly, and still need to find the time to try Pharo seriously), but I do work in Smalltalk (and Pharo is a dialect of) from early 80'... and , as for many of you, Smalltalk is not the only language I use (I wish it was the most used, but not the only one, because one tool is not enough). Well, the idea that all should be done in Smalltalk seems to me something that us as a community have had as a goal from day one, but, are us sure it's not something that reduce the power of Smalltalk instead of allowing broader adoption? * First, there are lots of libraries and tools already well written, maintained and with full documentation. Why to reinvent the wheels if we can integrate them seamlessly? * Second: Smalltalk is not the fastest language out there, there are works that are not to be developed in Smalltalk. If we develop in Smalltalk something very CPU intensive we just made bad advertising for the language. Smalltalk is at is best for modelling difficult problems. Look at Python, it's very popular between Data Scientist, but it just expose in a nice way an interface to Macchine Learning libraries, For example TensorFlow has a lot of optimised c++ code inside. Python made easy to interface with C like languages, and it has good modelling capabilities, so it was chosen. But Smalltalk is better on the latter, this is a campground we should dominate, instead we are absent. And Pharo, being open source, could have been a good player in this field. If we spend our time to reinvent the wheel we can't get to far .. Look at Node.js, you can find libraries for connecting everything, people doesn't rewrote everything in JS/ So if you work in Node, you are fast at building stuff not because of the power of the language, but because to the libraries you can pick from the shelf and use. So I think a wonderful and easy integration framework is time better spent that redoing something already well done on other languages. Object are for reuse, but we try to rebuild... And on top of the framework, lot of smalltalk classes for an easy usage of the outside work already done. Obviously, all I said is not valid if Smalltalk is considered only an experimental language or a playground, but this was, and probably still is, the place for Squeak. If I remember well, Pharo was born for industrial grade application... Sorry for this rant, but I liked Smalltalk from day one, the day I read the famous Byte's article, and still try to understand why it's not the number one language, but I think we, as a community, did a lot on the wrong direction. BTW: I still like Smalltalk a lot and really appreciate the work done by all of the Smalltalk communities. again, have a wonderful year giorgio On Fri, Jan 3, 2020 at 4:55 PM Ramon Leon mailto:ramon.l...@allresnet.com> > wrote: On 2020-01-02 10:56 a.m., Sean P. DeNigris wrote: > While I dream of a world where everything is in-image as pure Smalltalk, > given the reality of limited manpower, I think of outside library use as a > way to "cheat" and get a lot more from that limited engineering resource. Agree, I've used the original Markdown.pl implementation for years same as I would any other shell script, via OSProcess markdown: someContent ^UnixProcess pipeString: someContent throughCommand: (FileDirectory default fullPathFor: 'Markdown.pl') Never saw a need to rewrite what already works in its original form. -- Ramón León VP of Technology Alliance Reservations Network
Re: [Pharo-users] is this better regarding naming thigs
Here's the permalink to Sven's response (in case it still isn't visible to you): http://forum.world.st/is-this-better-regarding-naming-thigs-tp5109389p5109392.html -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] is this better regarding naming thigs
--- Begin Message --- Thanks. I have missed that one. Thanks for pointing it to me. Roelof Op 6-1-2020 om 13:13 schreef xap: Here's the permalink to Sven's response (in case it still isn't visible to you): http://forum.world.st/is-this-better-regarding-naming-thigs-tp5109389p5109392.html -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html --- End Message ---
[Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language
https://levelup.gitconnected.com/smalltalk-its-not-your-grandfather-s-programming-language-f1985eaa17ff
[Pharo-users] R: Smalltalk: It’s Not Your Grandfather’s Programming Language
Great work Rich My best compliments. Lorenzo Da: Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] Per conto di Richard Kenneth Eng Inviato: lunedì 6 gennaio 2020 19:07 A: pharo-users@lists.pharo.org Oggetto: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language https://levelup.gitconnected.com/smalltalk-its-not-your-grandfather-s-programming-language-f1985eaa17ff
Re: [Pharo-users] [seaside] how can I now make the best work to display all the paiintings which are in the paintings collection
Hi Roelof, There is a seaside specific mailing list you could join here: http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside I have Seaside loaded in an image and can't find the ListComponent class. IS that the correct name for the class you're using? If you post your question along with the code you are trying to the Seaside list someone will probably be able to help you. What you're describing sounds straightforward to implement. Good luck Paul Pharo Smalltalk Users mailing list wrote > Hello, > > Im a little bit further on my first project but now I fail to see how I > can use the ListComponent to display all the paintings that are in the > paintings collection on the Paintings class. > > Anyone who can give me hints on this ? > > Roelof -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] [seaside] how can I now make the best work to display all the paiintings which are in the paintings collection
Also this tutorial gives a good overview of Seaside programming and is different enough from the book that you get two approaches to many of the same problems: http://seaside.gemtalksystems.com/tutorial.html Paul DeBruicker wrote > Hi Roelof, > > There is a seaside specific mailing list you could join here: > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > I have Seaside loaded in an image and can't find the ListComponent class. > IS that the correct name for the class you're using? > > > If you post your question along with the code you are trying to the > Seaside > list someone will probably be able to help you. What you're describing > sounds straightforward to implement. > > > > Good luck > > Paul > > > Pharo Smalltalk Users mailing list wrote >> Hello, >> >> Im a little bit further on my first project but now I fail to see how I >> can use the ListComponent to display all the paintings that are in the >> paintings collection on the Paintings class. >> >> Anyone who can give me hints on this ? >> >> Roelof > > > > > > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language
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
Re: [Pharo-users] R: Smalltalk: It’s Not Your Grandfather’s Programming Language
Thanks! I have a question for everyone. Someone has taken me to task for being "sexist". He says I should refer to "grandparent" instead of "grandfather". I'd like to ask for your opinion. Would "grandparent" sound better in my article? Imagine replacing all instances of "grandfather" with "grandparent". Would it have the same impact? Thanks. Lorenzo wrote > Great work Rich > > > > My best compliments. > > > > Lorenzo > > > > Da: Pharo-users [mailto: > pharo-users-bounces@.pharo > ] Per conto di Richard Kenneth Eng > Inviato: lunedì 6 gennaio 2020 19:07 > A: > pharo-users@.pharo > Oggetto: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming > Language > > > > https://levelup.gitconnected.com/smalltalk-its-not-your-grandfather-s-programming-language-f1985eaa17ff -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language
The problem is that the underlying premise of my article would be undermined. Our grandparents had nothing like the Tesla. I used Maserati because it's an /aspirational/ car. Not practical. Not cheap. But droolworthy. Nobody dreams of owning a Tesla. But Maserati? Bugatti? Porsche? Aston Martin? You bet! 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 -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] Prof Stef questions
Hmm, just where are these prof stef Gedankenexperiments :-? I didn't see 'em in the syntax tutorial proper. Thx for the tiny-is-beautiful article. I didn't have any moment of satori, but am happy to have found a prolific author (in addition to Richard-evangelist) About not feeling extra-illuminated ... perhaps it comes from my stance that once one lays down the ground rules that everything is an object, and that objects inherit, and get work done by doing it themselves or by delegating it, then, say, much of Boolean's implementation shakes out of that, no? (that's rhetorical) For me the value in the pharo Boolean implementation is notsomuch who passes the buck and who ultimately does what, but the synergy among objects and methods that get all this done. (BTW I'll bet the fait accompli synergy we see in today's source didn't start out that way -- there were likely many prosaic versions along the way to getting there, if not on paper then in somebody's mind. Often I find that process MUCH more valuable than the spit-and-polish of a finished product.) Recursion often has me laugh because it seems "nobody does any work" -- dang near everything is delegated elsewhere, and it's just a few base cases that actually do any heavy lifting. I'm being facetious, of course. To me interconnected object systems are often like that, and multiplied many times over -- any bit of work is delegated here, there, everywhere ... and (for me) this federated work disperses logic and makes it less immediately comprehensible. There's definitely gee-whiz appeal to the synergy of a multitude of objects in a loosely-coupled system, and IMO that appeal is valuable (which echoes the ethos of the tiny/beautiful article), but ... anyway, yeah, part of my reason for this foray into smalltalk is to see how that side lives. TLDR: the above is just my thinking out loud, possibly for a future-me to find; i have no questions; pls ignore :-) -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] R: Smalltalk: It’s Not Your Grandfather’s Programming Language
I would probably use "grandparents'" as in "not your grandparents' programming language". -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] R: Smalltalk: It’s Not Your Grandfather’s Programming Language
On Mon, Jan 6, 2020 at 12:18 PM horrido wrote: > Thanks! > > I have a question for everyone. Someone has taken me to task for being > "sexist". He says I should refer to "grandparent" instead of "grandfather". > > I'd like to ask for your opinion. Would "grandparent" sound better in my > article? Imagine replacing all instances of "grandfather" with > "grandparent". Would it have the same impact? > Arguably, it is sexist. But, I think it is also accurate. I am guessing that better than 99% of grandparents driving Maserattis are or were male. I think we sometimes rely on dogma rather than reason. Still, it is worth being aware of the word choices you make and whether they may be inappropriate for the circumstances. > Thanks. > > > > Lorenzo wrote > > Great work Rich > > > > > > > > My best compliments. > > > > > > > > Lorenzo > > > > > > > > Da: Pharo-users [mailto: > > > pharo-users-bounces@.pharo > > > ] Per conto di Richard Kenneth Eng > > Inviato: lunedì 6 gennaio 2020 19:07 > > A: > > > pharo-users@.pharo > > > Oggetto: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming > > Language > > > > > > > > > https://levelup.gitconnected.com/smalltalk-its-not-your-grandfather-s-programming-language-f1985eaa17ff > > > > > > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html > >
Re: [Pharo-users] Prof Stef questions
On Mon, Jan 6, 2020 at 12:26 PM xap wrote: > Hmm, just where are these prof stef Gedankenexperiments :-? I didn't see > 'em > in the syntax tutorial proper. > > Thx for the tiny-is-beautiful article. I didn't have any moment of satori, > but am happy to have found a prolific author (in addition to > Richard-evangelist) > > About not feeling extra-illuminated ... perhaps it comes from my stance > that > once one lays down the ground rules that everything is an object, and that > objects inherit, and get work done by doing it themselves or by delegating > it, then, say, much of Boolean's implementation shakes out of that, no? > (that's rhetorical) > > For me the value in the pharo Boolean implementation is notsomuch who > passes > the buck and who ultimately does what, but the synergy among objects and > methods that get all this done. > > (BTW I'll bet the fait accompli synergy we see in today's source didn't > start out that way -- there were likely many prosaic versions along the way > to getting there, if not on paper then in somebody's mind. Often I find > that > process MUCH more valuable than the spit-and-polish of a finished product.) > It is often informative to understand *how* a thing came to be, beyond the "Tada! Here it is." > Recursion often has me laugh because it seems "nobody does any work" -- > dang > near everything is delegated elsewhere, and it's just a few base cases that > actually do any heavy lifting. I'm being facetious, of course. > > To me interconnected object systems are often like that, and multiplied > many > times over -- any bit of work is delegated here, there, everywhere ... and > (for me) this federated work disperses logic and makes it less immediately > comprehensible. > This is absolutely true and correct. That's why it's crucial that a message send clearly identify the "what" and the method implementation clearly implement the "how". (And that too is recursive!) Many years ago, my wife worked for a life insurance company. No one could look at one department and understand the whole algorithm involved in even just the lifecycle of a new policy. We don't slavishly or dogmatically mimic nature when we design objects, but we do attempt to clearly and cleanly separate responsibilities much as nature does. There are many guidelines, heuristics, and practices we employ to achieve good robust designs. Using analogues to real-world things helps make them familiar and innately understandable. > There's definitely gee-whiz appeal to the synergy of a multitude of objects > in a loosely-coupled system, and IMO that appeal is valuable (which echoes > the ethos of the tiny/beautiful article), but ... anyway, yeah, part of my > reason for this foray into smalltalk is to see how that side lives. > > TLDR: the above is just my thinking out loud, possibly for a future-me to > find; i have no questions; pls ignore :-) > > > > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html > >
Re: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language
I don't think so... In the early 1900's some of the finest and most sought-after automobiles were battery-powered electrics: https://www.curbed.com/2017/9/22/16346892/electric-car-history-fritchle You want to associate with the prestige of being a manly, winning, race car? Okay: Sept 7, 1896: The very first automobile race held on a track in the U.S. was won by... an electric car. https://insideevs.com/news/339638/on-this-day-in-ev-history-electric-car-wins-us-first-auto-race/ It does fit your premise: One third of our grandparents (for those of us >50 at least) drove electric cars [opcit]. Then their popularity waned as ICE vehicles grabbed everyone's attention. Now, e-cars are all the rage again. Tesla is *the* aspirational vehicle: Last year GM sales declined 2.3%. Last year Ford sales declined 3%. Tesla sales? Tesla sales not only increased last year, but have grown 47 *times* in 7 years! Holy smokes!!! Talk about explosive success and popularity! https://cleantechnica.com/2020/01/03/tesla-sales-grew-47x-in-7-years/ Everyone dreams of owning a Tesla. (I'm buying mine next year, when my Bolt goes off lease...) Those other cars are "unobtainium". Flights of fancy. Dream about them? Maybe, but no one is every serious about actually buying one and driving it for themselves. Electric cars are a "disruptive" technology in the process of remaking the auto industry world-wide -- and all for the better. And so it is with Smalltalk, yes? I suggest associating Smalltalk with a real-world, world-changing, growing-in-popularity technology that's taking people from skeptical nay-sayers to enthusiastic true believers -- not a pie-in-the-sky, would-be-nice-but-can't-happen-to-me bit of testosterone-infused wimsy. Smalltalk is The Real Deal. Something you can obtain and DRIVE! -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language
I've made the change from grandfather to grandparent. Unfortunately, I cannot alter the URL — it still reads grandfather. As much as I would like to use Tesla, the problem is that our grandparents never drove electric. Without rewriting a substantial portion of the article, I cannot make a connection between grandparent and Tesla. It would be too awkward. I want my article to be elegant. That's the hallmark of my writing style. tbrunz wrote > I don't think so... In the early 1900's some of the finest and most > sought-after automobiles were battery-powered electrics: > https://www.curbed.com/2017/9/22/16346892/electric-car-history-fritchle > > You want to associate with the prestige of being a manly, winning, race > car? > Okay: > Sept 7, 1896: The very first automobile race held on a track in the U.S. > was > won by... an electric car. > https://insideevs.com/news/339638/on-this-day-in-ev-history-electric-car-wins-us-first-auto-race/ > > It does fit your premise: One third of our grandparents (for those of us >>50 at least) drove electric cars [opcit]. Then their popularity waned as > ICE vehicles grabbed everyone's attention. Now, e-cars are all the rage > again. > > Tesla is *the* aspirational vehicle: Last year GM sales declined 2.3%. > Last > year Ford sales declined 3%. Tesla sales? Tesla sales not only increased > last year, but have grown 47 *times* in 7 years! Holy smokes!!! Talk > about > explosive success and popularity! > https://cleantechnica.com/2020/01/03/tesla-sales-grew-47x-in-7-years/ > > Everyone dreams of owning a Tesla. (I'm buying mine next year, when my > Bolt > goes off lease...) Those other cars are "unobtainium". Flights of fancy. > Dream about them? Maybe, but no one is every serious about actually > buying > one and driving it for themselves. > > Electric cars are a "disruptive" technology in the process of remaking the > auto industry world-wide -- and all for the better. > > And so it is with Smalltalk, yes? I suggest associating Smalltalk with a > real-world, world-changing, growing-in-popularity technology that's taking > people from skeptical nay-sayers to enthusiastic true believers -- not a > pie-in-the-sky, would-be-nice-but-can't-happen-to-me bit of > testosterone-infused wimsy. Smalltalk is The Real Deal. Something you > can > obtain and DRIVE! > > > > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language
Understood... It is, of course, your essay, and my comments are just my own view. And I think I've made my point, which is what I wanted to get across. I like your writing style, Richard. You're making a huge contribution to Smalltalk/Pharo and it's much appreciated. Please continue! -t -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
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] Smalltalk: It’s Not Your Grandfather’s Programming Language
And it's a very good view, indeed. I thank you for bringing it to my attention. I was particularly impressed by the "revival" aspect of e-cars because, as you said, Smalltalk is due for a revival, as well. This may actually lead to a sequel article! I am always amazed that I can still come up with new ideas for articles. After 5 years, you'd think I'd run out of ideas. In fact, I actually thought I did. Surprises never cease. tbrunz wrote > Understood... It is, of course, your essay, and my comments are just my > own > view. > > And I think I've made my point, which is what I wanted to get across. > > I like your writing style, Richard. You're making a huge contribution to > Smalltalk/Pharo and it's much appreciated. Please continue! > > -t > > > > > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] Prof Stef questions
I came across a Sanskrit term, "darshan", meaning sight/seeing, used in Hindu theology, that seeing a deity, *and being seen in return*, completes a human sense of self/being. I'm ad libbing here. So thx, Richard, for the nod (and do desist continuing to feed the animals) :-! "We don't slavishly or dogmatically mimic nature when we design objects, but we do attempt to clearly and cleanly separate responsibilities much as nature does. There are many guidelines, heuristics, and practices we employ to achieve good robust designs. Using analogues to real-world things helps make them familiar and innately understandable." ahhh, that reminded me -- in recent video-watching I learn Alan Kay started out (?) w/ a degree in molecular (?) biology. for me that made many things fall into place. (aside: turns out bruce lee was a bona fide philosophy major in college; had me put a lot of HIS quips in context, rather than, shame on me, eyeroll and snort) which is still not to say i hold nature's-way sacrosanct. while kay says in that clip above that one shouldn't subdivide a computer into "something less than a computer" (e.g. not separate data from action) i could make just as emphatic arguments to the contrary: that it's fabulously elegant to represent the world-as-data, who cares it's not "natural", and to have orthogonal actions mutate that into another state. kinda like the functional folk. except for the mutate part :-/ anyway, i'm here to educate myself. what draws me to learn as i can of smalltalk, aside from it being the flagship of the objects-all-the-way weltanschauung, is because I have a toy app that could benefit from a more expressive language. it reads/writes a client-server database, reads/writes sockets to manage open-vpn, reads/writes to external REST apis, edits images, munges text files, fetches/parses web pages, automates chrome to navigate to and interact w/ other sites and web pages, and prolly a few more mundane things i'm forgetting. i wrote it in Excel/VBA for that environment's "non-serious" and for me recreational aspect, no-(explicit)-compile dev cycle, capable-enough language and, mostly, forgiving and excellent ide. smalltalk/pharo is that times 10, plus reduced application code due language facilities, dynamic code generation and loading (possible in vba, but laborious), additional language expressiveness. all of which can be done in, say, javascript but i quail at the lack of typing for programming-in-the-large, I'm yet to find a debug-edit-continue experience a la vba (which is still leagues behind that of smalltalk), and i wouldn't be learning anything new currently that app is structured as a main-like entry point with, subsequently, a few "smart" objects pushing and pulling many other much dumber ones. i hope to be self-aware enough not simply to recast that in smalltalk but it remains to be seen how tractable i am to education :-/ -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] Smalltalk: It’s Not Your Grandfather’s Programming Language
Thanks. This is the "human factors" engineering aspect, the "sales strategy" part of the technology -- which has its own set of interesting challenges... And is also very important to achieving success "in the marketplace" -- a marketplace of the mind, which is adoption and use (as opposed to actual retail sales). I find these challenges interesting, and I can tell you're absorbed by it as well. It doesn't have the relatively 'clean' deductive solution in the way that engineering challenges like development of the Pharo language and environment have; it's not like "writing a program to solve the problem" (regardless of how hard that may be), because the problem is persuasion & motivation of other people. That's messy, imperfect, unpredictable, and subject to a variety of strategies -- some of which will fail one day and somehow inexplicably succeed the next. My strategy on this is simple: Associate Smalltalk with something already successful (or it the process of succeeding) in the marketplace. Better if it's something that is emerging unexpectedly, or "beating the odds" and the proving the "expert" commentators wrong. Even better if it's something that was a big deal in the past, but has been largely forgotten, but now coming "back in fashion". The parallels between the two technologies (and their timing) is almost uncanny... Looking forward to that sequel, Richard!! ;^) -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] Prof Stef questions
Smalltalk is that times 10,000... (I wrote an entire SMB accounting system, including tracking "perpetual inventory" in Excel/VBA. I was between tech jobs at the time..) So, yeah, it will be an excellent vehicle to recast your "toy app". Yes, Alan Kay did get his Bachelor's in molecular biology, and that informed a lot of his ideas of how software systems should be designed & constructed. For the Gedankenexperiments, they're not in ProfStef. ProfStef is just the "dipping the toes into the water" introduction to Pharo. At the end, it prods you to download & go through "Pharo By Example", which is booklet #1 in a 3-booklet series. (The other two being "Deep into Pharo" and "Enterprise Pharo".) That's very good advice... You'll find it here: http://books.pharo.org/ Note that PBE5 (written as v5 came out) is *not* obsolete at all, but PBE8 is out now in draft form. Look in Section 10.5 in PBE5 for the particular G/E I referred to. You'll also find it in the Pharo MOOC in Week 2, Lession 11, "The Essence of Dispatch". -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] Prof Stef questions
-- http://books.pharo.org/: "Pharo By Example" (PBE), "Deep into Pharo", "Enterprise Pharo". -- PBE5/Section 10.5 for the particular G/E I referred to. You'll also find it in the Pharo MOOC in Week 2, Lession 11, "The Essence of Dispatch" got it, thx! -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] Prof Stef questions
I should have recommended the MOOC as well... I did ProfStef, then PBE5 (in Pharo 6.1), then the MOOC. (I did the MOOC in 6.1 also, downloading and installing the components that come "pre-assembled" in the MOOC image template you can clone in Pharo-Launcher.) Oh, and for your comment about Sven: He's a excellent writer, too! An interesting challenge is to recreate his HP-35 calculator "example" -- mainly because he didn't intend it to be a tutorial, so there's a bit of "fill in the blanks" you'll be challenged with. But it will do a lot to show you how to create native GUI apps and a web app -- of the same thing, allowing you to compare, which is nice. https://medium.com/concerning-pharo/rediscovering-the-ux-of-the-legendary-hp-35-scientific-pocket-calculator-d1d497ece999 And it's yet another example of how good a writer Sven is, for the technical & not-tech sides of things. -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] Prof Stef questions
yeesh, this just may take more than the few hours i'd initially penciled in the sven-article i read earlier was on medium, i think. as is this calculator one. both read like medium articles ... and suggest an overarching editorial tone, no? unless all medium authors belong to the strunk-and-white-relaxed-for-the-millennium school of writing or some such ;-) there's a quip attributed u.s. justice brandeis: there is no good writing; only good re-writing. applies as much to slate articles, and to code, as it does to supreme court opinions :-/ quips aside i'm always grateful for structured and graduated presentation, and clean/consistent/elegant writing, so many thx sven, and other authors! -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] can I make this so the vm would not be not responsibe when running the tests
Well, no. This is not a particularly "nice vehicle for programmers to familiarise themselves with recursion". To start with, a quick web search turns up https://en.wikipedia.org/wiki/Wheat_and_chessboard_problem. Problems where the result depend on previous results often fall into the "dynamic programming" category, with Object subclass: #ChessBoard instanceVariableNames: 'board sum' class methods for: 'instance creation' new: n ^self new initialize: n methods for: 'initializing; initialize: n board := Array new: n squared. board at: 1 put: 1. 2 to: board size do: [:i | board at: i put: (board at: i - 1) * 2]. sum := 0. board do: [:each | sum := sum + each]. ^self methods for: 'accessing' squareAt: i ^board at: i total ^sum being the most obvious elementary implementation. The very description of the problem suggests an iterative approach. To find a nice problem for recursion, you have to find one where tabulation is *not* a good strategy. On Mon, 6 Jan 2020 at 08:06, Ben Coman wrote: > > Hi Richard, > > Just fyi, the aim of Exercism is not to teach programming. Its aim is for > experienced programmers to fast-start in new languages. > It just happens to that new programmers also use Exercism and there is some > catering in the exercise text for this. > > The grains exercise provides a nice vehicle for programmers to familiarize > themselves with recursion in Pharo, > and the hint for the exercise says "These kinds of problems (where an answer > is dependent on a previous) one are often called recursion" > which is why Roelof is approaching the problem this way. > > That said, any solution will do. Your advice on alternative considerations > is insightful and always good to read. > > cheers -ben > > On Mon, 6 Jan 2020 at 00:25, Richard O'Keefe wrote: >> >> I did not ask why you were validating input. >> I asked about why you *repeatedly* validated input. >> >> Think of it this way: >>publicMethod: arg1 also: arg2 >> ... check arg1 ... >> ... check arg2 ... >> ^self privateMethod: arg1 also: arg2 >> >> privateMethod: arg1 also: arg2 >> ... trust that arg1 and arg2 are valide ... >> ... recursive calls use #privateMethod:andAlso: ... >> ... not #publicMethod:andAlso: and must ensure ... >> ... that arguments are valid by construction ... >> >> In my solution to the "Grains" exercism, I have >> atSquare: n -- checks its argument >> total ^(1 bitShift: 64) - 1 >> You are required to implement these two methods, true. >> You are NOT required to implement #total by calling #atSquare:. >> Not even once. Nor is #atSquare: required to be recursive. >> >> On Mon, 6 Jan 2020 at 02:05, Roelof Wobben wrote: >> > >> > Hello Ricard. >> > >> > You mean when I calcualate the total of a board. >> > That is because on when I had to calculate the number of a particular >> > field there were tests where the number was lower then zero or higher >> > then 64 which makes no sense. >> > >> > But im open for a solution where on a particular field I could check for >> > that and for the total I do not need that part. >> > >> > Roelof >> > >> > >> > >> > Op 5-1-2020 om 13:58 schreef Richard O'Keefe: >> > > Time microsecondsToRun: [ >> > > |n| >> > > n := (2 raisedToInteger: 8 * 8) - 1. >> > > Transcript >> > > nextPutAll: 'The number of grains on an 8x8 chessboard is '; >> > > print: n; cr; endEntry]. >> > > >> > > On my laptop, this reports 194 microseconds. >> > > >> > > Why would you use recursion, anyway? >> > > >> > > Time microsecondsToRun: [ >> > > |n| >> > > n := (1 to: 8 * 8) inject: 0 into: [:acc :each | acc+acc+1]. >> > > Transcript >> > > nextPutAll: 'The number of grains on an 8x8 chessboard is '; >> > > print: n; cr; endEntry]. >> > > >> > > On the same laptop, this reports 118 microseconds. >> > > >> > > One of the lessons of 'functional' languages, promptly adopted by >> > > Smalltalk, is >> > > to encapsulate control structures into reusable methods, such as >> > > #inject:into:, >> > > more commonly known as `foldl` in functional languages. It's then none >> > > of >> > > my business whether such a method works by recursion, iteration, or gangs >> > > of otherwise seasonally unemployed Christmas elves. >> > > >> > > In my own Smalltalk library, >> > >(GeometricSeries new: 64 from: 1 byFactor: 2) sum >> > > only takes 15 microseconds. >> > > >> > > I do note that you are calling validateInput repeatedly. Why? >> > > >> > > >> > > On Sun, 5 Jan 2020 at 07:41, Roelof Wobben via Pharo-users >> > > wrote: >> > >> Oke, >> > >> >> > >> So I can better not use recursion for this problem if I understand you >> > >> well, Richard. >> > >> >> > >> Roelof >> > >> >> > >> >> > >> >> > >> Op 4-1-2020 om 19:02 schreef Richard Sargent: >> > >> >> > >> On Sat, Jan 4, 2020 at 9:47 AM Roelof Wobben via Pharo-user
Re: [Pharo-users] [ANN] XMLParserHTML moved to GitHub
Torsten Bergmann wrote > Hi, > > > You can load using > >Metacello new > baseline: 'XMLParserHTML'; > repository: 'github://pharo-contributions/XML-XMLParserHTML/src'; > load. > > > Bye > T. Hi, I'm trying to use the sample code in the pharo screen scraping booklet — http://books.pharo.org/booklet-Scraping/pdf/2018-09-02-scrapingbook.pdf — but while everything appears to load, I'm getting an odd behavior from: /| ingredientsXML | ingredientsXML := XMLHTMLParser parseURL: 'https://ndb.nal.usda.gov/ndb/search/list?sort=ndb&ds=Standard+Reference'. ingredientsXML inspect/ "#new was sent to nil" No matter what URL I use, I get the same message. I'm using Mac OS Catalina so I thought I might have some strange Mac OS security issue (like it was quietly refusing to allow Pharo to access the internet), but I tested with squeak and the old /html :=(HtmlParser parse: 'https://ndb.nal.usda.gov/ndb/search/list?sort=ndb&ds=Standard+Reference' asUrl retrieveContents content)/ and that returns actual html without any problems. Suggestions? Thanks. L -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] is this better regarding naming thigs
What is the receiver? There are two and only two relevant objects: the word and the collection. aCollection selectAnagramsOf: aString aString anagramsIn: aCollection would be good names. In a language that did not let you extend system classes, anagrams(of: aString, in: aCollection) would be good, but Smalltalk is not such a language. 'findAnagramsCandidates:subject:' is intention-revealing, but is not good English. Well, maybe the intentions could be revealed a bit better. What is the subject of an anagram? No idea. What is an 'anagramsCandidate'? No idea. What is the difference between an 'anagram' and an 'anagramCandidate'? anagramsOf: aString in: aCollection selectFrom: aCollection anagramsOf: aString On Mon, 6 Jan 2020 at 03:07, Roelof Wobben via Pharo-users wrote: > > Hello > > In a earlier question I get a remark to think better about naming things. > Now I did a challene where I have to find anagrams of a given word in a > collection, > > So I did this : > > findAnagramsCandidates: aCollection subject: aWord > | charBag | > charBag := aWord asLowercase asBag. > ^ aCollection > reject: > [ :word | (word sameAs: aWord) or: [ word asLowercase asBag > ~= charBag ] ] > > > is my naming here better or can i improved and if so how ? > > Regards, > > Roelof > >
Re: [Pharo-users] is this better regarding naming thigs
I've always considered "all objects respond to #value" as a bug. It certainly is not portable: it wasn't in Smalltalk-80, or Apple Smalltalk, or ANSI Smalltalk, and it isn't in GNU Smalltalk or Dolphin Smalltalk or VisualWorks. It's a peculiarity of Squeak/Pharo and Smalltalk/X. This is a misfeature that can hide bugs until they are ready to hurt you. On Mon, 6 Jan 2020 at 12:13, Santiago Dandois wrote: > > It's better (conceptually and in performance) to use the inner block, but is > not always necessary. The #or: message sends the `value` message to it's > collaborator if the bolean is false. Blocks responds to value executing > theirs code, but all objects respond to value since it's defined in the > Object class as ^self. Therefore, the result is the same but the messages > involved and the order in which they are being sent are not. In performance, > for the case where the first bolean was true, is better the one with the > surrounding block , since the code inside it is never being executed. > > You should really try both versions with the debugger to see it by yourself. > > Cheers, > Santiago Dandois > > El dom., 5 ene. 2020 a las 19:53, xap () escribió: >> >> thx Rixhard. looks like or: takes an 'alternativeBlock', i.e. a block. >> however substituting a parenthesized expression (or what i assume is one) as >> I did before, in place of the inner block, w/ no other changes has the >> method continue to work as expected, hence my question. *shrug* i need to >> rtfm :-/ >> >> >> >> -- >> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html >>
Re: [Pharo-users] is this better regarding naming thigs
When I wrote "is not good English", I meant that "findAnagramsCandidates" sounds *horrible* to this native speaker of English. "findCandidateAnagrams" works. On Tue, 7 Jan 2020 at 18:12, Richard O'Keefe wrote: > > What is the receiver? There are two and only two relevant objects: > the word and the collection. > aCollection selectAnagramsOf: aString > aString anagramsIn: aCollection > would be good names. In a language that did not let you extend system > classes, > anagrams(of: aString, in: aCollection) > would be good, but Smalltalk is not such a language. > > 'findAnagramsCandidates:subject:' is intention-revealing, but is not > good English. > Well, maybe the intentions could be revealed a bit better. > What is the subject of an anagram? No idea. > What is an 'anagramsCandidate'? No idea. > What is the difference between an 'anagram' and an 'anagramCandidate'? > > anagramsOf: aString in: aCollection > selectFrom: aCollection anagramsOf: aString > > > On Mon, 6 Jan 2020 at 03:07, Roelof Wobben via Pharo-users > wrote: > > > > Hello > > > > In a earlier question I get a remark to think better about naming things. > > Now I did a challene where I have to find anagrams of a given word in a > > collection, > > > > So I did this : > > > > findAnagramsCandidates: aCollection subject: aWord > > | charBag | > > charBag := aWord asLowercase asBag. > > ^ aCollection > > reject: > > [ :word | (word sameAs: aWord) or: [ word asLowercase asBag > > ~= charBag ] ] > > > > > > is my naming here better or can i improved and if so how ? > > > > Regards, > > > > Roelof > > > >
Re: [Pharo-users] is this better regarding naming thigs
richard, fwiw Roeloff mentioned earlier that the message-name was provided by the exercise set he's following, and isn't of his invention: http://forum.world.st/is-this-better-regarding-naming-thigs-tp5109389p5109471.html . he sh/could fwd your note/s to the course-author ;) -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html