ADUG Melbourne Meeting June 2024

Hi Everyone,

The Melbourne ADUG June meeting is on Monday (Tomorrow) Night, 17th June

Geoffrey Smith will be showing us some more Chat GPT.
I saw a demo of some of what he has done, it is impressive.

I also hope to do a very short presentation on spring4d’s Nullable

When: 6:00pm for a 6:15pm start
Where: At the Melbourne Men’s Shed, and on Zoom.

Zoom link will be up here shortly before the meeting starts.

1 Like

Oooh. I just saw the (for me) " Today 16:00 "

on the Meeting post just above.

And it came up with a generous popup list of Place/Time conversions.
I haven’t seen / noticed that before.

That is when you create the post as an event.

1 Like

Geoffrey Smith is inviting you to a scheduled Zoom meeting.

Topic: Melbourne ADUG Meeting June 2024
Time: Jun 17, 2024 06:00 PM Canberra, Melbourne, Sydney

Join Zoom Meeting

Meeting ID: 871 7133 8396
Passcode: 494308


One tap mobile
+61871501149,87171338396#,*494308# Australia
+61280156011,87171338396#,*494308# Australia


Dial by your location
• +61 8 7150 1149 Australia
• +61 2 8015 6011 Australia
• +61 3 7018 2005 Australia
• +61 7 3185 3730 Australia
• +61 8 6119 3900 Australia
• +1 253 205 0468 US
• +1 253 215 8782 US (Tacoma)
• +1 301 715 8592 US (Washington DC)
• +1 305 224 1968 US
• +1 309 205 3325 US
• +1 312 626 6799 US (Chicago)
• +1 346 248 7799 US (Houston)
• +1 360 209 5623 US
• +1 386 347 5053 US
• +1 507 473 4847 US
• +1 564 217 2000 US
• +1 646 558 8656 US (New York)
• +1 646 931 3860 US
• +1 669 444 9171 US
• +1 669 900 9128 US (San Jose)
• +1 689 278 1000 US
• +1 719 359 4580 US

Meeting ID: 871 7133 8396
Passcode: 494308

Find your local number: Zoom International Dial-in Numbers - Zoom

Is it possible to access a recording of the meeting?

Are there recordings available somewhere for all (zoom based) meetings, or is this something that has to be pre-arranged/requested in advance?

Melbourne meetings are usually recorded. You can find the recordings on the ADUG Youtube channel. I like to edit them down a bit so it may take some time for the videos to appear

The ADUG Channel can be found at

In the mean time… here is a teaser for this months meeting that you missed… a demo ChatGPT created in delphi

1 Like

Thanks Geoff! I appreciate the effort to edit/upload the recordings - I am subscribed to the YT channel and will check out the above. If there were a way to make the unedited videos available to members automatically that may lighten the load (for the vids that are not as suitable for public consumption/need too much editing).

You are in luck. :slight_smile:

In addition to talking to the Melbourne meeting yesterday, in an efficient and well-executed manner, Geoff also spoke to our Perth meeting last week where we bamboozled him into talking for 4 hours. :fist_right::fist_left:

I didn’t want to upload our video before the Melbourne meeting, but @scott.hollows did give me a link to the video just about immediately, so I’ll put that up on (YouTube and) the Perth meeting thread today. Maybe split into two parts for (my) convenience. :sweat_smile:

Quick Summary

Geoffrey Smith gave a presentation on his recent ChatGPT experiments.

He has enabled chatGPT to do delphi coding on his laptop using NGrok.com
facilities. It can (on command) upload source files, check them with
fixinsight, compile them, and examine the output of the builds. (and
repeat)

ChatGPT hits an NGrok URL, The URL’s domain name is currently assigned
for Geoff’s laptop by NGrok (I think). This NGrok reverse proxy server
then forwards the request onto Geoff’s laptop via some sort of
cleverness. (Presumably with firewalling, etc)

He initially showed a demo of chatGPT connecting to get the current
time. Apparently it doesn’t know the time, it does know the date.

There is an OpenAPI spec required which is used to create the Rest
Endpoints, and Rest clients.

https://swagger.io/specification/

He has also got ChatGPT to build a few simple? games in Delphi. Snake
(Quite a few versions, perhaps while learning how to get ChatGPT to do
its thing) Tetris, etc.

Geoff got it to build a Minesweeper game for us.
We couldn’t think of any games to get it to create, this was one that
ChatGPT came up with when asked.

That seemed to work quite well.

He asked to change some part of the game, and ChatGPT then did that.

Interestingly, it recreated the entire main form source file to do it.
Currently there is not an editing facility available, and it may be
difficult to implement.

It apparently has some difficulty in generating the Res file? so needed
to do a first build from the ide. Once built it could then build it
itself.

Misc Stuff

Geoff also showed us, and then played some music he got ChatGPT to
create on the Site UDIO.com

There is also SUNO website for creating music.

Geoff has a few GPT’s (customised personal ChatGPT)

ChatGPT is more advanced, but Apples Siri can connect into more things.

ChatGPT likes python. It can create Python Code for analysing data that
you get it to look at.

Delphi AST converts Delphi into small chunks.
So can feed LLM with small chucks.
(Token Size of LLM is limited)

You can have local LLM’s (if you have enough compute) Perhaps to keep
your data from being used for training.

Spring4D, Nullable

I gave a very brief demo of some use cases for, and using spring4d’s Nullable
The discussion following was a lot longer.

Some use cases
Caching variables, where load time is expensive.
Returning variables, where there may or may not be a value returned.
(Rather than a boolean result, indicating if a var/out parameter has
been returned) As a general Unknown value (as per null entries in
databases)

Paul mentioned that Rust had return values that are ok (with info)
or no (with error)

I had a quick look at this, it also seems Rust has a fairly easy way of
either grabbing errors for handling, or passing them up the stack with
the ? operator. I guess (I know very little about rust) a bit like a
per line try except functionality??

1 Like

@Geoff 's AI-related Github page (initially from his 2023 ADUG Symposium talk)