My Experience programming entire apps with ChatGPT

  • SpinRite v6.1 Release #3
    Guest:
    The 3rd release of SpinRite v6.1 is published and may be obtained by all SpinRite v6.0 owners at the SpinRite v6.1 Pre-Release page. (SpinRite will shortly be officially updated to v6.1 so this page will be renamed.) The primary new feature, and the reason for this release, was the discovery of memory problems in some systems that were affecting SpinRite's operation. So SpinRite now incorporates a built-in test of the system's memory. For the full story, please see this page in the "Pre-Release Announcements & Feedback" forum.
    /Steve.
  • Be sure to checkout “Tips & Tricks”
    Dear Guest Visitor → Once you register and log-in please checkout the “Tips & Tricks” page for some very handy tips!

    /Steve.
  • BootAble – FreeDOS boot testing freeware

    To obtain direct, low-level access to a system's mass storage drives, SpinRite runs under a GRC-customized version of FreeDOS which has been modified to add compatibility with all file systems. In order to run SpinRite it must first be possible to boot FreeDOS.

    GRC's “BootAble” freeware allows anyone to easily create BIOS-bootable media in order to workout and confirm the details of getting a machine to boot FreeDOS through a BIOS. Once the means of doing that has been determined, the media created by SpinRite can be booted and run in the same way.

    The participants here, who have taken the time to share their knowledge and experience, their successes and some frustrations with booting their computers into FreeDOS, have created a valuable knowledgebase which will benefit everyone who follows.

    You may click on the image to the right to obtain your own copy of BootAble. Then use the knowledge and experience documented here to boot your computer(s) into FreeDOS. And please do not hesitate to ask questions – nowhere else can better answers be found.

    (You may permanently close this reminder with the 'X' in the upper right.)

Warwagon

Active member
Sep 20, 2020
25
11
Let me first start by saying that I've dabbled with Programming my entire life, never really getting the hang of it, but not for a lack of trying. I'm also dyslexic so maybe that has something to do with it.

When Steve read a note on security now regarding the guy who wrote a Powershell script to parse a lastpass file saying that ChatGPT helped him write some of the code, I thought that's neat, let's give it a go.

So over the next few weeks and months, I had used ChatGPT to scratch every itch I could think of, creating Python apps and converting them to exe files.

While it's true you can just tell ChatGPT what you want and it spits out code, you do still have to be technically inclined to use the code, make the py file help it debug the app. In some cases, when chatGPT goes full stupid, you also have look through the code and find such a simple bug even I could see it.

I told a friend he should try it too, he said it would feel more accomplished if he wrote the code himself. I get that, but as mentioned above I've tried to wrap my head around coding, but it just wasn't working. Plus how is this any different than hiring someone to do it for you?

While ChatGPT will do the coding for you, the way the app works and how it does stuff is conveyed to the app, so you do most of the design wokr.

The best example of an app I had chatGPT write for me, is one I'm most proud of designing. Is something called qbo/iif to csv converter.

I also write about this over on Neowin.net

I'm still using Quickbooks Pro 2018. A couple of years ago my bank stopped offering IIF files for transaction downloads and only offers CSV and QBO. I was never a fan of QBO files, so I went looking for a CSV to IIF converter. I only found one and it was $150 was called "Transactions". Looks like they have now changed the name and are charging $150 PER YEAR for it. https://www.propersoft.net/purchase/

I've been using it for a few years (purchased it back when it was a 1 time fee) and it does work well. I just refuse to upgrade to the new Quickbooks as Intuit has become greedy, and now it's a yearly cost of $500+ (when I used to buy it for $250, every 4 years. Actually as of recently the desktop version is on it's way out)

So one day I was wondering, if it would be possible, with the help of chatGPT to have one written in Python. A couple of days later I finished it. That was back in October 2023. I've recently given the code back to chat GPT to make some updates.

Here is what the program looks like.

1710277456622.png



It also includes what I call a “Definition Editor” which is now built right into the main application.

1710277491159.png


The editor is pretty cool, it lets you create a Definition file which can be loaded into the main application. This allows you to do the following.

  • If a transaction has X in the name, rename the transaction to X (For example if a transaction has WM SUPERCENTER in the name such as 648105 PURCHASE WM SUPERCENTER #1625 712-546-4900 IA 10277255 4041 .. rename it to "WAL-MART"

  • •If a transaction is named X and has X amount name it this. If it does not have X amount, still give it a name but just put it over in Premier Offset so I can tell it where to go. I did this because my Verizon gets put on my VISA card every month, but some months other things get put on there too. So in months when the VISA matches $36.38 it automatically puts VISA in Business:Direct Expenses - Business:Telephone:Cellphone.

  • If a transaction has X in the name, rename the transaction and add it to this account. So if a transaction had " HY-VEE F&F" in the name such as "995471 PURCHASE HY-VEE F&F LE MARS 5382 LE MARS IA 4445043046110 4" rename it to "HY-VEE FUEL" and add it to the account "Business: Automobile Expense:Fuel".

  • •Split a transaction to the tune of 2 splits. I wasn't aware that you could split a transaction in an IIF file, but you can and it works great! You just enter amount 1 for account 1 and amount 2 for account 2. (its in the screenshot)

  • You can also have it automatically add memos for certain transactions who's name/total or just name matches.



The Compiled EXE and source code is on Dropbox
https://www.dropbox.com/scl/fo/t088czui5pzgsm998w2hi/h?rlkey=witu511kovsosuj1a9pr7pv5h&dl=0
 

Attachments

  • 1710277442512.png
    1710277442512.png
    158.4 KB · Views: 25
Last edited:
I still recall how much the world changed when Microsoft introduced Visual Basic.

I was writing the weekly "TechTalk" column for InfoWorld at the time, so the product manager for VB (Nevet Basker) journeyed down to GRC from Redmond to demo their new "thing" for me. It was immediately clear that VB changed the face of programming and I gave it three sequential weekly columns in a row because it was clearly so important. And I recall that one of the techies working for GRC (Millard Ellingsworth, III) saw what Microsoft had done and quite seriously commented: "This is not good. It's going to make it way too easy for people to write programs."

It seems quite clear that while I'm sure we're not there, yet... the idea of having a conversational AI write working code is not far off.
 
  • Love
Reactions: Warwagon
It seems quite clear that while I'm sure we're not there, yet... the idea of having a conversational AI write working code is not far off.
I would say for very small projects we are already there. I programmed none of this app other than finding and fixing stupidly obvious bugs.
 
I've used ChatGPT to optimize an already working program in Python I wrote. Since the code was going to run on a battery powered Raspberry Pi, I uploaded the code and asked for it to optimize it for reduced power consumption. What it came back with worked, and I had to ask it about a few changes it made and how they worked.

The modified program didn't change power consumption much, but I did learn a few things from the changes it made.
 
Flon's Law: There is not now, nor will there ever be, any programming
language in which it is the least bit difficult to write bad code.