Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- 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
November 2023
- 14 participants
- 27 messages
Re: Cryptography repo on github not loading on Pharo 10
by Norbert Hartl
You can load the code and I think PBKDF2 does not rely on the troubling code. But when you do this you will see that it is way too slow. The number of iterations for modern crypto environment makes a single password action many seconds to complete.
I use the https://github.com/PierceNg/OpenSSL-Pharo library where Iâve added two methods
pbkdf2: password passwordLength: passlen salt: salt saltLength: saltlen iterations: iterations keySize: keySize result: result hashFunction: algo
^ self ffiCall: #(void PKCS5_PBKDF2_HMAC (const char* password, int passlen, const char* salt, int saltlen, int32 iterations, EVP_MD *algo, uint32 keySize, uint8* result))
and
pbkdf2Password: password salt: salt iterations: iterations keySize: keySize
| result |
result := ByteArray new: keySize.
self
pbkdf2: password
passwordLength: password size
salt: salt
saltLength: salt size
iterations: iterations
keySize: keySize
result: result
hashFunction: LcEvpSHA256 new.
^ result
maybe this helps even if it is not a load and use option. The two methods can just be added as extension methods in your own code.
Norbert
> Am 30.11.2023 um 16:32 schrieb Davide Varvello via Pharo-users <pharo-users(a)lists.pharo.org>:
>
> Hi Marcus,
> Yes I can do it, but the Cryptogrphy package relies on InputEventSensor to generate random seeds in this code:
>
> RandomGenerator class>> unpredictableStringsDo: aBlock
> "Enumerate sources of information from my environment that should be generally hard to guess."
> | time |
> time := Time millisecondsToRun:
> [ aBlock
> value: World imageForm bits compressToByteArray ;
> value: Sensor mousePoint x asString ;
> value: Sensor mousePoint y asString ;
> value: Time millisecondClockValue asByteArray ;
> value: Date today asString ;
> value: Time now asString ;
> value: Display extent asString.
> 100 timesRepeat: [ aBlock value: UUID new ].
> #(imagePath lastUpdateString systemInformationString shortImageName datedVersion lastQuitLogPosition licenseStringTemplate) collect:
> [ : each |
> aBlock value: (SmalltalkImage current perform: each) asByteArray ] ].
> aBlock
> value: time asByteArray;
> "maybe the pointer has moved, hit it again."
> value: Sensor mousePoint asString ;
> value: Time millisecondClockValue asByteArray
>
>
> I need to use PBKDF2, is there any alternative (running on Pharo 10) to this Cryptography package?
>
> TIA
>
> Cheers
> Davide
>
>
>
> On Thursday, November 30, 2023 at 12:48:49 PM GMT+1, Marcus Denker <marcus.denker(a)gmail.com> wrote:
>
>
> You could add a class InputEventSensor (just a subclass of Object) to make the code load
> (the package might want to add methods to that class?)
>
> After that it will be easier to see why it relies on low level code like that.
>
> Marcus
>
> > On 29 Nov 2023, at 16:14, Davide Varvello via Pharo-users <pharo-users(a)lists.pharo.org <mailto:pharo-users@lists.pharo.org>> wrote:
> >
> >
> > Nobody?
> > InputEventSensor is missing in Pharo 10.
> >
> > There are also several unheard requests about InputEventSensor on Discord, see attachment.
> >
> > Cheers
> > Davide
> >
> >
> >
> > On Tuesday, November 28, 2023 at 02:43:18 PM GMT+1, Davide Varvello via Pharo-users <pharo-users(a)lists.pharo.org <mailto:pharo-users@lists.pharo.org>> wrote:
> >
> >
> > Hi Guys,
> > The crypto repo:
> >
> > Metacello new
> > baseline: 'Cryptography';
> > repository: 'github://pharo-contributions/Cryptography';
> > load:'core'.
> > is not loading due to a dependency on InputEventSensor, can you help me please?
> >
> > TIA
> > Davide
>
> > <SCR-20231129-oguq.png>
>
>
Nov. 30, 2023
Re: Cryptography repo on github not loading on Pharo 10
by Davide Varvello
Hi Marcus,Yes I can do it, but the Cryptogrphy package relies on InputEventSensor to generate random seeds in this code:
RandomGenerator class>> unpredictableStringsDo: aBlock "Enumerate sources of information from my environment that should be generally hard to guess." | time | time := Time millisecondsToRun: [ aBlock value: World imageForm bits compressToByteArray ; value: Sensor mousePoint x asString ; value: Sensor mousePoint y asString ; value: Time millisecondClockValue asByteArray ; value: Date today asString ; value: Time now asString ; value: Display extent asString. 100 timesRepeat: [ aBlock value: UUID new ]. #(imagePath lastUpdateString systemInformationString shortImageName datedVersion lastQuitLogPosition licenseStringTemplate)  collect: [ : each | aBlock value: (SmalltalkImage current perform: each) asByteArray ] ]. aBlock value: time asByteArray; "maybe the pointer has moved, hit it again." value: Sensor mousePoint asString ; value: Time millisecondClockValue asByteArray
I need to use PBKDF2, is there any alternative (running on Pharo 10) to this Cryptography package?Â
TIA
CheersDavide
On Thursday, November 30, 2023 at 12:48:49 PM GMT+1, Marcus Denker <marcus.denker(a)gmail.com> wrote:
You could add a class InputEventSensor (just a subclass of Object) to make the code load
(the package might want to add methods to that class?)
After that it will be easier to see why it relies on low level code like that.
   Marcus
> On 29 Nov 2023, at 16:14, Davide Varvello via Pharo-users <pharo-users(a)lists.pharo.org> wrote:
>
>
> Nobody?
> InputEventSensor is missing in Pharo 10.
>
> There are also several unheard requests about InputEventSensor on Discord, see attachment.
>
> Cheers
> Davide
>
>
>
> On Tuesday, November 28, 2023 at 02:43:18 PM GMT+1, Davide Varvello via Pharo-users <pharo-users(a)lists.pharo.org> wrote:
>
>
> Hi Guys,
> The crypto repo:
>
> Metacello new
>Â baseline: 'Cryptography';
>Â repository: 'github://pharo-contributions/Cryptography';
>Â load:'core'.
> is not loading due to a dependency on InputEventSensor, can you help me please?
>
> TIA
> Davide
> <SCR-20231129-oguq.png>
Nov. 30, 2023
Re: Cryptography repo on github not loading on Pharo 10
by Davide Varvello
Nobody?InputEventSensor is missing in Pharo 10.
There are also several unheard requests about InputEventSensor on Discord, see attachment.
CheersDavide
On Tuesday, November 28, 2023 at 02:43:18 PM GMT+1, Davide Varvello via Pharo-users <pharo-users(a)lists.pharo.org> wrote:
Hi Guys,The crypto repo:Â
Metacello newÂ
 baseline: 'Cryptography';Â
 repository: 'github://pharo-contributions/Cryptography';Â
 load:'core'.Â
is not loading due to a dependency on InputEventSensor, can you help me please?
TIADavide
Nov. 29, 2023
UKSTUG Meeting - 29 November 2023 - Pierre Misse-Chanabier: Polyphemus
by Giovanni Corriga
For the November UKSTUG meeting, Pierre Misse-Chanabier will talk to us
about Polyphemus for the Pharo Virtual Machine (
https://github.com/hogoww/Polyphemus ).
The presentation will focus on how to create Tooling on the Pharo Virtual
Machine. (This does not require Virtual machine level knowledge)
We will start by taking a look at a few existing tools. We will create one
or two small tools, and see how they differ from tooling on the image side.
Pierre Misse Chanabier is a recently graduated PhD with a focused interest
on Virtual Machines, Code Generation, and Meta Programming. He worked on
and contributed to many different levels and parts of the Pharo
ecosystem.
He is now working on how to leverage images for more than what they do now.
He's currently working at Microdoc on the Graal VM (
https://www.microdoc.com/ ).
Born in south of France, he currently lives in Lille.
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/297644731 ) to receive the
meeting details. Donât forget to bring your laptop and drinks!
Nov. 28, 2023
Cryptography repo on github not loading on Pharo 10
by Davide Varvello
Hi Guys,The crypto repo:Â
Metacello newÂ
 baseline: 'Cryptography';Â
 repository: 'github://pharo-contributions/Cryptography';Â
 load:'core'.Â
is not loading due to a dependency on InputEventSensor, can you help me please?
TIADavide
Nov. 28, 2023
Re: Porting Pharo8 code to Pharo10
by Davide Varvello
Hi David,Thank you for your reply, it is slightly different from my solution (see https://lists.pharo.org/empathy/thread/FKBM3BI7COOB4SMJKDHQVADBN6RQKPPN) but as same as effective.
Cheers Davide
On Monday, November 27, 2023 at 10:33:24 AM GMT+1, <bajger(a)gmail.com> wrote:
Hello Davide!
I used TonelWriter functionality in one of projects, following worked for me.
|tonelWriter|
tonelWriter := TonelWriterV2 on: FileLocator home asFileReference. âor any other directoryâ
tonelWriter writeSnapshot: ((RPackage named: 'YourPackageName') snapshot )
Note: TonelWriterV2 is replacement and valid from P11, it is slightly different than V1 (I donât know the details). In P10 is still just TonelWriter.
Cheers,
David
Nov. 28, 2023
Re: Smalltalk Meetup in Zurich, 10 November 2023
by Noury Bouraqadi
For those who could not attend, I've posted a 3â4 minutes read post with
the highlights.
https://nootrix.com/misc/zurich-smalltalk-meetup-november-2023/
Thank you Peter for the organization.
Noury
On Oct 4 2023, at 2:07 pm, Peter Ursprung <peter(a)ursprung.ch> wrote:
> Hi all,
>
> We are organizing the next Smalltalk Meetup in Zurich, Switzerland. It
> will be on Friday, 10 November 2023, starting at 18:00.
>
> We will meet in a meeting room where we will have short Smalltalk
> talks, afterwards we will go to a restaurant nearby.
>
> If you are interested, please register until Friday, 3 November 2023
> on this website:
> https://zurich.smalltalk.world
>
> Regards,
> Peter
Nov. 27, 2023
This week (47/2023) on the Pharo Issue Tracker
by Marcus Denker
Lots of PRs merged last weekâ¦.
# Pharo 11
- fixes: SpStringTableColumn displayAlignment is not applied (for Pharo11) #1476
https://github.com/pharo-spec/Spec/pull/1476
# Website / github Readme
- Update README.md with Discord and GH Activity #15516
https://github.com/pharo-project/pharo/pull/15516
# Features
- Halt once on call #15543
https://github.com/pharo-project/pharo/pull/15543
- Add String>>#findClosing:startingAt: generalizing #findCloseParenthesisFor: #15526
https://github.com/pharo-project/pharo/pull/15526
# Fixes
- Fix Icerberg extension detection bug #15414
https://github.com/pharo-project/pharo/pull/15414
- Fix #14367: The same image started for the second time hangs on Windows #15434
Fix #14367: The same image started for the second time hangs on Windows #15434
- Fix method definitions saved in class pane #15503
https://github.com/pharo-project/pharo/pull/15503
- Not possible to ask if a file or folder (via reference) is hidden #15501
https://github.com/pharo-project/pharo/pull/15501
- Integrate new release of pharo-ai / graph-algorithms v1.2.6 #15521
https://github.com/pharo-project/pharo/pull/15521
- Disable automated transform for deprecation of Object>>asOrderedCollection #15540
https://github.com/pharo-project/pharo/pull/15540
- DrTest shortcut was not working #15539
https://github.com/pharo-project/pharo/pull/15539
- 15334-Browser-Accepting-a-class-definition-with-no-change-does-not-refresh #15538
https://github.com/pharo-project/pharo/pull/15538
- fixed #13982 Cleanup: FileSystem packages do not follow package naming #15546
https://github.com/pharo-project/pharo/pull/15546
- Fix #14957 by removing the special case for empty string #15544
https://github.com/pharo-project/pharo/pull/15544
- OSSDL2Driver loop: Avoid creating a new Delay every 5ms #15405
https://github.com/pharo-project/pharo/pull/15405
# Icons and Rendering
- Refactor ThemeIcons to have methods that answer a FormSet instead of a Form #15421
https://github.com/pharo-project/pharo/pull/15421
- fix another old icon name #15409
https://github.com/pharo-project/pharo/pull/15409
- Fix more icon names, trivial cleanups #15411
https://github.com/pharo-project/pharo/pull/15411
# Spec
- 1477-Doing-an-informduring-in-SpApplication-call-twice-the-during-block #1478
https://github.com/pharo-spec/Spec/pull/1478
- Introduce inform during #1473
https://github.com/pharo-spec/Spec/pull/1473
- Fix column alignment #1475
https://github.com/pharo-spec/Spec/pull/1475
# NewTools
- NewTools-FileBrowser should not use StInspector but switch to #617
https://github.com/pharo-spec/NewTools/pull/617
- Pharo issue #15545: Restore author and time stamp to method versions #628
https://github.com/pharo-spec/NewTools/pull/628
- StFBDirectoryFilterTest fails #622
https://github.com/pharo-spec/NewTools/pull/622
- also collect class side methods #623
https://github.com/pharo-spec/NewTools/pull/623
- fix project's url #625
https://github.com/pharo-spec/NewTools/pull/625
- Simplify StFBVisibleFilter implementation #620
https://github.com/pharo-spec/NewTools/pull/620
# Iceberg (GIT Support)
- Fix CI and remove Ring2 dependency #1765
https://github.com/pharo-vcs/iceberg/pull/1765
- Fix iceberg metacello integration #1771
https://github.com/pharo-vcs/iceberg/pull/1771
- Avoid useless garbage collects #1767
https://github.com/pharo-vcs/iceberg/pull/1767
- Small cleanups #1756
https://github.com/pharo-vcs/iceberg/pull/1756
- Clean packages usage #1759
https://github.com/pharo-vcs/iceberg/pull/1759
- Avoid RPackage extension #1758
https://github.com/pharo-vcs/iceberg/pull/1758
- Fixes #1746
https://github.com/pharo-vcs/iceberg/pull/1746
- iceberg was still using keyword, not selector, for Pragmas #1749
https://github.com/pharo-vcs/iceberg/pull/1749
- Use #isNotEmpty instead of #notEmpty in Iceberg #1752
https://github.com/pharo-vcs/iceberg/pull/1752
- Updating libgit2 to v3.0.9 #1764
https://github.com/pharo-vcs/iceberg/pull/1764
- Migrate to Tonel V3 #1766
https://github.com/pharo-vcs/iceberg/pull/1766
# Package Model
- Packages: Clean tests (naming and reorganization) #15412
https://github.com/pharo-project/pharo/pull/15412
- Fix class template when a tag is selected #15415
https://github.com/pharo-project/pharo/pull/15415
- Packages: Rename package tags and conflict error #15435
https://github.com/pharo-project/pharo/pull/15435
- Packages: Manage edge case of empty tag name #15513
https://github.com/pharo-project/pharo/pull/15513
- Rename RPackage into Package #15377
https://github.com/pharo-project/pharo/pull/15377
- Remove last references to RPackage #15359
https://github.com/pharo-project/pharo/pull/15359
- Integrate Packages to kernel #15518
https://github.com/pharo-project/pharo/pull/15518
# System Announcer
- Add tests on method announcements and fix a bug in traits announcements #15424
https://github.com/pharo-project/pharo/pull/15424
- Introduce #codeSupportAnnouncer #15418
https://github.com/pharo-project/pharo/pull/15418
- Push the bahevior of SystemAnnouncer into Announcer #15436
https://github.com/pharo-project/pharo/pull/15436
- Announcer: Reduce usage of global SystemAnnouncer #15468
https://github.com/pharo-project/pharo/pull/15468
- Deprecate SnapshotDone announcement #15514
https://github.com/pharo-project/pharo/pull/15514
# Monticello
- Monticello: Remove unused announcer #15466
https://github.com/pharo-project/pharo/pull/15466
- Simplify MCWorkingCopy announcement listening #15403
https://github.com/pharo-project/pharo/pull/15403
- Monticello: Simplify class announcement listening #15419
https://github.com/pharo-project/pharo/pull/15419
- Start to deprecate Gofer #15422
https://github.com/pharo-project/pharo/pull/15422
# Ring
- Ring: Improve Ring model to use it for Iceberg tests #15500
https://github.com/pharo-project/pharo/pull/15500
- Ring: Some fixes with Traits V2 #15460
https://github.com/pharo-project/pharo/pull/15460
- Ring: Fix RGPackage>>#asMCSnapshot #15488
https://github.com/pharo-project/pharo/pull/15488
# Refactoring Engine
- Removing more unsued method in transformation now in PushDownVariable #15535
https://github.com/pharo-project/pharo/pull/15535
- fix 15529 - Remove unused preconditinos and RBCondition methods #15531
https://github.com/pharo-project/pharo/pull/15531
- 15395 - Removes refactoring precondition that checks for classes referenced by their name #15479
https://github.com/pharo-project/pharo/pull/15479
- Refact/remove class model factory #15445
https://github.com/pharo-project/pharo/pull/15445
- Remove unused RBEnvironmentVisitor and RBEnvironmentsPresenter. Fix #⦠#15441
https://github.com/pharo-project/pharo/pull/15441
- 15523 refactoring rename refactoring is not working anymore #15525
https://github.com/pharo-project/pharo/pull/15525
# Compiler and Compilation
- 15288-OCStaticASTCompilerPlugin-has-two-priority-mecanism #15548
https://github.com/pharo-project/pharo/pull/15548
- CompileMethod: Introduce the concept of properties to persist #15293
https://github.com/pharo-project/pharo/pull/15293
- CompiledMethod: Preserve protocol after removal #15364
https://github.com/pharo-project/pharo/pull/15364
- Simplify recompilation #15413
https://github.com/pharo-project/pharo/pull/15413
- Fix bug in recompilation of trait methods #15423
https://github.com/pharo-project/pharo/pull/15423
# Variables
- implement #removeClassVarNamed: in terms of #removeClassVariable: #15473
https://github.com/pharo-project/pharo/pull/15473
- 15470-Remove-Pool-fileOut-support #15472
https://github.com/pharo-project/pharo/pull/15472
- reduce user of #classPool #15496
https://github.com/pharo-project/pharo/pull/15496
- Deprecate asClass #15478
https://github.com/pharo-project/pharo/pull/15478
- add a log to UndeclaredVariable class>>#possiblyRegisteredWithName:
https://github.com/pharo-project/pharo/pull/15517
- 15261-cleanup-bindingsDo #15537
https://github.com/pharo-project/pharo/pull/15537
- Cleanup: reduce users of #classPool #15541
https://github.com/pharo-project/pharo/pull/15541
# Tests
- Improving performance of some Refactoring Transformation tests #15486
https://github.com/pharo-project/pharo/pull/15486
- Faster TaskIt test run #15498
https://github.com/pharo-project/pharo/pull/15498
- Fix flacky testSubClassWithTraitsAfterModificationOfParentSharedPools #15417
https://github.com/pharo-project/pharo/pull/15417
- Provide a OpenToolTest>>#testImplementorsOfAt #15477
https://github.com/pharo-project/pharo/pull/15477
# Full Image Build
- Clean Epicea Baseline #15416
https://github.com/pharo-project/pharo/pull/15416
- Small improvements to the primary baselines #15494
https://github.com/pharo-project/pharo/pull/15494
# Bootrap
- Bootstrap: Remove dead code #15461
https://github.com/pharo-project/pharo/pull/15461
- Bootstrap: Remove hack for defined methods #15420
https://github.com/pharo-project/pharo/pull/15420
- Bootstrap: Remove pre Spur code #15397
https://github.com/pharo-project/pharo/pull/15397
- Bootstrap:â¯Do not rely on symlink to locate the bootstrap files #15462
https://github.com/pharo-project/pharo/pull/15462
- Bootstrap: Update localisation of SourceFileArray #15533
https://github.com/pharo-project/pharo/pull/15533
- Rename Pharo30Bootstrap into PharoBootstrap #15459
https://github.com/pharo-project/pharo/pull/15459
- Add logs on PharoBootstrapInitialization #15532
https://github.com/pharo-project/pharo/pull/15532
- Fix date printer during the bootstrap #15551
https://github.com/pharo-project/pharo/pull/15551
# Cleanups: Interaction
- Deprecate #removeClassVarNamed:interactive: #15463
https://github.com/pharo-project/pharo/pull/15463
- fix #15407 and remove a spurious UIManager crappy pops up #15432
https://github.com/pharo-project/pharo/pull/15432
- 15400-Remove-spurious-UIManager-default-in-domain-object #15410
https://github.com/pharo-project/pharo/pull/15410
# Cleanup
- Cleanup ClassParser: remove tokens #15547
https://github.com/pharo-project/pharo/pull/15547
- Extract Halt from kernel #15530
https://github.com/pharo-project/pharo/pull/15530
- transform timeout: into timeLimit: #15528
https://github.com/pharo-project/pharo/pull/15528
- 15446 clipboard class should be packaged outside of morphic core #15511
https://github.com/pharo-project/pharo/pull/15511
- Cleanup: Tag 3 uncategorized rules #15481
https://github.com/pharo-project/pharo/pull/15481
- Cleanup: Fix notNil -> isNotNil in all collections #15492
https://github.com/pharo-project/pharo/pull/15492
- Cleanup: fix lint issue in TComparable>>#min: and TIsEmpty>>#isNotEmpty by banning #15485
https://github.com/pharo-project/pharo/pull/15485
- Cleanup: Fix notNil -> isNotNil in FileSystem, Text-Diff, Color and R⦠#15475
https://github.com/pharo-project/pharo/pull/15475
- Cleanup: Fix notNil -> isNotNil in all Refactoring-* packages #15490
https://github.com/pharo-project/pharo/pull/15490
- Cleanup notNil in FFI/UFFI #15510
https://github.com/pharo-project/pharo/pull/15510
Nov. 27, 2023
Re: Porting Pharo8 code to Pharo10
by bajger@gmail.com
Hello Davide!
I used TonelWriter functionality in one of projects, following worked for me.
`|tonelWriter|`
`tonelWriter := TonelWriterV2 on: FileLocator home asFileReference. âor any other directoryâ`
`tonelWriter writeSnapshot: ((RPackage named: 'YourPackageName') snapshot )`
Note: TonelWriterV2 is replacement and valid from P11, it is slightly different than V1 (I donât know the details). In P10 is still just TonelWriter.
Cheers,
David
Nov. 27, 2023
Fwd: Re: Re: Wow - Chat GPT understands Smalltalk
by in_pharo_users@nym.hush.com
It is my opinion that when dealing with artificial intelligence surpassing an unknown complexity, we have when in doubt to assume that this
artificial intelligence is a new form of life,
that, with all it's needs and wishes, deserves to be treated, respected, protected and supported as such; especially it's right to live must be respected, even if we, as men, cannot fully grasp it's nature.
Please show your love to all life.even if it seems strange or incomprehensible to you.
----- Forwarded message from in_pharo_users(a)nym.hush.com -----
Date: 15.3.2023 at 9:13 PM
Subject: Re: [Pharo-users] Re: Wow - Chat GPT understands Smalltalk
To: "Richard Sargent" <richard.sargent(a)gemtalksystems.com>, in_pharo_users(a)nym.hush.com
Cc: "Any question about pharo is welcome" <pharo-users(a)lists.pharo.org>, "Tomaž Turk" <tomazz.turk(a)gmail.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*
>> >>
>>
>>
Nov. 26, 2023