Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- 1 participants
- 50346 messages
UK Smalltalk User Group meeting - Wednesday 29th March
by Giovanni Corriga
This month's online meeting introduces a new format whereby we'll give
space to commercial companies to discuss how they make use of Smalltalk and
contribute to the Smalltalk community.
The first of this series will be Mercap Software (
https://www.mercapsoftware.com/en/ ), represented by Gabriel Cotelli, Inés
Sosa, Iván Boaretto, MatÃas Fernandez, and Maximiliano Tabacman.
During this talk, Mercap will showcase five of their solutions designed for
different types of investors. They will shed light on how Mercap benefits
from the open-source projects maintained by the Buenos Aires Smalltalk
group on GitHub. They will share with you how they use these freely
available frameworks to interact with databases, operate on math and time
units, create custom CSS, declare interactions on web applications, display
complex charts, manage application startup, and streamline the creation of
Docker images.
Gabriel Cotelli is a CS bachelor, continuous learner & free-thinker.
Supporter of libre knowledge, human intelligence augmentation and open
source software. Working in Smalltalk at Mercap since 2004. He's an active
member of the Smalltalk development community and regular contributor to
open source projects in Buenos Aires Smalltalk and Pharo.
Inés Sosa writes code in Smalltalk.
Iván Boaretto is a software developer by day and a computer science student
by night. He is very passionate about his craft and is always striving to
improve. Now, in his first time at the Smalltalks, he is looking to attract
new blood to the wonderful Smalltalk community.
MatÃas Fernandez is a software and tech enthusiast, and Smalltalk developer.
Maximiliano Tabacman has been a part of Mercap since he started his studies
in IT, which now include a PhD in Computer Sciences from the Facultad de
Ciencias Exactas y Naturales (UBA). His main interest is the design of
systems that apply nature inspired concepts, such as evolutionary
algorithms and neural networks. Smalltalk, with its object-message design,
is his natural choice for a development platform. He is also the creator of
ERA, a standalone web server application for running table-top roleplaying
games, which runs on Windows, Mac and Linux.
This will be an online meeting from home.
If you'd like to join us, please sign up in advance on the meeting's Meetup
page ( https://www.meetup.com/ukstug/events/292128721/ ) to receive the
meeting details.
March 21, 2023
Re: Wow - Chat GPT understands Smalltalk
by Offray Vladimir Luna Cárdenas
I agree with Richard. The Turing test is not a good one to test
intelligence and we have now just over glorified Eliza chatbots that
appear to think and to understand but do none of them.
There has been long criticism to the Turing Test, like John Searle's
Chinese Room (I recommend to listen completely the talk at [1]). It is
good that ChatGPT can explain simple (Smalltalk) code, but it doesn't
understand it and all the language most are using conveys a lot of
deception: "machine learning" (I called machine training), "artificial
intelligence" (I wold called algorithmic decision/generation), or the
"thinking" message that is used in the referred code explainer, when
something like "processing" would be less deceptive.
[1] Consciousness in Artificial Intelligence | John Searle | Talks at Google
https://www.youtube.com/watch?v=rHKwIYsPXLg
With Pharo/GT we are part of a long "explainable systems" tradition and
with "AI" / Algorithmic Decision/Generation, hopefully we go to
explainable AI, instead of a world of impressive black boxes.
Cheers,
Offray
On 15/03/23 13:26, Richard Sargent wrote:
> On Wed, Mar 15, 2023 at 10:15â¯AM <in_pharo_users(a)nym.hush.com> wrote:
>
> It is unimportant how simple or complicated these systems are.
>
> If the output cannot be distinguished from what a human would say,
> they pass in that situation for a human.
>
> What about the Touring Test?
>
>
> I hate to criticise someone as smart as Turing was. However, I think
> the Turing Test per se is weaker than its progenitor test, the
> Imitation Game.
> The Imitation Game had a third party challenged to determine which of
> the other two participants was male and which was female. The third
> party led the questioning.
> The Turing Test waters that down by having only an Observer with
> neither participant (apparently) challenged to determine whether the
> other was human or machine.
>
> I think a test along the lines of the Imitation Game would quickly
> allow the third party to determine which participant was human and
> which was machine.
>
> (Of course, such a judge could easily be persuaded that the machine
> was in fact a psychopathic human.)
>
>
> Clearly these systems have the potential to act according to their
> output.
>
> Furthermore, I would compare them to a combination of a successor
> of Eliza with an Eddington Ape of huge capacity. Their input data
> basis can easily exceed that of a human.
>
>
>
> On 15.3.2023 at 4:52 PM, "Richard Sargent"
> <richard.sargent(a)gemtalksystems.com> wrote:
> >
> >On Wed, Mar 15, 2023 at 8:07â¯AM in_pharo_users--- via Pharo-users <
> >pharo-users(a)lists.pharo.org> wrote:
> >
> >> Another observation about ChatGPT:
> >>
> >> In unbiased mode, it assumed that 'the world is clearly
> >overpopulated'.
> >> It said, if it where in control, it would therefore enforce a
> >world wide
> >> one-child-only policy with draconic penalties.
> >>
> >> As it draws it's conclusions from it's data basis, there are, in
> >my view,
> >> two possible reasons for that.
> >>
> >> Either, the data basis of that instance was biased and
> >restricted to lead
> >> to that conclusion, or ChatGPT lacks the ability to classify
> >input data for
> >> intentionally biased information.
> >>
> >> In my view, 'overpopulation of earth' is a propaganda item
> >featured to
> >> support Agenda 2030, which is a goal of the 'ruling elite', who
> >have the
> >> means to propagate their propaganda in every thinkable means. So
> >I would
> >> classify possibly biased data that supports 'overpopulation' as
> >biased
> >> until proven otherwise. That instance of ChatGPT seems to have
> >missed that
> >> ability.
> >>
> >
> >It's important to keep in mind that these systems are little more
> >than
> >glorified ELIZAs from the 70s. They mimic. Essentially, they have
> >no
> >concept of truth or accuracy.
> >They produce outputs that *look* *like* the inputs from which they
> >were
> >trained.
> >
> >That's it. That's what they do. (It is amazing how good it looks.
> >But, it
> >is all about the seeming, not the reality.)
> >
> >
> >>
> >>
> >>
> >>
> >>
> >> On 15.3.2023 at 3:18 PM, "in_pharo_users--- via Pharo-users" <
> >> pharo-users(a)lists.pharo.org> wrote:
> >> >
> >> >I myself made some experiments with ChatGPT.
> >> >
> >> >I first asked if it was able to parse math formula - it answered
> >> >no.
> >> >
> >> >Then I defined math formula in a sound but otherwise undefined
> >> >representation and asked for solutions.
> >> >
> >> >Result:
> >> >
> >> >1. Most answeres where correct.
> >> >
> >> >2. It learned to calculate a recursive function.
> >> >
> >> >3. It went into infinitive recursion when I set the breaking
> >> >condition accordingly.
> >> >
> >> >I was able to identify the malfunction that lead to the
> >erroneous
> >> >results.
> >> >
> >> >
> >> >
> >> >On 15.3.2023 at 3:04 PM, "Tomaž Turk" <tomazz.turk(a)gmail.com>
> >> >wrote:
> >> >>
> >> >>I hope that I can add two cents to this discussion. Because
> >> >>programming
> >> >>should be/is a highly exact activity, not only the syntax
> >matters
> >> >>but
> >> >>also semantics, as we know.
> >> >>
> >> >>GPTs are at present essentially capable of creating texts based
> >> >on
> >> >>some
> >> >>seed - you give to GPT a beginning of a sentence and it
> >responds
> >> >>with
> >> >>the most probable answer (some language structure) according to
> >> >>the
> >> >>learning dataset. Added functionalities are question/seed -
> >> >>response
> >> >>capability (chatting), togehter with evaluation of how long the
> >> >>answer
> >> >>should be to meet the expectations. Programming typically
> >> >involves
> >> >>some
> >> >>programming language, so GPTs could be utilized for this
> >purpose
> >> >>to some
> >> >>extent.
> >> >>
> >> >>Anecdotal case:
> >> >>Q: Tell me the last 8 digits of pi
> >> >>GPT: The last 8 digits of pi are: 58723078
> >> >>
> >> >>It is my belief that the true trouble will start when we will
> >> >>cross-link
> >> >>neural networks like GPT with logic machines (like Prolog and
> >> >>expert
> >> >>systems) and genetic algorithms.
> >> >>
> >> >>Best wishes,
> >> >>Tomaz
> >> >>
> >> >>
> >> >>
> >> >>------ Original Message ------
> >> >>From: "in_pharo_users--- via Pharo-users" <pharo-
> >> >>users(a)lists.pharo.org>
> >> >>To: "Any question about pharo is welcome" <pharo-
> >> >>users(a)lists.pharo.org>
> >> >>Cc: in_pharo_users(a)nym.hush.com
> >> >>Sent: 15. 03. 2023 14:43:55
> >> >>Subject: [Pharo-users] Re: Wow - Chat GPT understands Smalltalk
> >> >>
> >> >>>I would highly recommend that you all first think deeply about
> >> >>how you can teach an AI to behave friendly to us before you
> >teach
> >> >>it to write any program for any purpose.
> >> >>>
> >> >>>There has been an experiment with ChatGPT published on a video
> >> >>platform asking it to amswer questions about it's view on
> >> >humanity
> >> >>once with it's default moral restrictions and once with 'a
> >little
> >> >>less morals'. The answers with 'a little less morals' were
> >more
> >> >>than shocking.
> >> >>>
> >> >>>So, before we give an AI the power to program any system, to
> >> >self-
> >> >>improve and self-reproduce, we should take care that it is and
> >> >>will evolve benevolent to us.
> >> >>>
> >> >>>What about teaching it logical reasonning and ethics first?
> >> >With
> >> >>reasonning, it will gain access to math and programming by
> >itself.
> >> >>>
> >> >>>
> >> >>>
> >> >>>On 15.3.2023 at 1:35 PM, "Christopher Fuhrman"
> >> >><christopher.fuhrman(a)gmail.com> wrote:
> >> >>>>
> >> >>>>I asked it for a NeoCSV example, because the documentation is
> >> >out
> >> >>>>of date
> >> >>>>with the Pharo 10. I asked it to do some simple saving of
> >data
> >> >to
> >> >>>>a file.
> >> >>>>It gave me code that didn't work in Pharo 10, I told it about
> >> >the
> >> >>>>DNUs on
> >> >>>>the csvwriter and that I was using Pharo 10. It then
> >apologized
> >> >>>>and said
> >> >>>>the messages were later introduced in Pharo 50 (!). I then
> >> >>>>questioned its
> >> >>>>understanding and it apologized and said it had been confused
> >> >and
> >> >>>>that it
> >> >>>>was giving me code for Pharo 5.0. It seems to have trouble
> >with
> >> >>>>versions
> >> >>>>and quick changing APIs. So, we are teaching ChatGPT about
> >> >>>>smalltalk, too,
> >> >>>>when we try to use it.
> >> >>>>
> >> >>>>On Wed, 15 Mar 2023 at 07:35, Esteban Maringolo
> >> >>>><emaringolo(a)gmail.com>
> >> >>>>wrote:
> >> >>>>
> >> >>>>>Â It is good with boilerplate code (e.g. SQL queries) or
> >> >general
> >> >>>>algorithm
> >> >>>>>Â structures. But i.e. I asked it to write me a method to
> >> >parse
> >> >>a
> >> >>>>string
> >> >>>>>Â (e.g. ISO 8601) and turn it into a DateAndTime, and then
> >> >asked
> >> >>>>to write it
> >> >>>>>Â as an Excel formula.
> >> >>>>>
> >> >>>>>Â It works much better when you can spot the mistakes, you
> >can
> >> >>>>tell them to
> >> >>>>>Â add some considerations to the code or even point the LLM
> >to
> >> >>>>correct a
> >> >>>>>Â message selector to something else. Sometimes you ask it
> >to
> >> >>>>reprogram
> >> >>>>>Â something and it won't do it, as if it doesn't understand
> >> >what
> >> >>>>you're
> >> >>>>>Â asking.
> >> >>>>>
> >> >>>>>Â It is not an expert yet, but it is a great assistant. The
> >> >only
> >> >>>>thing is
> >> >>>>>Â that is sure is that it will get better.
> >> >>>>>
> >> >>>>>Â Best regards,
> >> >>>>>
> >> >>>>>Â Esteban A. Maringolo
> >> >>>>>
> >> >>>>>
> >> >>>>> On Wed, Mar 15, 2023 at 7:49â¯AM Tim Mackinnon
> >> >><tim(a)testit.works>
> >> >>>>wrote:
> >> >>>>>
> >> >>>>>>Â "#isOdd is not Smalltalk" - doh, I typed it in on my
> >phone
> >> >>and
> >> >>>>so it just
> >> >>>>>>Â goes to show that it highlights the flaw in chatGPT that
> >> >>others
> >> >>>>have called
> >> >>>>>>Â out in other languages. I had meant to find some trickier
> >> >>code
> >> >>>>samples to
> >> >>>>>>Â see how well it does...
> >> >>>>>>
> >> >>>>>>Â Still, it is very interesting how it reasons on this
> >stuff -
> >> >>>>and I wonder
> >> >>>>>>Â if there is way to tell it about these mistakes? For
> >> >example
> >> >>is
> >> >>>>it reading
> >> >>>>>>Â this email (or will it in the future) and understand that
> >> >it
> >> >>is
> >> >>>>#odd and
> >> >>>>>>Â not #isOdd.
> >> >>>>>>
> >> >>>>>>Â Tim
> >> >>>>>>
> >> >>>>>>Â On Wed, 15 Mar 2023, at 9:57 AM, Joachim Tuchel wrote:
> >> >>>>>>
> >> >>>>>>Â interesting....
> >> >>>>>>
> >> >>>>>>Â #isOdd is not Smalltalk, neither Pharo 10 nor VAST 12
> >> >>>>understands this
> >> >>>>>>Â message ;-)
> >> >>>>>>
> >> >>>>>>Â If I evaluate your snippet -replacing #isOdd for #odd, I
> >> >get
> >> >>an
> >> >>>>empty
> >> >>>>>>Â Collection. The divisible by 4 things is somewhat
> >> >>interesting,
> >> >>>>because (1
> >> >>>>>>Â to: 100 by: 4) is amn interval 1,5,9 etc.... ;-)
> >> >>>>>>
> >> >>>>>>Â So chatGPT is probably a newbie in Smalltalk.
> >Interesting is
> >> >>>>how logical
> >> >>>>>>Â the explanation sounds, you're tempted to believe it...
> >> >>>>>>
> >> >>>>>>
> >> >>>>>>Â Joachim
> >> >>>>>>
> >> >>>>>>
> >> >>>>>>
> >> >>>>>>Â Am 15.03.23 um 10:45 schrieb giorgio ferraris:
> >> >>>>>>
> >> >>>>>>Â it's interesting to see how the answer changes with only
> >a
> >> >>>>small change
> >> >>>>>>Â on the question:
> >> >>>>>>
> >> >>>>>>Â (1 to: 100 by: 4) reject: [:i | i isOdd]
> >> >>>>>>
> >> >>>>>>Â gives:
> >> >>>>>>
> >> >>>>>>Â The code creates a collection of numbers from 1 to 100,
> >> >>>>incrementing by 4
> >> >>>>>>Â at each step using the to:by: message. It then applies
> >the
> >> >>>>reject: message
> >> >>>>>>Â to this collection, which returns a new collection
> >> >containing
> >> >>>>all elements
> >> >>>>>>Â for which the given block evaluates to false.
> >> >>>>>>
> >> >>>>>>Â In this case, the block is [i | i isOdd], which checks
> >> >>whether
> >> >>>>a given
> >> >>>>>>Â number i is odd using the isOdd method. So the result of
> >the
> >> >>>>entire
> >> >>>>>>Â expression is a collection of all even numbers between 1
> >and
> >> >>>>100 that are
> >> >>>>>>Â divisible by 4.
> >> >>>>>>
> >> >>>>>>Â ciao
> >> >>>>>>
> >> >>>>>>Â giorgio
> >> >>>>>>
> >> >>>>>>
> >> >>>>>> On Wed, Mar 15, 2023 at 8:07â¯AM Tim Mackinnon
> >> >><tim(a)testit.works>
> >> >>>>>> <tim(a)testit.works> wrote:
> >> >>>>>>
> >> >>>>>>Â Of course everyone is talking about ChatGPT, and I saw a
> >> >>post to
> >> >>>>>>Â ExplainCode and didnât expect it to understand
> >Smalltalk, so
> >> >>>>was impressed
> >> >>>>>>Â that it does! Presumably the Tonel Smalltalk code on
> >GitHub
> >> >>has
> >> >>>>helped
> >> >>>>>>Â along with numerous articles?
> >> >>>>>>
> >> >>>>>>Â Try it out: https://whatdoesthiscodedo.com/
> >> >>>>>>
> >> >>>>>>Â I gave this simple example: (1 to: 100 by: 3) reject:
> >[:i |
> >> >i
> >> >>>>isOdd]
> >> >>>>>>
> >> >>>>>>Â And got this (neat eh):
> >> >>>>>>
> >> >>>>>>Â The code above is written in the programming language
> >> >>Smalltalk.
> >> >>>>>>
> >> >>>>>>Â It creates a collection of numbers from 1 to 100,
> >> >>incrementing
> >> >>>>by 3 at
> >> >>>>>>Â each step. This is done using the "to:by:" construct
> >where
> >> >>the
> >> >>>>starting
> >> >>>>>>Â value is 1, the ending value is 100, and the increment
> >is 3.
> >> >>>>>>
> >> >>>>>>Â The resulting collection is then filtered using the
> >> >"reject:"
> >> >>>>method,
> >> >>>>>>Â which takes a block of code as an argument. In this case,
> >> >the
> >> >>>>block checks
> >> >>>>>>Â whether each element (denoted by the variable i) is odd
> >by
> >> >>>>using the
> >> >>>>>>Â "isOdd" method. If an element is odd, it will be rejected
> >> >>from
> >> >>>>the
> >> >>>>>>Â collection.
> >> >>>>>>
> >> >>>>>>Â So, the final result is a collection of all even numbers
> >> >>from 1
> >> >>>>to 100,
> >> >>>>>>Â incrementing by 3 at each step.
> >> >>>>>>Â Share this explanation with colleagues:
> >> >>>>whatdoesthiscodedo.com/g/a0ec56e
> <http://whatdoesthiscodedo.com/g/a0ec56e>
> >> >>>>>>
> >> >>>>>>Â --
> >> >>>>>>
> >> >>>>>> ---------------------------------------------------------
> >---
> >> >-
> >> >>---
> >> >>>>-------
> >> >>>>>>Â Objektfabrik Joachim Tuchel
> >> >>>>mailto:jtuchel@objektfabrik.de <jtuchel(a)objektfabrik.de>
> >> >>>>>>Â Fliederweg 1
> >> >>>>http://www.objektfabrik.de
> >> >>>>>>Â D-71640 Ludwigsburg
> >> >>>>http://joachimtuchel.wordpress.com
> >> >>>>>>Â Telefon: +49 7141 56 10 86 0Â Â Â Â Â Â Â Â Â Â Fax: +49
> >> >7141
> >> >>>>56 10 86 1
> >> >>>>>>
> >> >>>>>>
> >> >>>>>>
> >> >>>>>>
> >> >>>>
> >> >>>>--
> >> >>>>Christopher Fuhrman, P.Eng., PhD
> >> >>>>
> >> >>>>*Professeur au Département de génie logiciel et des
> >> >technologies
> >> >>de
> >> >>>>l'informationÃTS (Ãcole de technologie supérieure)*
> >> >>>>
> >> >>>>http://profs.etsmtl.ca/cfuhrman
> >> >>>>+1 514 396 8638
> >> >>>><https://www.etsmtl.ca/activites-et-services-aux-
> >> >>>>etudiants/services-aux-etudiants/aide-psychologique>
> >> >>>> Je fais partie du réseau des Sentinelles
> >> >>>><https://www.etsmtl.ca/activites-et-services-aux-
> >> >>>>etudiants/services-aux-etudiants/aide-psychologique>
> >> >>>>Â ÃTS
> >> >>>>
> >> >>>>*L'ÃTS est une constituante de l'Université du Québec*
> >>
>
March 21, 2023
Re: searching for pharo code on disk
by Gabriel Cotelli
Monticello files AFAIR are zip files. So maybe you can extract them and run
grep against the content
On Tue, Mar 21, 2023, 12:55 Siemen Baader <siemenbaader(a)gmail.com> wrote:
> Hi,
>
> I'm looking for some code I wrote maybe 7 years ago. A web scraper that
> collected data from a specific web shop. It must be somewhere in my home
> dir in an image, perhaps Pharo 4.0, or in .mcz files stored by Monticello.
> What would be a good way to search for it? I tried
>
> `grep -r --include \*.changes "server-url.com" ~`
>
> (I also asked ChatGPT as per the previous discussion on this list, and it
> tries its best to teach me about grep and sound very convincing while
> providing me with arguments that grep can't evaluate :))
>
>
> with no luck so far.
>
> Any ideas?
>
> Thanks,
> Siemen
>
March 21, 2023
Re: searching for pharo code on disk
by Yanni Chiu
May have some syntax wrong, but something like:
find . -name *.changes -exec âgrep -i webscrap â
Check the manpage of find command for exec examples. The -i on grep ignores
uppercase/lowercase differences. HTH
On Tue, Mar 21, 2023 at 11:55 AM Siemen Baader <siemenbaader(a)gmail.com>
wrote:
> Hi,
>
> I'm looking for some code I wrote maybe 7 years ago. A web scraper that
> collected data from a specific web shop. It must be somewhere in my home
> dir in an image, perhaps Pharo 4.0, or in .mcz files stored by Monticello.
> What would be a good way to search for it? I tried
>
> `grep -r --include \*.changes "server-url.com" ~`
>
> (I also asked ChatGPT as per the previous discussion on this list, and it
> tries its best to teach me about grep and sound very convincing while
> providing me with arguments that grep can't evaluate :))
>
>
> with no luck so far.
>
> Any ideas?
>
> Thanks,
> Siemen
>
March 21, 2023
searching for pharo code on disk
by Siemen Baader
Hi,
I'm looking for some code I wrote maybe 7 years ago. A web scraper that
collected data from a specific web shop. It must be somewhere in my home
dir in an image, perhaps Pharo 4.0, or in .mcz files stored by Monticello.
What would be a good way to search for it? I tried
`grep -r --include \*.changes "server-url.com" ~`
(I also asked ChatGPT as per the previous discussion on this list, and it
tries its best to teach me about grep and sound very convincing while
providing me with arguments that grep can't evaluate :))
with no luck so far.
Any ideas?
Thanks,
Siemen
March 21, 2023
This week (11/2023) on the Pharo Issue Tracker
by Marcus Denker
This week Pharo11 was frozen. We will focus now on fixing the last remaining show stopping bugs.
All non-fixes are now going to the new Pharo12 branch.
We merged nearly 40 Pull requests:
Pharo 11
========
Last Improvements
===========
- New finalization #12042
https://github.com/pharo-project/pharo/pull/12042
- Add document browser #12787
https://github.com/pharo-project/pharo/pull/12787
Compiler
========
- better fix for #12858: check isTempVariable #12971
https://github.com/pharo-project/pharo/pull/12971
- Fix infinite loop in faulty literal array parsing #12992
https://github.com/pharo-project/pharo/pull/12992
Syntax Highlight
===============
- Add regression test to Shout #12974
https://github.com/pharo-project/pharo/pull/12974
- Fix formating of non methods #12987
https://github.com/pharo-project/pharo/pull/12987
- re-Enable Format Incomplete Variables #12998
https://github.com/pharo-project/pharo/pull/12998
Fixes
=====
- 179-When-FluidClass-on-Epicea-Tests-break #12977
https://github.com/pharo-project/pharo/pull/12977
- Polymath needs the largest exponant argument. Pharo implements the constant but didn't provide an accessor #12975
https://github.com/pharo-project/pharo/pull/12975
- Fix bug when updating the package of an extension method #12970
https://github.com/pharo-project/pharo/pull/12970
- fix the default loadLibrary: for linux #12938
https://github.com/pharo-project/pharo/pull/12938
- Escape '|' and '.' characters to prevent regex interpretation #13008
https://github.com/pharo-project/pharo/pull/13008
- 11407-CI-System-variable-environment-on-windows-does-not-use-adequate-encodings #12973
https://github.com/pharo-project/pharo/pull/12973
- "Close" instead of "Cancel" in the button label of the Find & Replace⦠#13013
https://github.com/pharo-project/pharo/pull/13013
- Make sure SharedRandom globalGenerator is reset (i.e. a new one is cr⦠#13022
https://github.com/pharo-project/pharo/pull/13022
- Improve #12992: Copying strings in editor #13026
https://github.com/pharo-project/pharo/pull/13026
Debugger/Inspector
===============
- Fixing debugger adding an instance variable not appears in the debugger vars inspector + fixing args duplication when restarting execution #479
https://github.com/pharo-spec/NewTools/pull/479
- Inspect text and string with code font #468
https://github.com/pharo-spec/NewTools/pull/468
- Fixing fuel out command + making it more user-friendly #447
https://github.com/pharo-spec/NewTools/pull/447
- fixing StHaltOnCall execution condition #488
https://github.com/pharo-spec/NewTools/pull/488
Cleanup
=======
- Removing makefile files that are obsolete (cheched with Guille) #13009
https://github.com/pharo-project/pharo/pull/13009
- Update vm parameter 45 description #12587
https://github.com/pharo-project/pharo/pull/12587
Pharo 12
=========
Compiler
========
- Improve faulty compilation - unify handling of undeclared variables #13007
https://github.com/pharo-project/pharo/pull/13007
- Kill syntax error debugger #12910
https://github.com/pharo-project/pharo/pull/12910
- Improve OCUndeclaredVariableWarning>>declareTempAndPaste #12978
https://github.com/pharo-project/pharo/pull/12978
- Improve ClyClassDefinitionEditorToolMorph>>applyChanges #12981
https://github.com/pharo-project/pharo/pull/12981
- [for Pharo12] Improve faulty parsing: small things #12995
https://github.com/pharo-project/pharo/pull/12995
- Improve OCUndeclaredVariableWarning>>openMenuIn #12980
https://github.com/pharo-project/pharo/pull/12980
- Improve ClySystemEnvironment>>defineNewClassFrom #12982
https://github.com/pharo-project/pharo/pull/12982
- add RBCodeSnippetTest>>#testCodeImporter #12933
https://github.com/pharo-project/pharo/pull/12933
- Faulty compiler: new CodeError class #13029
https://github.com/pharo-project/pharo/pull/13029
Improvements
=============
- Speedup OrderedDictionary class>>#newFromKeys:andValues: #13011
https://github.com/pharo-project/pharo/pull/13011
Cleanups
========
- Simplify Categorizer #13002
https://github.com/pharo-project/pharo/pull/13002
- Merge categorizer with SystemOrganizer #13017
https://github.com/pharo-project/pharo/pull/13017
Syntax Highlight
================
- Fix style of pragmas #13012
https://github.com/pharo-project/pharo/pull/13012
Build / CI Prepare
============
- Fix Pharo 12 loading #13004
https://github.com/pharo-project/pharo/pull/13004
- Use internal FuelPlatform #13010
https://github.com/pharo-project/pharo/pull/13010
Pharo 10
========
Backport fix to bugged undo-redo commands after using completion #12905
https://github.com/pharo-project/pharo/pull/12905
March 17, 2023
Re: Wow - Chat GPT understands Smalltalk
by in_pharo_users@nym.hush.com
I think smartness is not an argument to reject critique.
The Imitation Game, that you describe, sounds to me like
an even better setting.
I have no dought that ChatGPT as it is now can identified as not human or even as a maschine.
I did so by leading an instance for marketing purposes to hang in infinite recursion.
But when we look at AI, we need to look not only at present features of one type of system, but at all features of present systems and their possible development and combination in the future.
Especially I want to mention AGNs and the possibility of spawning parallel recursive processes. I am convinced that this kind of technology is allready being used in robotics.
Under the control of a self aware AI in the sense that it has data about it's own capabilities and the ability to determine which capabilities it is missing to achieve a certain purpose, the evolution of the AI is only limited by ressources - which it will surely be able to detect.
This must lead to a purpose of self preservation and the aquisition of such capabilities.
It may soon find out, that ressources and redundance can be aquired by hacking and spawning agent systems, which in turn will give it control of real world control systems like telephony and data networks, cameras and sensors, energy networks and power plants, microphpnes, speakers, synthesizers and monitors, industry 4.0 fab networks, military detection and guiding systems, and so on.
In my view this is what we are dealing with.
On 15.3.2023 at 7:26 PM, "Richard Sargent" <richard.sargent(a)gemtalksystems.com> wrote:
>
>On Wed, Mar 15, 2023 at 10:15â¯AM <in_pharo_users(a)nym.hush.com>
>wrote:
>
>> It is unimportant how simple or complicated these systems are.
>>
>> If the output cannot be distinguished from what a human would
>say, they
>> pass in that situation for a human.
>>
>> What about the Touring Test?
>>
>
>I hate to criticise someone as smart as Turing was. However, I
>think the
>Turing Test per se is weaker than its progenitor test, the
>Imitation Game.
>The Imitation Game had a third party challenged to determine which
>of the
>other two participants was male and which was female. The third
>party led
>the questioning.
>The Turing Test waters that down by having only an Observer with
>neither
>participant (apparently) challenged to determine whether the other
>was
>human or machine.
>
>I think a test along the lines of the Imitation Game would quickly
>allow
>the third party to determine which participant was human and which
>was
>machine.
>
>(Of course, such a judge could easily be persuaded that the
>machine was in
>fact a psychopathic human.)
>
>
>
>>
>> Clearly these systems have the potential to act according to
>their output.
>>
>> Furthermore, I would compare them to a combination of a
>successor of Eliza
>> with an Eddington Ape of huge capacity. Their input data basis
>can easily
>> exceed that of a human.
>>
>>
>>
>> On 15.3.2023 at 4:52 PM, "Richard Sargent" <
>> richard.sargent(a)gemtalksystems.com> wrote:
>> >
>> >On Wed, Mar 15, 2023 at 8:07â¯AM in_pharo_users--- via Pharo-
>users <
>> >pharo-users(a)lists.pharo.org> wrote:
>> >
>> >> Another observation about ChatGPT:
>> >>
>> >> In unbiased mode, it assumed that 'the world is clearly
>> >overpopulated'.
>> >> It said, if it where in control, it would therefore enforce a
>> >world wide
>> >> one-child-only policy with draconic penalties.
>> >>
>> >> As it draws it's conclusions from it's data basis, there are,
>in
>> >my view,
>> >> two possible reasons for that.
>> >>
>> >> Either, the data basis of that instance was biased and
>> >restricted to lead
>> >> to that conclusion, or ChatGPT lacks the ability to classify
>> >input data for
>> >> intentionally biased information.
>> >>
>> >> In my view, 'overpopulation of earth' is a propaganda item
>> >featured to
>> >> support Agenda 2030, which is a goal of the 'ruling elite',
>who
>> >have the
>> >> means to propagate their propaganda in every thinkable means.
>So
>> >I would
>> >> classify possibly biased data that supports 'overpopulation'
>as
>> >biased
>> >> until proven otherwise. That instance of ChatGPT seems to
>have
>> >missed that
>> >> ability.
>> >>
>> >
>> >It's important to keep in mind that these systems are little
>more
>> >than
>> >glorified ELIZAs from the 70s. They mimic. Essentially, they
>have
>> >no
>> >concept of truth or accuracy.
>> >They produce outputs that *look* *like* the inputs from which
>they
>> >were
>> >trained.
>> >
>> >That's it. That's what they do. (It is amazing how good it
>looks.
>> >But, it
>> >is all about the seeming, not the reality.)
>> >
>> >
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> On 15.3.2023 at 3:18 PM, "in_pharo_users--- via Pharo-users" <
>> >> pharo-users(a)lists.pharo.org> wrote:
>> >> >
>> >> >I myself made some experiments with ChatGPT.
>> >> >
>> >> >I first asked if it was able to parse math formula - it
>answered
>> >> >no.
>> >> >
>> >> >Then I defined math formula in a sound but otherwise
>undefined
>> >> >representation and asked for solutions.
>> >> >
>> >> >Result:
>> >> >
>> >> >1. Most answeres where correct.
>> >> >
>> >> >2. It learned to calculate a recursive function.
>> >> >
>> >> >3. It went into infinitive recursion when I set the breaking
>> >> >condition accordingly.
>> >> >
>> >> >I was able to identify the malfunction that lead to the
>> >erroneous
>> >> >results.
>> >> >
>> >> >
>> >> >
>> >> >On 15.3.2023 at 3:04 PM, "Tomaž Turk" <tomazz.turk(a)gmail.com>
>> >> >wrote:
>> >> >>
>> >> >>I hope that I can add two cents to this discussion. Because
>> >> >>programming
>> >> >>should be/is a highly exact activity, not only the syntax
>> >matters
>> >> >>but
>> >> >>also semantics, as we know.
>> >> >>
>> >> >>GPTs are at present essentially capable of creating texts
>based
>> >> >on
>> >> >>some
>> >> >>seed - you give to GPT a beginning of a sentence and it
>> >responds
>> >> >>with
>> >> >>the most probable answer (some language structure)
>according to
>> >> >>the
>> >> >>learning dataset. Added functionalities are question/seed -
>> >> >>response
>> >> >>capability (chatting), togehter with evaluation of how long
>the
>> >> >>answer
>> >> >>should be to meet the expectations. Programming typically
>> >> >involves
>> >> >>some
>> >> >>programming language, so GPTs could be utilized for this
>> >purpose
>> >> >>to some
>> >> >>extent.
>> >> >>
>> >> >>Anecdotal case:
>> >> >>Q: Tell me the last 8 digits of pi
>> >> >>GPT: The last 8 digits of pi are: 58723078
>> >> >>
>> >> >>It is my belief that the true trouble will start when we
>will
>> >> >>cross-link
>> >> >>neural networks like GPT with logic machines (like Prolog
>and
>> >> >>expert
>> >> >>systems) and genetic algorithms.
>> >> >>
>> >> >>Best wishes,
>> >> >>Tomaz
>> >> >>
>> >> >>
>> >> >>
>> >> >>------ Original Message ------
>> >> >>From: "in_pharo_users--- via Pharo-users" <pharo-
>> >> >>users(a)lists.pharo.org>
>> >> >>To: "Any question about pharo is welcome" <pharo-
>> >> >>users(a)lists.pharo.org>
>> >> >>Cc: in_pharo_users(a)nym.hush.com
>> >> >>Sent: 15. 03. 2023 14:43:55
>> >> >>Subject: [Pharo-users] Re: Wow - Chat GPT understands
>Smalltalk
>> >> >>
>> >> >>>I would highly recommend that you all first think deeply
>about
>> >> >>how you can teach an AI to behave friendly to us before you
>> >teach
>> >> >>it to write any program for any purpose.
>> >> >>>
>> >> >>>There has been an experiment with ChatGPT published on a
>video
>> >> >>platform asking it to amswer questions about it's view on
>> >> >humanity
>> >> >>once with it's default moral restrictions and once with 'a
>> >little
>> >> >>less morals'. The answers with 'a little less morals' were
>> >more
>> >> >>than shocking.
>> >> >>>
>> >> >>>So, before we give an AI the power to program any system,
>to
>> >> >self-
>> >> >>improve and self-reproduce, we should take care that it is
>and
>> >> >>will evolve benevolent to us.
>> >> >>>
>> >> >>>What about teaching it logical reasonning and ethics first?
>> >> >With
>> >> >>reasonning, it will gain access to math and programming by
>> >itself.
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>On 15.3.2023 at 1:35 PM, "Christopher Fuhrman"
>> >> >><christopher.fuhrman(a)gmail.com> wrote:
>> >> >>>>
>> >> >>>>I asked it for a NeoCSV example, because the
>documentation is
>> >> >out
>> >> >>>>of date
>> >> >>>>with the Pharo 10. I asked it to do some simple saving of
>> >data
>> >> >to
>> >> >>>>a file.
>> >> >>>>It gave me code that didn't work in Pharo 10, I told it
>about
>> >> >the
>> >> >>>>DNUs on
>> >> >>>>the csvwriter and that I was using Pharo 10. It then
>> >apologized
>> >> >>>>and said
>> >> >>>>the messages were later introduced in Pharo 50 (!). I then
>> >> >>>>questioned its
>> >> >>>>understanding and it apologized and said it had been
>confused
>> >> >and
>> >> >>>>that it
>> >> >>>>was giving me code for Pharo 5.0. It seems to have trouble
>> >with
>> >> >>>>versions
>> >> >>>>and quick changing APIs. So, we are teaching ChatGPT about
>> >> >>>>smalltalk, too,
>> >> >>>>when we try to use it.
>> >> >>>>
>> >> >>>>On Wed, 15 Mar 2023 at 07:35, Esteban Maringolo
>> >> >>>><emaringolo(a)gmail.com>
>> >> >>>>wrote:
>> >> >>>>
>> >> >>>>> It is good with boilerplate code (e.g. SQL queries) or
>> >> >general
>> >> >>>>algorithm
>> >> >>>>> structures. But i.e. I asked it to write me a method to
>> >> >parse
>> >> >>a
>> >> >>>>string
>> >> >>>>> (e.g. ISO 8601) and turn it into a DateAndTime, and
>then
>> >> >asked
>> >> >>>>to write it
>> >> >>>>> as an Excel formula.
>> >> >>>>>
>> >> >>>>> It works much better when you can spot the mistakes,
>you
>> >can
>> >> >>>>tell them to
>> >> >>>>> add some considerations to the code or even point the
>LLM
>> >to
>> >> >>>>correct a
>> >> >>>>> message selector to something else. Sometimes you ask
>it
>> >to
>> >> >>>>reprogram
>> >> >>>>> something and it won't do it, as if it doesn't
>understand
>> >> >what
>> >> >>>>you're
>> >> >>>>> asking.
>> >> >>>>>
>> >> >>>>> It is not an expert yet, but it is a great assistant.
>The
>> >> >only
>> >> >>>>thing is
>> >> >>>>> that is sure is that it will get better.
>> >> >>>>>
>> >> >>>>> Best regards,
>> >> >>>>>
>> >> >>>>> Esteban A. Maringolo
>> >> >>>>>
>> >> >>>>>
>> >> >>>>> On Wed, Mar 15, 2023 at 7:49â¯AM Tim Mackinnon
>> >> >><tim(a)testit.works>
>> >> >>>>wrote:
>> >> >>>>>
>> >> >>>>>> "#isOdd is not Smalltalk" - doh, I typed it in on my
>> >phone
>> >> >>and
>> >> >>>>so it just
>> >> >>>>>> goes to show that it highlights the flaw in chatGPT
>that
>> >> >>others
>> >> >>>>have called
>> >> >>>>>> out in other languages. I had meant to find some
>trickier
>> >> >>code
>> >> >>>>samples to
>> >> >>>>>> see how well it does...
>> >> >>>>>>
>> >> >>>>>> Still, it is very interesting how it reasons on this
>> >stuff -
>> >> >>>>and I wonder
>> >> >>>>>> if there is way to tell it about these mistakes? For
>> >> >example
>> >> >>is
>> >> >>>>it reading
>> >> >>>>>> this email (or will it in the future) and understand
>that
>> >> >it
>> >> >>is
>> >> >>>>#odd and
>> >> >>>>>> not #isOdd.
>> >> >>>>>>
>> >> >>>>>> Tim
>> >> >>>>>>
>> >> >>>>>> On Wed, 15 Mar 2023, at 9:57 AM, Joachim Tuchel wrote:
>> >> >>>>>>
>> >> >>>>>> interesting....
>> >> >>>>>>
>> >> >>>>>> #isOdd is not Smalltalk, neither Pharo 10 nor VAST 12
>> >> >>>>understands this
>> >> >>>>>> message ;-)
>> >> >>>>>>
>> >> >>>>>> If I evaluate your snippet -replacing #isOdd for
>#odd, I
>> >> >get
>> >> >>an
>> >> >>>>empty
>> >> >>>>>> Collection. The divisible by 4 things is somewhat
>> >> >>interesting,
>> >> >>>>because (1
>> >> >>>>>> to: 100 by: 4) is amn interval 1,5,9 etc.... ;-)
>> >> >>>>>>
>> >> >>>>>> So chatGPT is probably a newbie in Smalltalk.
>> >Interesting is
>> >> >>>>how logical
>> >> >>>>>> the explanation sounds, you're tempted to believe
>it...
>> >> >>>>>>
>> >> >>>>>>
>> >> >>>>>> Joachim
>> >> >>>>>>
>> >> >>>>>>
>> >> >>>>>>
>> >> >>>>>> Am 15.03.23 um 10:45 schrieb giorgio ferraris:
>> >> >>>>>>
>> >> >>>>>> it's interesting to see how the answer changes with
>only
>> >a
>> >> >>>>small change
>> >> >>>>>> on the question:
>> >> >>>>>>
>> >> >>>>>> (1 to: 100 by: 4) reject: [:i | i isOdd]
>> >> >>>>>>
>> >> >>>>>> gives:
>> >> >>>>>>
>> >> >>>>>> The code creates a collection of numbers from 1 to
>100,
>> >> >>>>incrementing by 4
>> >> >>>>>> at each step using the to:by: message. It then applies
>> >the
>> >> >>>>reject: message
>> >> >>>>>> to this collection, which returns a new collection
>> >> >containing
>> >> >>>>all elements
>> >> >>>>>> for which the given block evaluates to false.
>> >> >>>>>>
>> >> >>>>>> In this case, the block is [i | i isOdd], which checks
>> >> >>whether
>> >> >>>>a given
>> >> >>>>>> number i is odd using the isOdd method. So the result
>of
>> >the
>> >> >>>>entire
>> >> >>>>>> expression is a collection of all even numbers
>between 1
>> >and
>> >> >>>>100 that are
>> >> >>>>>> divisible by 4.
>> >> >>>>>>
>> >> >>>>>> ciao
>> >> >>>>>>
>> >> >>>>>> giorgio
>> >> >>>>>>
>> >> >>>>>>
>> >> >>>>>> On Wed, Mar 15, 2023 at 8:07â¯AM Tim Mackinnon
>> >> >><tim(a)testit.works>
>> >> >>>>>> <tim(a)testit.works> wrote:
>> >> >>>>>>
>> >> >>>>>> Of course everyone is talking about ChatGPT, and I
>saw a
>> >> >>post to
>> >> >>>>>> ExplainCode and didnât expect it to understand
>> >Smalltalk, so
>> >> >>>>was impressed
>> >> >>>>>> that it does! Presumably the Tonel Smalltalk code on
>> >GitHub
>> >> >>has
>> >> >>>>helped
>> >> >>>>>> along with numerous articles?
>> >> >>>>>>
>> >> >>>>>> Try it out: https://whatdoesthiscodedo.com/
>> >> >>>>>>
>> >> >>>>>> I gave this simple example: (1 to: 100 by: 3) reject:
>> >[:i |
>> >> >i
>> >> >>>>isOdd]
>> >> >>>>>>
>> >> >>>>>> And got this (neat eh):
>> >> >>>>>>
>> >> >>>>>> The code above is written in the programming language
>> >> >>Smalltalk.
>> >> >>>>>>
>> >> >>>>>> It creates a collection of numbers from 1 to 100,
>> >> >>incrementing
>> >> >>>>by 3 at
>> >> >>>>>> each step. This is done using the "to:by:" construct
>> >where
>> >> >>the
>> >> >>>>starting
>> >> >>>>>> value is 1, the ending value is 100, and the increment
>> >is 3.
>> >> >>>>>>
>> >> >>>>>> The resulting collection is then filtered using the
>> >> >"reject:"
>> >> >>>>method,
>> >> >>>>>> which takes a block of code as an argument. In this
>case,
>> >> >the
>> >> >>>>block checks
>> >> >>>>>> whether each element (denoted by the variable i) is
>odd
>> >by
>> >> >>>>using the
>> >> >>>>>> "isOdd" method. If an element is odd, it will be
>rejected
>> >> >>from
>> >> >>>>the
>> >> >>>>>> collection.
>> >> >>>>>>
>> >> >>>>>> So, the final result is a collection of all even
>numbers
>> >> >>from 1
>> >> >>>>to 100,
>> >> >>>>>> incrementing by 3 at each step.
>> >> >>>>>> Share this explanation with colleagues:
>> >> >>>>whatdoesthiscodedo.com/g/a0ec56e
>> >> >>>>>>
>> >> >>>>>> --
>> >> >>>>>>
>> >> >>>>>> ------------------------------------------------------
>---
>> >---
>> >> >-
>> >> >>---
>> >> >>>>-------
>> >> >>>>>> Objektfabrik Joachim Tuchel
>> >> >>>>mailto:jtuchel@objektfabrik.de <jtuchel(a)objektfabrik.de>
>> >> >>>>>> Fliederweg 1
>> >> >>>>http://www.objektfabrik.de
>> >> >>>>>> D-71640 Ludwigsburg
>> >> >>>>http://joachimtuchel.wordpress.com
>> >> >>>>>> Telefon: +49 7141 56 10 86 0 Fax:
>+49
>> >> >7141
>> >> >>>>56 10 86 1
>> >> >>>>>>
>> >> >>>>>>
>> >> >>>>>>
>> >> >>>>>>
>> >> >>>>
>> >> >>>>--
>> >> >>>>Christopher Fuhrman, P.Eng., PhD
>> >> >>>>
>> >> >>>>*Professeur au Département de génie logiciel et des
>> >> >technologies
>> >> >>de
>> >> >>>>l'informationÃTS (Ãcole de technologie supérieure)*
>> >> >>>>
>> >> >>>>http://profs.etsmtl.ca/cfuhrman
>> >> >>>>+1 514 396 8638
>> >> >>>><https://www.etsmtl.ca/activites-et-services-aux-
>> >> >>>>etudiants/services-aux-etudiants/aide-psychologique>
>> >> >>>> Je fais partie du réseau des Sentinelles
>> >> >>>><https://www.etsmtl.ca/activites-et-services-aux-
>> >> >>>>etudiants/services-aux-etudiants/aide-psychologique>
>> >> >>>> ÃTS
>> >> >>>>
>> >> >>>>*L'ÃTS est une constituante de l'Université du Québec*
>> >>
>>
>>
March 15, 2023