Suramya's Blog : Welcome to my crazy life…

January 22, 2025

ELIZA Resurrected using original code after 60 years

If you have been following the AI chat bot news/world then you would have heard the name ELIZA come up. Eliza was the world’s first chatbot created over 60 years ago by MIT professor Joseph Weizenbaum and was the first language model which a user could interact with. It had a significant impact on the AI world (Actual AI research not the LLM wanna be AI we have right now) and was the first to attempt the Turing test. It was originally written in a programming language invented by Weizenbaum called the Michigan Algorithm Decoder Symmetric List Processor (MAD-SLIP) and the pattern matching directives were provided as separate scripts. Shortly after the initial release it was rewritten in LISP which went viral. Unfortunately the original code in MAD-SLIP went missing till recently soon after that.

One of the most famous ELIZA scripts was called Doctor that emulated a psychotherapist of the Rogerian school (in which the therapist often reflects back the patient’s words to the patient). Much to his surprise Weizenbaum found that folks attributed human-like feelings to the computer program. Wikipedia explains how the software worked:

ELIZA starts its process of responding to an input by a user by first examining the text input for a “keyword”.[5] A “keyword” is a word designated as important by the acting ELIZA script, which assigns to each keyword a precedence number, or a RANK, designed by the programmer.[15] If such words are found, they are put into a “keystack”, with the keyword of the highest RANK at the top. The input sentence is then manipulated and transformed as the rule associated with the keyword of the highest RANK directs.[20] For example, when the DOCTOR script encounters words such as “alike” or “same”, it would output a message pertaining to similarity, in this case “In what way?”,[4] as these words had high precedence number. This also demonstrates how certain words, as dictated by the script, can be manipulated regardless of contextual considerations, such as switching first-person pronouns and second-person pronouns and vice versa, as these too had high precedence numbers. Such words with high precedence numbers are deemed superior to conversational patterns and are treated independently of contextual patterns.[citation needed]

Following the first examination, the next step of the process is to apply an appropriate transformation rule, which includes two parts: the “decomposition rule” and the “reassembly rule”.[20] First, the input is reviewed for syntactical patterns in order to establish the minimal context necessary to respond. Using the keywords and other nearby words from the input, different disassembly rules are tested until an appropriate pattern is found. Using the script’s rules, the sentence is then “dismantled” and arranged into sections of the component parts as the “decomposition rule for the highest-ranking keyword” dictates. The example that Weizenbaum gives is the input “You are very helpful”, which is transformed to “I are very helpful”. This is then broken into (1) empty (2) “I” (3) “are” (4) “very helpful”. The decomposition rule has broken the phrase into four small segments that contain both the keywords and the information in the sentence.[20]

The decomposition rule then designates a particular reassembly rule, or set of reassembly rules, to follow when reconstructing the sentence.[5] The reassembly rule takes the fragments of the input that the decomposition rule had created, rearranges them, and adds in programmed words to create a response. Using Weizenbaum’s example previously stated, such a reassembly rule would take the fragments and apply them to the phrase “What makes you think I am (4)”, which would result in “What makes you think I am very helpful?”. This example is rather simple, since depending upon the disassembly rule, the output could be significantly more complex and use more of the input from the user. However, from this reassembly, ELIZA then sends the constructed sentence to the user in the form of text on the screen

Now after over 60 years the original code written in MAD-SLIP has been resurrected by Jeff Shrager, a cognitive scientist at Stanford University, and Myles Crowley,an MIT archivist, who found it among Weizenbaum’s papers back in 2021. Which is when they started working on getting the code to run, which was a significant effort. They first created an emulator that approximated the computers available in the 1960’s and then cleaned up the original 420-line ELIZA code to get it to work. They published a paper: ELIZA Reanimated: The world’s first chatbot restored on the world’s first time sharing system on 12th Jan where they explain the whole process.

ELIZA, created by Joseph Weizenbaum at MIT in the early 1960s, is usually considered the world’s first chatbot. It was developed in MAD-SLIP on MIT’s CTSS, the world’s first time-sharing system, on an IBM 7094. We discovered an original ELIZA printout in Prof. Weizenbaum’s archives at MIT, including an early version of the famous DOCTOR script, a nearly complete version of the MAD-SLIP code, and various support functions in MAD and FAP. Here we describe the reanimation of this original ELIZA on a restored CTSS, itself running on an emulated IBM 7094. The entire stack is open source, so that any user of a unix-like OS can run the world’s first chatbot on the world’s first time-sharing system.

You can try it out: here.

Source:

– Suramya

November 7, 2024

Artificial Intelligence is not a reason to stop using your natural Intelligence

Filed under: Artificial Intelligence,My Thoughts,Tech Related — Suramya @ 6:59 PM

The more I see posts about some of the proposed use cases for AI the more I feel that some people just don’t want to use their brains and want to outsource all thinking to the ‘AI’. The latest example that triggered this post is screenshoted & Quoted below:

See BlockQuote Below the Image

Though malloc is a very useful function in c, it is not without its problems. The biggest is that it can be confusing for some to decide how much memory to allocate, needing complicated statements with sizeof . To solve this I propose a new alternative to malloc that utilizes the power of modern developments in Al, mallocPlusAI . The usage is simple.

int* x = (int*)mallocPlusAI(“Enough memory to store up to 5 integers”);

mallocPlusAI takes in a character array which is forwarded to a ChatGPT instance alongside an initial prompt “You are a memory allocator for a computer, and you need to tell me how many. bytes of memory I would need to accomplish a certain task. Make sure to give your response as only a whole number of bytes, do not provide any other text. Here is what I request: “

So instead of doing something like the following

5 * sizeof(int) + allocation overhead

Because apparently it is too hard to type 5 * sizeof() * Allocation Overhead, we will call an external API which brings the following downsides:

  • Which has a cost associated with it
  • Adds another layer of complexity & dependency to your application
  • Each ChatGPT query consumes an estimated 2.9 Wh of electricity, nearly ten times more than a standard Google search
  • Opens an avenue for attack where the remote prompt can be modified by a malicious actor to return incorrect values of size potentially causing the application to crash or leak data

Can someone please explain to me why you would use something like this instead of spending 2 mins thinking about what size of memory to assign?

– Suramya

October 22, 2024

Tech is not a replacement for human contact

Filed under: Artificial Intelligence,My Thoughts,Tech Related — Suramya @ 6:35 PM

The more I read about the kind of products these so call ‘AI Founders’ are coming up, the more I feel that they all need some serious therapy. The latest example of this is intouch.family which is an AI powered chatbot that calls your elderly parents so you don’t have to. I mean seriously? The official description is:

InTouch is a subscription service for seniors which regularly calls and keeps company to your parent, evaluates their well-being and alerts you if assistance is needed.

I get that we are all busy and it sometimes gets hard to call people and keep in touch, but anyone who thinks that AI is a replacement for the human touch especially in keeping up relationships needs to get their head examined.

I am quite bad at remembering birthdays and anniversaries except for close family and friends. When I was in college I thought that it would be nice if I could automate wishing folks Happy Birthday without having to actually wish them myself. So I wrote a program where I fed in all the birthday’s and the idea was that at a random time during the day it would email them a message wishing them. I even had a lot of enhancements planned, like use the ‘Poet’ program (it generated poems, based on certain criteria) and add it as part of the message to make it more personal. Spent a few days creating the program and it worked perfectly.

I was about to start using it and then realized that the whole point of wishing folks on their birthday was to keep in touch with them, not discharge an obligation. Especially if you have not talked to someone for a while, wishing them allows you to initiate a conversation. So I ended up changing the software to email me a reminder (This is in the days before Google Calendar and other reliable online calendars) so that I could call/email/text the person wishing them.

The whole idea behind technology is to make human contact easier, not to replace human contact. Telegrams allowed us to send urgent news quickly, then came phones that allowed us to talk to people who were far away, then we had VoIP/Voice Calls that allowed you to call without massive bills. Then came video calls such as zoom/Whatsapp etc that allow you to see the person you are talking to as well as hear them. In the near future we will have VR calls where you will feel that you are in the same room as the other person.

Unfortunately, most of the ‘AI’ services we see are being created/marketed as a replacement for human contact instead of as an aid to it. For example, instead of making friends to talk to, someone has created a AI ‘friends bot’ that you can share stuff with. (can’t find the link right now) Another genius created a whole social network that contains only AI bots that respond to your posts and create content.

I know making new friends can be scary at times but you need to find out what works for you. The stereotypical nerd who is anti-social is not something you want to aim for because that is absolute nonsense. You need to work with others if you want to succeed in life. If you are on the spectrum it can be harder for you to make friends but you need to see what works for you. One of my close friends is like that and we stay in touch over chat and emails as I know that they prefer non-verbal communications. With others I call or email or meet face to face. At one point a lot of my existing friends became busy with life (Got married/had kids etc) and I had to go out and make new friends so I started hiking and joined groups where we would go out for weekend trips or hikes. Ended up making new friends and actually met my wife in one of these trips. (Which was awesome!) I also have a lot of online friends that I have never met face to face (but I hope to when I can) and we email/message each other all the time.

Tech is awesome but nothing beats the human touch. Use Tech to enable/improve your connections/interactions but don’t make it a replacement for them.

– Suramya

September 26, 2024

Python in Excel launched for all Office 365 Business and Enterprise users

Filed under: Computer Security,Computer Software,My Thoughts,Tech Related — Suramya @ 10:35 PM

Excel is both a blessing and a bane for companies. Because of its capabilities folks have created formulas/macros/scripts/functions etc in Excel that allows them to generate data that is used to take major financial decisions with real world impact. But that capability also makes it an ideal vector for infiltrating an organization using Macros or scripts in Excel files to compromise systems.

Back in Aug 2023, Microsoft first announced that they are going to support running Python inside an Excel file. After that there was no major talk about it so I had hoped this meant that they had abandoned the project, but sadly I was mistaken. Redmond announced the official release of Python in Excel for Windows users of Microsoft 365 Business and Enterprise in a blog post. The post has a lot of details on the new capabilities this gives to power users and frankly I can see why folks are excited about it. But from a security and version control point of view this is a disaster waiting to happen.

There is a new learning series available for free for 30 days on LinkedIn that incorporates numerous examples, tutorials, and tips on how to best leverage Python in Excel.

Included in the Excel for Python release is a large language model integration that will allow Excel users to ask the Copilot to build scripts for them with plain language commands.

Microsoft partnered with data science tool maker Anaconda to develop the Python-Excel integration. As we’ve previously reported, data can move effortlessly between the two platforms using a few custom-defined functions.

This two-way function sending is a key part of security – Microsoft states Python processes Excel data without revealing the user’s identity, and all Python code runs in a secure, isolated environment, only accessing libraries approved by Anaconda​.

As with all the stuff MS has released recently, this also has LLM Integration but is on a very restricted list. The service is available to all Office 365 users with a valid Enterprise or Business Microsoft 365 subscription on the Current Channel.

Source: The Register: Python in Excel is here, but only for certain Windows users

– Suramya

August 30, 2024

Admiral Grace Hopper’s NSA Lecture from 1982 on Future Possibilities: Data, Hardware, Software, and People

Filed under: Computer Software,Tech Related — Suramya @ 6:05 PM

Grace Hopper is one of the founders of Programming languages and was the first person to devise the theory of machine-independent programming languages which she then used to develop the FLOW-MATIC programming language and COBOL. She had a phenomenal impact on the field of Computer Science/Engineering and her lectures are extremely interesting to watch as even after 40 years the concepts she talks about are still relevant. The NSA has finally released the video recording of a 1982 lecture by Adm. Grace Hopper titled “Future Possibilities: Data, Hardware, Software, and People.”

Initially they refused to do so because “With digital obsolescence threatening many early technological formats, the dilemma surrounding Admiral Hopper’s lecture underscores the critical need for and challenge of digital preservation. This challenge transcends the confines of NSA’s operational scope. It is our shared obligation to safeguard such pivotal elements of our nation’s history, ensuring they remain within reach of future generations. While the stewardship of these recordings may extend beyond the NSA’s typical purview, they are undeniably a part of America’s national heritage.”.

Thankfully after a massive push from the all over the world to get NSA to release the video saner minds prevailed and the entirety of the lecture has been released in two parts. You can watch them below:


Capt. Grace Hopper on Future Possibilities: Data, Hardware, Software, and People (Part One, 1982)


Capt. Grace Hopper on Future Possibilities: Data, Hardware, Software, and People (Part Two, 1982)

Since I don’t trust online systems to keep information available indefinitely, I have also archived the lectures on my system so if they disappear in the future I will have copies I can publish.

– Suramya

August 26, 2024

Anime character breaks free from Blender by hijacking its controls

Filed under: Humor,Tech Related — Suramya @ 10:58 AM

Kensyouen_Y has created a video using Blender depicting an Anime character model who becomes sentient and starts playing around with Blender’s UI, messing around with different tools and functionalities, changing her own hair color via Shader Nodes, and eventually crashing the software with her boisterous high jinks.

This is a phenomenally creative video, something that I couldn’t create in a 100 years. 🙂 Check it out below.


Anime character breaks free and hijack’s the 3D software

Source: Boingboing.net: Anime character breaks free: Watch her hijack 3D software in video

– Suramya

August 25, 2024

Browse Open source clones of classic video games

Filed under: Computer Software,Tech Related — Suramya @ 2:19 AM

There are a lot of games that can no longer be played because the systems to run the games are no longer in production and it is illegal to modify their code to work on the new systems or operating systems or emulators. That is where open source comes into play, developers have dedicated a lot of time creating open source clones of their favorite games.

You can access the list and instructions on how to install/play them at: https://osgameclones.com/, which gathers open-source or source-available remakes of great old games in one place.

A Remake is a game where the executable and sometimes the assets as well are remade open source. Some of these games aren’t exact remakes but evolution of original ones, which were eventually open sourced.
A Clone is a game which is very similar to or heavily inspired by a game or series.
An Official project is the official source code release for a game that was formerly closed-source, maintained by the original creators and has minimal changes.
A Similar game is one which has similar gameplay but is not a clone.
A Tool is not a game, but something that assists in playing or modding the game, such as a high resolution patch, or resource extractor.

I see Open source versions of Classics like Decent II, Doom II/III and many more on the site. Check it out if you have some free time.

Source: Boingboing.net: Open source clones of classic video games

June 27, 2024

What’s the Difference Between Mastodon, Bluesky, and Threads?

Filed under: Interesting Sites,My Thoughts,Tech Related — Suramya @ 11:39 PM

When Twitter was taken over by Musk a lot of us folks moved to alternatives because of the change in the quality and tone of Twitter. In the early days many alternatives were created but now the field has narrowed down quite a bit and the main alternatives are: Mastodon, Bluesky, and Threads. I have accounts on both Mastodon and Bluesky but primarily use Mastodon as most of the security and Tech experts migrated to Mastodon. Some interesting folks are there on Bluesky as well but for some reason I don’t find it as interesting to scroll the feed over there.

If you are not aware of the apps you might wonder what is the difference between them, EFF (Electronic Freedom Foundation) did a great write up on the various alternatives to Twitter and you can check out the article here.

– Suramya

June 19, 2024

Yet another example of why strict data privacy controls are needed everywhere

Filed under: My Thoughts,Tech Related — Suramya @ 11:35 PM

Here is yet another example of why we need data privacy and rules to protect the data that is collected about us. In this case a person snooped on the mobile data history of potential dates before going out with them.

I work for one of the most popular mobile providers in the country. Back when I was dating a few months ago, I'd check the lad's mobile data history at work to see what sort of porn they watch on their phones. Helped me to weed out and ghost a couple of freaks

I work for one of the most popular mobile providers in the country. Back when I was dating a few months ago, I’d check the lad’s mobile data history at work to see what sort of porn they watch on their phones. Helped me to weed out and ghost a couple of freaks

This is absolutely an invasion of privacy but still something a lot of us would do if we had the access to a system that gives us this information. I mean it is human nature to be curious and if we could most people would end up doing something like this and that is why Banks have strict policies and controls around looking up data that you shouldn’t be looking into like financial transactions or bank balances.

It would have expected the ‘most popular’ mobile provider to have controls around who can access such data. But even if the controls limit who can access the data it doesn’t solve the full problem because it doesn’t stop the people authorized to view the data from misusing it. The latin phrase ‘Quis custodiet ipsos custodes?‘ (Who will watch the watchmen?) highlights this problem. People who have official access can (and do) misuse that access and we have seen this misuse multiple times, folks in law enforcement have used their access to track and research their significant others, other folks have stalked celebrities and there are many more such examples..

That is why in addition to restricting access there needs to be a regular audit of the access requests made into the system and sign off to ensure people are not misusing the data. In my previous companies, we had to review audit logs for production access and sign off on the access (for the systems we were responsible for). For obvious reasons people couldn’t signoff on their own access requests.

Data Privacy is very important and because of the amount of data that companies collect about us it is a dangerous situation. In the ideal world they would not be storing this data in the first place but since that is not going to happen anytime soon we need to ensure that we build legal/technical frameworks around the systems so that the potential for misuse is reduced.

– Suramya

May 25, 2024

ICQ messenger shutting down after almost 28 years of service

Filed under: Computer Software,My Thoughts,Tech Related — Suramya @ 6:12 AM

I used ICQ for the first time around 1997/98 and it was an amazing experience to be chatting with someone on the other side of the planet for free. I had been using BBS’s to connect with people but for obvious reasons they were all local folks. ICQ was the first system that allowed me to connect to the international world for free. I think it was also the first system where I encountered the infamous A/S/L(Age/Sex/Location) question. It was quite popular over on AOL IM as well, but I first encountered it on ICQ. I think it was probably because there was no concept of a profile picture at that time and ICQ used a number instead of a custom screen name for user identification.

Unfortunately the system is going to be shutdown on June 26th with no explanation given on why it is being shutdown. That being said It is impressive that the system managed to stay up and running for so long. I think the last time I logged into ICQ was sometime in the late 2000’s. I wonder if I still remember the password to be able to log in one last time before it is gone for good.

What would be really cool is if VK makes the source code behind the server opensource so that others can setup an alternate ICQ server for folks to use. But I doubt that would happen.

Source: Bleepingcomputer.com: ICQ messenger shuts down after almost 28 years

– Suramya

Older Posts »

Powered by WordPress