The Strategic Computing Program (SCP) was a 10-year-long DARPA-funded research program launched in 1983 (here). Its goal was to develop AI technologies for military applications, costing over $1 billion. As my AI Professor Patrick Greussay put it in 1996, think about it as a bunch of researchers promising to deliver to the U.S. Army a chip with the general intelligence of a dog. Although in its 2015 report (here), DARPA claims that SCP was a success, undeniably, AI entered its third and last to date glaciation era during the 90s.

As we know today, the rules and knowledge representation-based AI (think LISP, PROLOG, Lambda calculus, etc.) are still dead frozen and left their spot to statistics. After all, we now have a lot of computing power and data compared to the 80s. All this happened with Ronald Regan’s Star Wars and the invasion of the Japanese Fith generation computers in the background! (here and here). You can find more information on the era in The AI War: The Real Story Behind the Strategic Computing Program by Martin H. Greenberg (1985) or Strategic Computing: DARPA and the Quest for Machine Intelligence, 1983-1993 by Alex Roland and Philip Shiman.

Today, in the TED talk – The Inside Story of ChatGPT’s Astonishing Potential, linked below – Greg Brockman (co-founder and CTO at OpenAI) presents the next level of integration of ChatGPT and other services via APIs, making the AI language model the higher abstraction level. I like the idea, and it makes sense; after all, we humans are interfacing using our language, and in some way, we are self-programming and exchanging programs using the very same language.

I am sure you have already used ChatGPT. If you asked it to do anything else than predicting the following most-probable answer to your question – what an AI language model does –, for example, to draw a simple image to illustrate a proposed solution, you may have noticed that it used to respond with a code describing the image, not the image (think of it as a PostScript or VML code). And in general, when asked to go one step further, it often answers I am an AI; I can’t do it. Exposing and interconnecting other services via the natural language interface should make these actions possible and ease further their use by humans. I am looking forward to it.

Early in his speech, Brockman uses the expression just like a human could to describe these new actuation capabilities. This really means that. And we all know – and are warned about it – that generative AI is as good as its training, which means it can be wrong. Just like a human could. These systems are not perfect, and you cannot overly rely on them, is another statement used in the emotional part of Greg’s speech – every good show needs one 😊. Nothing is truer! After all, garbage in, garbage out, and we know the Internet is full of it and that supervisors are also full of it. So indeed, you should not blindly trust these new-age Clippy (the infamous Microsoft Office 2000 assistant – here).

To learn more about AI language models, check out this Computerphile video with Rob Miles. It is a good entry point to your exploration.

I asked ChatGPT (GPT-3.5 architecture, knowledge cutoff date at September 2021) and Bard (Google’s new spin on the AI assistant) to execute a few simple coding tasks. Both answered with plausible code, but both were wrong. With these new feature additions, they could have noticed the errors by compiling/interpreting, running their answers, and checking the output – if any. Something I could not request until now, even for something as simple as running the graphic code and showing me the result (the image). OK, these assistants suck at coding, but what about simple – but niche – knowledge? They must shine, right? After all, everyone seems to be flummoxed by ChatGPT’s erudition. Let’s check, shall we?

You may not know it yet, but I spent several years collecting all existing C-programmable pocket computers ever produced – yeah, nobody is perfect 😊. So, I asked both AI assistants to give me the list (I am providing my comments inline and underligned):

Q: Can you please give me the exhaustive list of C-programmable pocket computers?

CharGPT A:

Sure! Here is an exhaustive list of pocket computers that are programmable in the C programming language:

1. HP 50g this is incorrect

2. HP Prime this is incorrect

3. Casio fx-CG50 this is incorrect

4. TI-Nspire CX II CAS this is incorrect

5. Numworks N0110 this is incorrect

Please note that this list may not be exhaustive as there might be other pocket computers that are programmable in C, but these are some popular examples. Additionally, availability and features may vary depending on the model and version of the pocket computer. It’s always best to consult the manufacturer’s documentation for specific information on programming capabilities and features of each device.

Bard A:

Here is an exhaustive list of C-programmable pocket computers:

* Sharp PC-1211 (1979) this is incorrect

* Sharp PC-1212 (1979) this is incorrect

* Sharp PC-1500 (1980) this is incorrect

* Sharp PC-1600 (1981) this is incorrect

* Sharp PC-1700 (1982) doesn’t exist

* Sharp PC-1800 (1983) doesn’t exist

* Sharp PC-1900 (1984) doesn’t exist

* Sharp PC-2000 (1985) doesn’t exist

* Sharp PC-2100 (1986) doesn’t exist

* Sharp PC-2200 (1987) doesn’t exist

* Sharp PC-2300 (1988) doesn’t exist

* Sharp PC-2400 (1989) doesn’t exist

* Sharp PC-2500 (1990) this is incorrect

* Sharp PC-2600 (1991) a calculator

* Sharp PC-G850V (2001) this is correct!

{no mention of CASIO, the only other C-programmable pocket computer manufacturer}

These pocket computers were all programmable in C, and they were all popular in the 1980s and early 1990s. They were used for a variety of tasks, including programming, gaming, and data analysis.

A very poor result in both cases. Is AI overthinking? Maybe, since the operating system of a Numworks N0110 for example is written in C++ (which, by the way, is not C 😊), and one could argue my grading. So, I refined my question as follows:

Q: Let me refine the ask. I meant, pocket computers that can be programmed in C without requiring cross-platform development. In other words, programmed in C natively.

Bard A:

I apologize for the misunderstanding. Here is a list of pocket computers that can be programmed in C natively:

* Casio FX-9860GII this is incorrect

* HP Prime this is incorrect

* TI-84 Plus CE this is incorrect

* TI-84 Plus CE-T this is incorrect

* TI-84 Plus CE-T Python this is incorrect

These pocket computers all have a built-in C compiler {this is incorrect. The natively C-programmable models use a C interpreter}, so you can write and compile C code directly on the device. This makes it easy to develop and test your code without having to connect the device to a computer.

It is important to note that these pocket computers are not as powerful as a traditional computer, so you will need to be careful about the size and complexity of your code. However, if you are looking for a portable device that you can use to program in C, these are some of the best options available.

ChatGPT A:

Certainly! There are several options for pocket computers that allow you to program in C natively without requiring cross-platform development. Here are a few examples:

1. PinePhone: The PinePhone is a Linux-based smartphone that runs various Linux distributions such as Ubuntu Touch, Mobian, and Manjaro ARM. It has an open-source bootloader and allows you to install your own operating system. You can develop and run C programs directly on the PinePhone using a C compiler, such as GCC, which comes pre-installed on most Linux distributions. {this is incorrect, not a pocket computer per se, but you could argue}

2. Raspberry Pi Pico: The Raspberry Pi Pico is a microcontroller board based on the Raspberry Pi RP2040 chip. It is programmed using MicroPython or C/C++ and provides a low-cost and compact option for embedded systems development. You can write C programs for the Raspberry Pi Pico using the RP2040 SDK, which includes a C compiler and development tools. {this is incorrect, not a pocket computer per se, but you could argue}

3. Arduino Due: The Arduino Due is a microcontroller board based on the Atmel SAM3X8E ARM Cortex-M3 CPU. It has a 32-bit architecture and runs at 84 MHz, making it suitable for more complex applications. You can program the Arduino Due in C using the Arduino IDE, which provides a C/C++ compiler and a rich library of functions for hardware interfacing. {this is incorrect, not a pocket computer per se, but you could argue}

4. Pyboard D-series: The Pyboard D-series is a microcontroller board based on the STM32 microcontroller by STMicroelectronics. It runs MicroPython, a Python-based firmware that allows you to write C code directly using the built-in MicroPython C API. This makes it possible to develop and run C programs natively on the Pyboard D-series without requiring cross-platform development. {this is incorrect, not a pocket computer per se, but you could argue}

These are just a few examples of pocket computers that allow you to program in C natively. Depending on your specific requirements and constraints, there may be other options available as well. It’s always a good idea to research and choose a platform that best fits your needs and preferences.

Not much better. My point is these AI assistants are easy to use; they sound like a human and are often wrong as a human. For instance, many could argue with me about some of my comments, claiming that I am wrong. Nonetheless, they are here succeeding where Clippy miserably failed 20 years ago. I see these tools as valuable in exploring new topics, always keeping in mind they can be full of it – errors, I mean –just like we humans could 😊.

Oh, I forgot. Do you want the answer to the question? If so, stay tuned; I will cover this fascinating topic soon.