{"id":54,"date":"2023-04-24T09:09:53","date_gmt":"2023-04-24T09:09:53","guid":{"rendered":"https:\/\/bonewitz.net\/blog\/?p=54"},"modified":"2023-04-25T10:44:56","modified_gmt":"2023-04-25T10:44:56","slug":"bringing-chatgpt-to-the-apple-newton-messagepad-2000-a-vintage-tech-adventure","status":"publish","type":"post","link":"https:\/\/bonewitz.net\/blog\/index.php\/2023\/04\/24\/bringing-chatgpt-to-the-apple-newton-messagepad-2000-a-vintage-tech-adventure\/","title":{"rendered":"Bringing ChatGPT to the Apple Newton MessagePad 2000: A Vintage Tech Adventure"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"771\" src=\"https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081603670-1024x771.jpg\" alt=\"\" class=\"wp-image-59\" srcset=\"https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081603670-1024x771.jpg 1024w, https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081603670-300x226.jpg 300w, https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081603670-768x578.jpg 768w, https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081603670-1536x1157.jpg 1536w, https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081603670-2048x1542.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p>As a vintage tech enthusiast, I recently acquired an Apple Newton MessagePad 2000, one of the groundbreaking personal digital assistants (PDA) of its time. I&#8217;ve been excited to explore its capabilities and find ways to enhance its functionality by integrating modern technology. In this blog post, I&#8217;ll discuss how I managed to bring OpenAI&#8217;s ChatGPT to the Newton MessagePad 2000 over Wi-Fi, providing users with a powerful AI assistant on their beloved device.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Journey Begins<\/h2>\n\n\n\n<p>One of my primary goals with the Newton was to get it online. However, loading any modern web service proved to be too much for the device. Then I started playing with ChatGPT and realized it would be a perfect match for the Newton due to its text-only nature.<\/p>\n\n\n\n<p>I searched for a compatible Wi-Fi card and initially tried a Lucent Technologies WaveLAN Turbo Bronze card. After many hours, I discovered it wouldn&#8217;t work. Eventually, I found a WaveLAN Silver card (<a href=\"https:\/\/www.extremenetworks.com\/extreme-networks-blog\/wi-fi-nostalgia-part-2-legacy-client-devices\/\" data-type=\"URL\" data-id=\"https:\/\/www.extremenetworks.com\/extreme-networks-blog\/wi-fi-nostalgia-part-2-legacy-client-devices\/\">converted<\/a> to WaveLAN Gold) and successfully connected the Newton to the internet. I also tested the connection using an EtherLink III card to ensure it would work.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"771\" src=\"https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081630111-1024x771.jpg\" alt=\"\" class=\"wp-image-61\" srcset=\"https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081630111-1024x771.jpg 1024w, https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081630111-300x226.jpg 300w, https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081630111-768x578.jpg 768w, https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081630111-1536x1157.jpg 1536w, https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081630111-2048x1542.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Setting Up the Telnet Server<\/h2>\n\n\n\n<p>To create a bridge between the Newton and ChatGPT, I decided to set up a telnet server using Python and asyncio. Initially, I experimented with connecting to the ChatGPT CLI tool but opted to use the API directly with Python instead. On the Newton, I used the PT100 program to connect to the telnet server, adjusting the screen settings to optimize the experience:<\/p>\n\n\n\n<ul>\n<li>Font: Minico<\/li>\n\n\n\n<li>Size: 18<\/li>\n\n\n\n<li>Screen Height: 80<\/li>\n\n\n\n<li>Screen Width: 45<\/li>\n\n\n\n<li>Scroll Back: 500<\/li>\n\n\n\n<li>Screen Update Rate: 100<\/li>\n<\/ul>\n\n\n\n<p>I referred to some guides online, such as <a href=\"http:\/\/applenewton.co.uk\/2018\/04\/22\/wifi-connection-setup-for-newton-2x00-and-emate-300\/\">WiFi Connection Setup for Newton 2&#215;00 and eMate 300<\/a>, to help with the setup process. Unfortunately, my Linksys WRT54G router running DD-WRT did not work with the Newton. Instead, I had to set up an AirPort Express A1264. In the future, I&#8217;d like to find a solution that doesn&#8217;t rely on specific hardware.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The <a href=\"https:\/\/github.com\/jbfly\/newtonGPT\" data-type=\"URL\" data-id=\"https:\/\/github.com\/jbfly\/newtonGPT\">NewtonGPT<\/a> Project<\/h2>\n\n\n\n<p>The main component of this project is the <a href=\"https:\/\/github.com\/jbfly\/newtonGPT\" data-type=\"URL\" data-id=\"https:\/\/github.com\/jbfly\/newtonGPT\">newtonGPT.py<\/a> script. This script sets up and runs the telnet server, listens for incoming connections from the Newton MessagePad 2000, processes user messages, sends them to the ChatGPT API, and returns ChatGPT&#8217;s responses to the Newton device over the telnet connection.<\/p>\n\n\n\n<p>As the user sends messages from their Newton device, the script appends them to the conversation history and sends the entire history to the ChatGPT API. This ensures that ChatGPT has the necessary context to provide relevant and coherent responses. Once the response is received, it&#8217;s sent back to the Newton device, where the user can read it and continue the conversation.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"771\" height=\"1024\" src=\"https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081458111-3-771x1024.jpg\" alt=\"\" class=\"wp-image-62\" srcset=\"https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081458111-3-771x1024.jpg 771w, https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081458111-3-226x300.jpg 226w, https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081458111-3-768x1020.jpg 768w, https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081458111-3-1157x1536.jpg 1157w, https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081458111-3-1542x2048.jpg 1542w, https:\/\/bonewitz.net\/blog\/wp-content\/uploads\/2023\/04\/PXL_20230424_081458111-3-scaled.jpg 1928w\" sizes=\"(max-width: 771px) 100vw, 771px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Using ChatGPT on the Newton MessagePad 2000 is a dream come true. The Newton&#8217;s handwriting recognition was far ahead of its time, and imbuing it with the power of ChatGPT brings it into the modern age. This project showcases the potential of combining vintage technology with cutting-edge AI advancements, paving the way for more innovative applications and use cases. The journey to connect the Newton to ChatGPT demonstrates the excitement and challenges of working with vintage tech, and the satisfaction of breathing new life into these devices.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Apple Newton with ChatGPT\" width=\"960\" height=\"540\" src=\"https:\/\/www.youtube.com\/embed\/v6pVRb_KZ-8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">See it in action!<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Introduction As a vintage tech enthusiast, I recently acquired an Apple Newton MessagePad 2000, one of the groundbreaking personal digital assistants (PDA) of its time. I&#8217;ve been excited to explore its capabilities and find ways to enhance its functionality by integrating modern technology. In this blog post, I&#8217;ll discuss how I managed to bring OpenAI&#8217;s [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":63,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[7,9,8],"_links":{"self":[{"href":"https:\/\/bonewitz.net\/blog\/index.php\/wp-json\/wp\/v2\/posts\/54"}],"collection":[{"href":"https:\/\/bonewitz.net\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bonewitz.net\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bonewitz.net\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bonewitz.net\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=54"}],"version-history":[{"count":6,"href":"https:\/\/bonewitz.net\/blog\/index.php\/wp-json\/wp\/v2\/posts\/54\/revisions"}],"predecessor-version":[{"id":69,"href":"https:\/\/bonewitz.net\/blog\/index.php\/wp-json\/wp\/v2\/posts\/54\/revisions\/69"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bonewitz.net\/blog\/index.php\/wp-json\/wp\/v2\/media\/63"}],"wp:attachment":[{"href":"https:\/\/bonewitz.net\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=54"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bonewitz.net\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=54"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bonewitz.net\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=54"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}