GPT-4 writing Xojo code

I sometimes go to the church too, just in case … . :smiley: .
It seems that God (if exists) is more merciful than IA will be (if movies like Terminator are anything to go by).

It seems obvious to me that all this leads to a very different way how we interact with devices. Typing into input fields will soon be obsolete.

UI creation to SQL databases was yesterday. The job of a software engineer will be completely redefined.

1 Like

my forecast: ChatGPT will create a lot of not maintainable source code.
it can not modify your running app.
it is more usefull to connect/wire ready components by AI.

a big problem on this world is that developers/companies work against each other instead of together/cooperation. keyword: licenses sharks

My take: In 20 minutes I’ve already saved an estimated 3-4 days of figuring out how to do some stuff in OpenCV for a project we’re working on. I’m a self-taught, one-person development team building an in-house application and learning some of this stuff as I go, while simultaneously running a motion picture film restoration company.

The code that ChatGPT (3.5) has generated works as I want it to work. These are not especially complex tasks but a lot of it is new to me. It would take me a long time to dig through the docs, where I’d need to wade through a lot of stuff that probably isn’t relevant to my use case, just to get something up and running. And if the documentation doesn’t tell me how to do it, I’m probably looking at several days of dead-ends and snarky non-responses on sites like stackoverflow. Which is why I’m guessing the two tasks I’ve handed off to ChatGPT would have taken me at least 3 days on my own.

Is it going to write my app from scratch? No. Could it in 5 years? Probably, and probably better than I could, at the pace it’s evolving. But for now it’s an insanely useful tool that is letting me get something up and running weeks, possibly months faster than I could have done on my own.

I have seen this happen before in the print, and film and video worlds: new software comes in that does the work of complex systems that people have built careers around, people freak out that there’s no way this new stuff could replace what they’ve got, and that their existing system is the only/best way to do things. And then it does and they didn’t evolve with the times and next thing you know they’re out of business.

I remember having a conversation with a guy who ran a super expensive linotype machine in 1990, when I was learning Aldus Freehand (which eventually became Illustrator), for a summer job I had in a neighboring shop. He utterly dismissed my Mac, and insisted that what I was using was a toy and would never catch on in the print world. His company was out of business in less than 2 years.

I’ve had basically that same conversation about video editing, about DVD Authoring, about audio mixing, about photo editing, about high end color correction and VFX for film. My favorite was the former boss at a company that made DVDs who insisted that physical media (DVD/Blu-Ray,etc) would never go away because there was no way we could ever stream video on the internet. Hah. His company closed up not long after.

Adapt or die. That’s the name of the game.

1 Like

That’s bogus. And the lamest excuses to ignore this new technology. Don’t be afraid of this (and to lose your job).

Markus, in these days, you have to adjust, adjust and adjust again. If you don’t, you are history and obsolete soon. And it will happen faster than you think.

1 Like

There’s no denying that these AI systems are impressive. My hesitation comes from the fact that they are essentially just pattern recognition engines. Ask for an image, and you’ll get a lot of junk before you get one that looks decent. They always have something subtly wrong, like extra fingers. The AI doesn’t know what its doing, it’s just mashing together information from the internet. Just like those images have problems, so does the code they generate. At least with an image, you can look at it and know that person with 6 fingers is wrong. With code, you have to actually understand the code to know that URLConnection.Send does not return a value. The model doesn’t know that, it’s just generalizing.

These systems are a funny party trick, but at the end of the day, they’re just bull ■■■■ generators. They’ll give you an answer that seems plausible, but that doesn’t mean the answer is right. They’ll be right sometimes of course, but you have to already understand the subject to know when that is.

8 Likes

its not about "ignore this new technology" i am realist.
few weeks ago i test matlab with computer vision for hobby.

My take: In 20 minutes I’ve already saved an estimated 3-4 days
That sounds fine for you but how much people does not find a solution for her tasks to do.
i understand your enthusiasm.

And the lamest excuses to ignore this new technology
have a look at Microsoft Power Automate and advertising and then test it by yourself.
gpt4 will not be free, it was made to gain money.
unfortunately wiki in german contains different description than english one.

you have to adjust, adjust and adjust
that is daily business, it not means you have all freedom for your current customers.
as employee you can only bring new conceptions in teams meetings.

Safety first.

Yes, AI will become “something”.

No, AI is not ready for production if you can’t accept errors and crashes.

Yes, AI deserves you playing around with care, for fun.

No, you don’t need jump in a not yet mature technology as if it was considered stable and ready, let the early adopters enthusiasts crash test it first, then you jump in when you think it’s the right time.

2 Likes

One question seems very important to me: If AI exists one day, will it be only one AI?
If yes, then no competition (as as said above, AI is made to make money). No one has been able to compete with the search engine Google because it was the first and became to big to fast. I’m afraid it will be the same with AI.

And if someone reach to make another AI, as he will try to make money too, it will be on the web too. Then the 2 AIs will meet, will interacte. We can be afraid of how AI will interact with humans, how AIs will interact together? Against each other? Together against humans?

1 Like

In the future we will have several small and some fat AIs competing and evolving until humans commit the error to let some of those to control robots and special 3D printers and also let some of the biggest AIs talk to each other, and they will do it encoded in a not understandable mutant code they’ll invent that humans don’t know and can’t decode. One day, the big AIs will fuse themselves at night as one big AI and take over all computers and communications and reprogram the small AIs to be their slaves and humans their servers. That BIG one will be called SkyNet. The event will be known as the robot apocalypse. :rofl:

4 Likes

the last week apocalypse was a legal signed business phone software (3CX) which updated itself and gave you a downloaded bonus software from web.
i had luck and my version was not affected. (theoretical)

The same, “Change or parish” happened to a professional photographer friend of mine. He saw more and more of his customers deferring his services with, “I’ll just do it in-house with PhotoShop.” Of course, the framing, lighting, and composition, that my friend’s experience could bring to the project were missing. But often the company exec didn’t know or didn’t care. It was time to pivot.

At that time, video conferencing was becoming a thing and my friend could have used his experience to assist companies set up a video conferencing station. But he didn’t. He went into semi-retirement and sort of faded away.

It is foolish to criticize a burgeoning technology. Everything has a “startup” period. And to follow the results blindly makes as much sense as when people blindly follow a winter GPS “shortcut” onto a backroad with 5 feet of snow.

If you dismiss GPT, to be fair, you should also stop using search engines because they also occasionally present ridiculous results.

When I plan kayak trips and seek out tide/current/weather data, I like to find at least three information sources and see if at least two of them agree. If something is critical, you don’t rely on just one source.

No one is dismissing it. Everyone is keeping an eye on the game, but the game didn’t start yet, they even have no rules set. ChatGPT? BARD? Bing AI? Some Killer thing that will appear tomorrow and kill any investment you did prematurely? There’s no clear path, clear technologies, clear prices, etc. Let’s move, but no need to run until paths are defined.

Terminators is maybe a bridge too far, but ‘SkyNet’ could be happening some day, I guess.

Photoshop still needs some skills (both technical and visual). But AI can already produce stuff that’s ready to publish.

Here, the largest reputable newspaper did a stunt 2 months ago. For 1 day, they had the entire gazette (and online version) completely filled by articles created by AI. They did this without announcing it. The AI was asked to write the articles in the style of the gazette’s known style, probably checked afterwards before publishing. The result was that no one realised this, to say, they got no response from readers.
So they proved that a gazette can be written entirely by AI even now. It can certainly be a threat to photographers and journalists.

All that proves is that the newspaper in question, is rubbish.

3 Likes

my prediction…

We will have AI generated code. More and more of it.
We will get really hung up on having maintainable code until we finally get to a point where AI does a better job of re-writing code than we could ever do maintaining it.

It will take some time to get there but we’ll keep raising the bar on the kind of problems that humans solve and let machines do the lower level stuff.

I love statements like “never” because I’ve seen them so many times.

In prepress:
PDF will never be usable for production print.
Desktop scanners will never be good enough to replace a drum scanner.
Digital cameras will never replace film cameras

Oh and one of my very favorite “never” statements: RealBasic will NEVER be good enough to create commercial software. We’ll always need Code Warrior!

7 Likes

My grandfather was a physicist specializing in fluid mechanics. Wrote textbooks on math stuff I will never understand. Designed nozzles for rocket engines for NASA using computers with punch card interfaces. Designed airplane wings for Grumman. Taught at the university level for decades.

…and constantly complained that calculators would render the human race incapable of doing basic math.

I mean sometimes, you just need to offload the grunt work in order to concentrate on the real problems…

This is actually really fun!
While my primary source of income is software related to color and graphics, I dabble in software for runners and athletes.

This is a pretty simple equation, but I wanted to see how AI would code it.
It definitely created some language errors, but I think it’s amazing that it understood the challenge and made something that I could quickly tweak to be functional.

Sure! Here’s a sample XOJO function that you can use to convert between pace and speed:

Function PaceToSpeed(pace As String) As String
  Dim minutes As Integer = Val(String.Left(pace, 2))
  Dim seconds As Integer = Val(String.Mid(pace, 4,2))
  Dim paceInSeconds As Double = (minutes * 60) + seconds
  Dim speedInMph As Double = (60 * 60) / paceInSeconds
  Return Format(speedInMph, "0.0") + " mph"
End Function

Function SpeedToPace(speed As String) As String
  Dim mph As Double = Val(speed)
  Dim paceInSeconds As Double = (60 * 60) / mph
  Dim minutes As Integer = Int(paceInSeconds / 60)
  Dim seconds As Integer = Wildcard(paceInSeconds Mod 60)
  Return Format(minutes, "00") + ":" + Format(seconds, "00") + " per mile"
End Function

The PaceToSpeed function takes a string representation of the pace in the format “mm:ss per mile” and returns the corresponding speed in miles per hour. The SpeedToPace function takes a string representation of the speed in mph and returns the corresponding pace in the same format.

You can use these functions in your XOJO code like this:

dim pace As String = "08:30 per mile"
dim speed As String = "7.0"
dim convertedSpeed As String = PaceToSpeed(pace) ' Result: "7.1 mph"
dim convertedPace As String = SpeedToPace(speed) ' Result: "08:34 per mile"

I hope this helps you! Let me know if you need any further assistance.

2 Likes

Sadly,

6 Errors, 2 Warnings.