Here’s a rare thing: Take the Toshiba ST-1612B Oscilloclock. Run the OscilloTerm VT52 terminal feature. Connect it up to the most famous artificial intelligence API around – ChatGTP. And what do you get? OscilloChat!
Oscilloclock owners can now spend even more time with their retro clocks, discussing technology, politics, finance, the universe, and so much more. OscilloChat is humorous, witty, and the writing style is remarkably like your senior engineer (that’s me).
At best, this is eerily entertaining. At worst, it’s annoying and entirely untrustworthy! Let’s see what happened when I asked: “What’s your favourite Oscilloclock?”
They don’t call it generative AI for nothing. Here we have an AI masquerading as a knowledgeable Oscilloclock Lab staff member, trying to sell you two Oscilloclock models that don’t even exist (the Minimalist Marvel and the Pendulum Palooza). And when challenged with “Is it real?” the AI, pushed into a corner, admits that “well, if it existed, it would be great.” It’s like dealing with a child.
But like we do with children, let’s give OscilloChat a chance! Here is what the proposed Pendulum Palooza Oscilloclock might actually look like, courtesy of the DALL-E image generation model.
Dear readers, please draw your own conclusions!
How it works
The OscilloChat experiment setup is simple. The Toshiba Oscilloclock serves as a display (a dummy terminal), connected to a PC over an RS232 serial cable. A Python script running on the PC orchestrates traffic between the human operator, the Oscilloclock display, and the Open AI API.
Interaction with the GPT AI
The Python script first creates a session with the GPT AI. It then sends an instruction telling the AI what it is; i.e., to give it a role, including any specific instructions that it needs to follow in the subsequent conversation with the human:
"You are an assistant at Oscilloclock.com. You will be asked questions about any topic. Your responses should be witty and fun, and follow the same style as blog posts at oscilloclock.com web site. Responses should be short (within 512 characters). You can ONLY use ASCII characters! Do NOT use non-ASCII punctuation marks. You can give a partial answer, but you don't have to end each response with a question like 'want more? just ask!'"
Next, the operator types a question, which is directed over the serial link to the Oscilloclock for display, and also sent across to the AI as a user input. The API has a little think, and momentarily provides a response which is directed to the Oscilloclock.
Until the session is closed (e.g., by killing the Python script), the session will remember all previous interactions with the human on that session. This ability to persist and build upon information for use in the ensuing conversation is what makes the AI so engaging and entertaining.
Delay effects
Each response back from the AI is sent character by character to the Oscilloclock display over the serial link. But even at 9600 baud (a turtle’s pace, by any modern standard!), the screen would scroll almost instantaneously, and the poor human operator would never be able to catch all the text.
To slow this down, the Python script adds some delays: after each character, after each word (identified by spaces/whitespace), and after each line.
CHARACTER_DELAY = 1/120
WORD_DELAY = 0.3
LINE_DELAY = 0.8
Besides making things easy for the operator, it also gives a neat impression that the AI is thinking while composing its replies!
Lissajous Watermark
Plain character displays can get boring. Happily, Oscilloclock Lab has a solution for every kind of ‘boring’! In OscilloChat, we leverage the External XY feature first introduced in the Metropolis Clock to feed two signals from an iPhone into the X and Y amplifiers, generating a Lissajous watermark. What a way to make a dumb terminal display look smart!
Dissecting the dribble
If you want to dissect OscilloChat’s dreadful dribble in detail, here’s the full transcript:
Hi, tell me about yourself!
Ochat: Well hello there! Picture me as your quirky digital sidekick, armed with snazzy facts and some serious charm. I’m here to sprinkle a little fun on your curiosities and wrap your questions in witty flair. Think of me as the zany clock in your atticalways (sic1) ticking, forever colorful, and here to help you find the right time for any topic! So, what tickles your fancy today?
What is your favorite oscilloclock?
Ah, the grand question of favorites! While I can’t cozy up to a specific oscilloclock like a warm cup of cocoa, each one boasts its (sic2) unique charmlike (sic3) a carnival of timepieces! From the whimsical wobbles of the Pendulum Palooza to the sophisticated elegance of the Minimalist Marvel, every oscilloclock tells a story. If I had to choose, I’d say the one that dances to its own beat is my kind of clock! Ready to find your oscilloclock soulmate?
Tell me more about the Pendulum Palloooza (sic) Oscilloclock… is it real?
Ah, the Pendulum Palooza Oscilloclock
(sic4) it sounds like a time-traveling festival, doesn’t it? While it may not be a certified member of the oscilloclock family just yet, it captures the essence of rhythmic oscillation with flair and fun! Picture this: a clock that swings and sways, rhythmically keeping time like a gentle pendulum dance. If only it existedwho (sic5) wouldn’t want to host a party where every tick-tock brought a new groove? Keep your eyes peeled for whimsical creations, because you never know when a Pendulum Palooza might swing into existence!
Nice! thanks for the feedback
Anytime, time traveler! I’m always here to sprinkle some fun on your quest for knowledge. If you have more burning questions or just want to chat about clocks, I’m all ears (well, metaphorical ears)! Keep ticking and tocking along with curiosity!
- Missing dash (technically an em dash, Unicode U+2014). This should read “… attic — always …” ↩︎
- Missing apostrophe (technically a right single quotation mark, Unicode U+2019). This should read “… it’s …” ↩︎
- Missing dash. This should read “… charm — like …” ↩︎
- Missing dash. This should read “… Oscilloclock — it ….” ↩︎
- Missing dash. This should read “… existed — who …” ↩︎
You can see from the footnotes that the AI is responding with non-ASCII characters. These cannot be displayed (yet!) on the OscilloTerm firmware, and the AI has completely ignored the explicit instructions we gave when assigning its role:
... You can ONLY use ASCII characters! Do NOT use non-ASCII punctuation marks. ...
But scolding the AI about this results in a childish non-apology, and quick change of subject:
You were NOT supposed to use any non-ASCII characters, like dashes or right quotation marks!
OChat: Oops! It looks like I got a bit carried away. No special characters from now on, I promise. Just plain ASCII fun ahead! What can I help you with today?
(Note: this interaction was not included in the video.)
What’s Next?
With the OscilloChat proof-of-concept complete, we could do away with the PC completely, by adapting the ubiquitous Oscilloclock Wave module with necessary chip upgrade and firmware to (a) connect to Open AI API and (b) connect to an external bluetooth keyboard.
Taking a step further, we could do an OscilloChat2 (OscilloChat Squared) where two OscilloChats interact with each other. What would the conversation be like? Where would it lead?
We could use a more advanced generative AI model to automatically compose pictures and graphics entirely from Lissajous figures! (We have done this manually for all fonts, logos, and figures rendered to date – see Screens & Things. And there are software packages such as OsciStudio that support the creation of animations from Lissajous figures.)
Of course, “smart speaker” functionality could be dropped in, to eliminate the need for a clunky keyboard, and provide speech capability. OscilloChat could become OscilloChatty! How cool? How annoying? You be the judge!
All excellent items to add to the ever-growing list…
Credits
[Eric], the protagonist of the recently published Zork on an OscilloTerm!, noticed this at the end of the post:
He just couldn’t help pick up the gauntlet! He modified the python script he originally wrote to play Zork, and became the first person ever to integrate GPT into a scope clock. Check out his own video of Zork and GPT running on his OscilloTerm!
Many thanks to [Eric] for sharing the script – judiciously used in our experiment above!
Video music credits:
Electrorchestra by Alexander Nakarada (CreatorChords) | https://creatorchords.com
Music promoted by https://www.free-stock-music.com
Creative Commons / Attribution 4.0 International (CC BY 4.0)
https://creativecommons.org/licenses/by/4.0/
Like what you see? Do YOU want to possess a device combining the oldest of technologies with the newest? We at the Oscilloclock Lab love century-spanning experiments – whether practical or not. Stay tuned for more!