|
|||||||||||||||||||||||||||||||||||||||||||||
|
Whether we like it or not, artificial intelligence is entering and will continue to enter our lives.
The Amiga is no exception. AI-based applications are popping up, the best known of which is AmigaGPT
by Cameron Armstrong. Hello Cameron.
Can you introduce yourself?Hi all! My name is Cameron Armstrong. I am turning 38 years old this year. I was born in 1987, the same year the Amiga 500 was born. I live in the city of Mandurah, a coastal city south of Perth, Western Australia. I work at a company called FTP Solutions (Nothing to do with File Transfer Protocol). I am a Full Stack Software Engineer there developing mine site monitoring software called IMS. My hobbies are mainly nerdy stuff - collecting and tinkering with retro hardware, and playing with the latest AI running local models on my hardware at home. I love AI, and am excited to see the future, because it feels like we are already living in the age of sci-fi! Where does
your pseudonyms "SacredBanana" and "Nightfox" come from?Ha ha, ROFL.. sacredbanana goes back a long way. Back circa 2000 when I was at Roleystone District High School we used to eat during recess and lunch in the undercover area where the canteen was. We noticed someone had thrown a banana peel onto the ceiling and it had gotten caught underneath one of the metallic support beams so it got stuck there for a very long time, and it was far too high up for anyone to remove it. It stayed up there for years so me and my friends started to worship it like a god. Nightfox was just me thinking sacredbanana is a bit of a weird username so for my Amiga presence in several BBS boards I decided to create a new handle. I thought Nightfox was an awesome unique name but by sheer coincidence someone else in the BBS was using that exact same handle, and there were no security precautions preventing more than one person using the same handle, so people thought that I was the well established Nightfox when I was just new to the server. The original Nightfox messaged me saying he is the original and I said this is just a coincidence but I ended up leaving to avoid conflict but I ended up sticking with the name in Amiga forums and Discord (Sorry Nightfox, but I did create this name with my own brain). Now I just don't care if I'm referred to as sacredbanana, Nightfox or my real name. When and
how did you discover the Amiga?My dad owned an Amiga 500 so that was the computer we had at home until we got a Windows 95 PC circa 1997. 99% of our games were pirated so I assumed all those cracktros were just a part of the game. How have
your Amiga configurations evolved so far?Well, dad gave away our Amiga to a student of his (he was a high school teacher). So about 10 years ago, I wanted to get back into Amiga so I bought a second hand A500 but quickly decided a composite video connection was not good enough so bought a Commodore 1084S monitor and RGB DB-9 cable and finally able to once again experience Amiga in that razor sharp video I had grown up with. I began doing assembly programming with my Amiga following the excellent Amiga hardware programming series on YouTube by Photon of Scoopex. I then got a hard drive and installed AmigaOS 3.1 on it but I realised the ECS chipset was not enough and needed the AGA chipset, so I bought an Amiga 1200 and was able to take my Amiga experience to new heights, and when I installed AmigaOS 3.9 it completely blew my mind what kinds of apps you could run on this machine. I then decided to accelerate my Amiga so made the expensive purchase of an ACA 1233n upgrading my CPU from a 68020 @14Mhz to a 68030 @30Mhz and adding 128Mb of fast RAM. The performance boost was breathtaking. I then decided to take my Amiga online and gave it Wi-Fi and USB capabilities. A few years later I got an Apollo IceDrake accelerator which was amazing albeit unstable at times. I later got a PiStorm with Emu68 and that is where my Amiga is today. I also have a MiSTer FPGA which I have connected to a Sony Trinitron television which I still use for Amiga gaming sometimes. I also use various versions of AmiKit, Raspberry Pi, macOS, and Vampire. Did you
create or develop anything before AmigaGPT?I've developed plenty of software before AmigaGPT in general, but for the Amiga itself, really just something based off Photon's tutorial mentioned earlier. You are known
on Amiga for having created AmigaGPT. What was the genesis of AmigaGPT? What gave you the idea?ChatGPT friggin' blew my mind when it came out. Before ChatGPT came out my friend at work Jeremy showed me TalkToTransformer which was actually GPT 2. It was amazing and hilarious but when ChatGPT came out (officially GPT 3.5) it was a game-changer. All of a sudden you could converse with a robot like a human, and that fascinated me. This was the first time you could have a human-like conversation with a robot and it made me feel like we are living in the future. Very shortly after that I learned OpenAI made an API to allow third party apps to integrate with ChatGPT so I thought, "Hey, I'm interested in Amiga programming, and I have recently purchased the entire set of official Commodore Amiga ROM Kernel reference manuals... Let's see if I can be the first person to make an Amiga app that uses ChatGPT". Two months later, I released AmigaGPT 1.0. What were
the main technical challenges (hardware, operating system limitations, network connectivity, etc.) in
getting such a technology to work on the Amiga?Boy oh boy. You have no idea the stress I had to endure. Firstly I tried to make it AmigaOS 1.3 compatible. I gave that up quickly after learning 99% of networking apps need to be 3.1 compatible so I switched to that. I then discovered OpenAI does not allow plain insecure HTTP connections so I have to use HTTPS instead. It's a godsend that AmiSSL 5 exists that provides modern OpenSSL compatibility but then of course I had to learn how to create SSL connections in the C language etc. It was a huge learning curve. And as for the GUI elements, I discovered all the available GUI elements (classes via ReAction) that were available in AmigaOS 3.2, I used those... completely ignoring the people who don't want to use the latest AmigaOS. I later started to experience random crashes and I had no idea why. I got so stressed over this. I asked for help in the EAB forum and someone said the default 4k of stack memory was far too small. Even the AmiSSL library I was using requires 8k of stack so no wonder my app crashed. I now set the stack size for AmigaGPT to 32768 bytes and it's stable now. I also needed a way of parsing the JSON responses from OpenAI and I was sick of parsing them manually in C so I ended up getting the third party json-c library to compile for Amiga so use that and I managed to get my Amiga port merged into the official json-c project for others to benefit from. Later came the outrage from the community that it required AmigaOS 3.2 to run. So AmigaGPT 2.0.0 came out which uses MUI as its GUI framework so it runs as low as AmigaOS 3.1. I was also as a consequence make it work for AmigaOS 4.1, MorphOS and, with hacks, ApolloOS. Did other
people help you in the development of AmigaGPT? Have you had contact with people from ChatGPT?EAB. That forum was very useful when I got stuck. But, funnily enough, when I was able to develop AmigaGPT to a certain level, I could ask AmigaGPT itself what the problem is. Now, can
you tell us more about AmigaGPT, including its features, what it can do, your future development plans, etc.?I have been focusing on its ARexx capabilities lately. The installer app can now install a separate daemon app called AmigaGPTD which can listen to ARexx commands from any other application and respond to them. I'm hoping future versions of the OS can make use of this to directly integrate AI into the Operating System itself. To make
full use of AmigaGPT, you need a ChatGPT key. Is it possible to do without one or include one for free?Currently, no. It uses OpenAI servers only and it requires payment (not me). I am working on a version that will enable you to connect to your own local server running something like LM Studio. But this does require a modern PC/Mac to run this on your local network and still will never be as intelligent as something from OpenAI (at least for now). Also working on using other services such as Google or Claude but again, these will not be free unfortunately. Bear in mind I collect zero money from any of this. In your
opinion, who is AmigaGPT aimed at? Is it purely a curiosity project or do you see a real use for
current Amiga users?I used to see it as a fun little experiment, but now that I have added the framework for full OS integration, I am hoping this gets used for that too. AmigaGPT is
available on almost all Amiga systems except AROS. Do you plan to make a version for this operating system as well?I made it work for ApolloOS which is AROS based. Maybe it does work? Try it and let me know :). I don't see a reason why regular AROS would not work as long as it supports MUI. There is currently a bug in the AROS TextEditor Custom Class making the text all painted over and unreadable T_T so I had to use a simpler class for ApolloOS but I do assume the exact same fix will be automatically applied for regular AROS users too. Please try it out and let me know. =D What
development tools do you use on the Amiga? What are the strengths and weaknesses of these tools
compared with those on other platforms?Platform: MacBook Pro M1 Max. IDE: was Visual Studio Code but now Cursor. Build Environment: I made my own. Docker based. If you're a nerd, check out github.com/sacredbanana/AmigaSDK-gcc. That's the actual build environment via Docker. See build_os3.sh in the AmigaGPT repo if you want to know how it's actually used. Basically I took Bebbo's AmigaOS 3 compiler and added any extra libraries I found useful/required by AmigaGPT. Basically, if you install Docker on your machine, you'll be fine to compile AmigaGPT. You've
also created "Amiga Guru", a GPT template trained on Amiga documentation. How does this change development
for the Amiga? Is it really useful for you, or even for other people?Amiga Guru was created because ChatGPT sometimes struggled to answer basic Amiga development questions. Sometimes basic ones like "What is GimmeZeroZero?" which is mentioned in the manuals but ChatGPT would often get wrong. Also ARexx questions, it would almost always get wrong for some reason so I decided to give it a solid foundation with about 30 first and third party manuals and also a concatenation of the entire Autodocs of the entire SDK. It's a heck of a lot more accurate now. Not perfect, but much better. How do you
think artificial intelligence could influence the future of Amiga or retro development in general?This is what I am excited for. Since I have recently provided a direct interface between the OS and AmigaGPT, the potential is limitless, but it's up the the OS developers to make use of my interface. Imagine an OS where you can get it to analyse your startup-sequence for example, and inform you of issues or suggest your some improvements. Imagine an OS where as app crashes providing a stack trace and the OS itself can tell you in human language what went wrong. This is the Amiga I want for the future. They can do this right now if they use my interface. You are
also a mobile application developer (minotaurcreative.net/index.html).
Do you plan to port some of these applications to the Amiga?Ha ha no, my iOS projects are currently separate from Amiga. Maybe one day. What do you
think of the relaunching of AmigaOS (3.2+) development if no software is made for it?It's sad honestly. To quote Dan Wood "Why release new versions of the operating system if no software will make use of the new features?". I've had to introduce backwards compatibility as of AmigaGPT 2.0.0. It basically made me rewrite AmigaOS 3.2 kernel code with MUI which is more backwards compatible. In the ideal world, I would not need to do this at all. I'd just need to wait for users to upgrade. Unfortunately, this will never happen, especially for AmigaOS 4.1 or MorphOS where ReAction from AmigaOS 3.2 will never become available. It's a jungle. However, I have come to love MUI and am glad that it now uses that. What are
your next projects, either for the Amiga or in terms of mobile development?I'm working on an AI engine for creating text adventures on the Amiga, similar to the style of the Magnetic Scrolls games. Early days now, expect more in the future. What do you
think of the Commodore takeover?Look, I loved Commodore, and I love Christian "Perifractic" Simpson, and have been watching him for years. Peri buying Commodore, wow, huge news. Do I have faith? Thats a whole other question. The C64 stuff I'm sure he can nail. The Amiga stuff... I doubt he can even touch. Can he eventually claim Amiga rights from Cloanto and Hyperion? Honestly? No. I truly wish he could but this is an impossible task. But he is not aiming to reclaim Amiga yet so let's just see how well his C64 campaign goes first. But, I gotta say, Thomas Middleditch (Richard Hendrix from Silicon Valley), absolutely LOVES the Amiga and him being appointed as the CCO of Commodore is such a great fit. If Thomas Middleditch gets to have a big input as to what should happen, then I have faith Commodore will become great again. What do you
think of the next-generation Amiga systems (MorphOS, AROS, AmigaOS 4) and the Apollo team's projects?They are great. My AmigaGPT.lha file on Aminet already includes the AmigaOS 3, 4.1 and MorphOS binaries. Three separate compiled apps (AROS users should be able to run the AmigaOS 3 version). I'll give my honest brutal opinion here. AmigaOS 3 is where the exciting development is. AmigaOS 4 is dead. MorphOS is continuing but they refuse to give licenses to people emulating PowerPC hardware and even I am limited to the demo version of their OS because I am only emulating MorphOS with QEMU and they refuse to take my money for a full version. If MorphOS was to allow customers to pay for their software if they don't have real PowerPC hardware that would be a massive improvement. Is there a
question I didn't asked you, and that you want to answer to?Why is Amiga so great? Because Amiga is life. A last message
for the Amiga community?Please, if you don't like AI, please just not use it. No need to send people like myself hate or threats just because you believe AI does not belong on the Amiga. I produce this out of love. I want to believe the Amiga community is full of respect but I've received a lot of hate on EAB and I just want this community to love and support each other. <3
|
||||||||||||||||||||||||||||||||||||||||||||