I and my team have started the development of the Forge app in September 2022. I would like to share some experiences from the early days of our work. This short text will talk about challenges we have encountered, and they were all related to limits in the Forge platform. So, let us begin.
Let’s journey together to the era of my early years.
The first challenge we faced was data processing. 200 KB is called big data analysis in Forge, 25 seconds of execution time is very resource-consuming even if executing sleep and waiting for the request results. I will call all these Commodore limitations because it feels like Forge’s limitations are reminiscent of the early 80s, when we had Commodore Personal Computers. Please note that this text is not a critique; quite the opposite. My uncle had this PC and I enjoyed playing computer games on his Commodore 64, it was a good piece of equipment.
COMMODORE 64 it was a good piece, right?
Processing data using artificial intelligence takes time. So, we decided to route requests from Commodore to AI, specifically nlpcloud. In our proof-of-concept approach, we created code that fetched requests from Commodore, processed them using AI, and stored the results on our proxy server. Gathering all the computations took about five days the first time around because nlpcloud is only a little bit more modern Amiga type PC with a limit of 2 requests per second.
When all the data was collected and stored on our proxy server, we were able to run the Commodore application again, and our proxy returned results within the 25-second execution time limit. We were pleased that our idea was working.
But not everything went smoothly because we found that the amount of text on 3000 screens exceeded the 200 KB function parameter limit. This was reminiscent of the days when Commodore PC5 had a mere 256 KB of RAM. Additionally, we couldn’t compute too fast, because one storage operation takes around 0,7 seconds to read/write – well Commodore is using magnetic tapes as storage, so this is the understandable technical limit in the 80s.
Nevertheless, we needed to find a solution.
Bringing in a Technical Genius to Tackle Commodore Problems
Maciej Jezierski – our CTO (genius hero)
He helped us resolve all the Commodore issues, although none of us in the team fully grasped how he achieved it. He tried several times to explain it, but we failed to understand.
Adventures in AI: Exploring the Flexibility and Potential of the Forge Approach
In our work, we use various AI technologies, such as nlpcloud and gptchat. When more time consuming tasks are considered, our own code in between is usually required to connect different vendors together. This gives us flexibility to overcome any limitations we encounter. Of course, it breaks the idea of fully cloud application.
Despite these challenges, we consider the Forge approach brilliant as an idea, as it simplifies legal part of app development, security, and availability, but to make it work it is required to upgrade Commodore to at least i386 PC, so memory limits will change units from KB to MB and processing units will change from kHz to MHz. Then, most of the logic could run within our Forge application, rather than on our proxy server.
Of course, we would still need to self-host some AI solutions, but that doesn’t diminish the advantages of the Forge approach. After all, we only send non-personalized fragments of field names for processing, ensuring that data is not directly associated with any specific customer.