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 24, 2024

India’s Renewable Energy Capacity Hits 200 GW accounting for 46.3% of total power generation

Filed under: Emerging Tech,My Thoughts — Suramya @ 11:19 PM

India has been pushing heavily in the renewable Energy field to make itself less reliable on Oil and other fossil fuel imports. Earlier this month we hit 200 GW Milestone and renewable energy now accounts for 46.3% of total power generation in India.

This is awesome news and something we should be proud of. My parent’s place in Delhi is running on Solar (well everything except the AC’s are on Solar) and my cousin’s farm and hour is almost 100% on solar now as are most of the houses in their village. The same is the case in a lot of villages in India especially in UP (others as well but I have not seen them all personally). A lot of the street lights etc now run on solar as well and there was an ongoing project to use the excess power generated by the panels put on the highways to power the villages on route as well.

The top 4 States Driving India’s Renewable Energy Capacity are as follows:

  • Rajasthan 29.98 GW
  • Gujarat 29.52 GW
  • Tamil Nadu 23.70 GW
  • Karnataka 22.37 GW

UP is not there in the top 4 yet as they started a bit late but there is an extensive push there for solar and I know other states are also exploring Solar, wind and other renewable energy sources as well. In addtion The Government of India has introduced various measures and initiatives to promote and accelerate renewable energy capacity nationwide, aiming for an ambitious target of 500 GW of installed capacity from non-fossil sources by 2030.

Source: NDTV: India’s Renewable Energy Capacity Hits 200 GW Milestone, Accounts For 46.3% Of Total Power

– Suramya

October 23, 2024

Auto adjusting Desalination system that works with renewable power

Filed under: Emerging Tech,My Thoughts,Science Related — Suramya @ 10:41 AM

Having drinking water is a problem in a lot of places on Earth due to various reasons. One of the solutions for this is to extract drinking water out of sea water/salty water. Unfortunately, the traditional methods of doing this require a lot of power and that causes other issues. Plus, that means that we can’t setup the desalination plants in locations where they are most needed as these locations don’t usually have reliable power either. One solution is to use renewable energy such as Solar to power these plants but the traditional setups expect constant power levels which isn’t always possible due to weather conditions.

Around a 100 years ago we developed reverse osmosis and electrodialysis, which are two membrane-based desalination technologies. Reverse osmosis requires a lot of pre-treatment and thus not sustainable everywhere, which is why MIT researchers led by Jonathan Bessette decided to go with electrodialysis instead.

What makes their approach really interesting is that their setup runs on renewable energy (Solar Power) and automatically adjusts the quantity of water being processed depending on the weather conditions instead of expecting constant power levels. So if it was a sunny day with clear skies then the setup would process more water, and if it was cloudy the quantity being processed would reduce automatically.

The two most important parameters in electrodialysis desalination are the flow rate of the water and the power you apply to the electrodes. To make the process efficient, you need to match those two. The advantage of electrodialysis is that it can operate at different power levels. When you have more available power, you can just pump more water through the system. When you have less power, you can slow the system down by reducing the water flow rate. You’ll produce less freshwater, but you won’t break anything this way.

Bessette’s team simplified the control down to two feedback loops. The first outer loop was tracking the power coming from the solar panels. On a sunny day, when the panels generated plenty of power, it fed more water into the system; when there was less power, it fed less water. The second inner loop tracked flow rate. When the flow rate was high, it applied more power to the electrodes; when it was low, it applied less power. The trick was to apply maximum available power while avoiding splitting the water into hydrogen and oxygen.

The prototype unit they setup was the size of a shipping container and over the 6 months trial period it desalinated around 5,000 liters of water per day—enough for a community of roughly 2,000 people. The team is now working on productionalizing the solution and selling it commercially.

Their work was published in Nature: Direct-drive photovoltaic electrodialysis via flow-commanded current control, earlier this month.

Looking forward to people building on top of this effort and having such units available for purchase.

Source: Mastodon: https://mstdn.social/@kevinrns/113341185649409458

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

August 27, 2024

MIT Researchers publish AI risk database exposing 700+ ways AI can be risky

Filed under: Artificial Intelligence,Computer Software,My Thoughts — Suramya @ 10:44 AM

AI (or rather what is call AI right now), is not really intelligent but it does have a lot of risks associated with using it. We all know about the Deep Fakes and the hallucinations etc but those are not the only risks of using generative AI. The researchers at MIT have cataloged the over 700 risks of using generative AI.

The risks posed by Artificial Intelligence (AI) are of considerable concern to academics, auditors, policymakers, AI companies, and the public. However, a lack of shared understanding of AI risks can impede our ability to comprehensively discuss, research, and react to them. This paper addresses this gap by creating an AI Risk Repository to serve as a common frame of reference.

This comprises a living database of 777 risks extracted from 43 taxonomies, which can be filtered based on two overarching taxonomies and easily accessed, modified, and updated via our website and online spreadsheets. We construct our Repository with a systematic review of taxonomies and other structured classifications of AI risk followed by an expert consultation. We develop our taxonomies of AI risk using a best-fit framework synthesis. Our high-level Causal Taxonomy of AI Risks classifies each risk by its causal factors (1) Entity: Human, AI; (2) Intentionality: Intentional, Unintentional; and (3) Timing: Pre-deployment; Post-deployment. Our mid-level Domain Taxonomy of AI Risks classifies risks into seven AI risk domains: (1) Discrimination & toxicity, (2) Privacy & security, (3) Misinformation, (4) Malicious actors & misuse, (5) Human-computer interaction, (6) Socioeconomic & environmental, and (7) AI system safety, failures, & limitations. These are further divided into 23 subdomains. The AI Risk Repository is, to our knowledge, the first attempt to rigorously curate, analyze, and extract AI risk frameworks into a publicly accessible, comprehensive, extensible, and categorized risk database. This creates a foundation for a more coordinated, coherent, and complete approach to defining, auditing, and managing the risks posed by AI systems.

They have published a paper on it: The AI Risk Repository: A Comprehensive Meta-Review, Database, and Taxonomy of Risks From Artificial Intelligence that you should check out. They have also made their entire database available to copy for free as well.

Check it out if you have some free time.

Source: Boingboing.net: MIT’s AI risk database exposes 700+ ways AI could ruin your life.

– Suramya

August 21, 2024

First three Post-Quantum Encryption Algorithms released by NIST

Filed under: Computer Security,My Thoughts,Quantum Computing — Suramya @ 8:30 PM

NIST has been reviewing algorithms as part the the PQC (Post Quantum Cryptography) Standardization process for over 8 years now and they have released the first three standards for post-quantum cryptography. These standards will allow systems to protect their data and communications with encryption that are not vulnerable to Quantum Computers. Current standards and tools rely on complex math problems that are difficult or impossible to solve using conventional computers but are vulnerable to a sufficiently capable quantum computer which would be able to process potential solutions very quickly.

The new standards are designed for two essential tasks for which encryption is typically used: general encryption, used to protect information exchanged across a public network; and digital signatures, used for identity authentication. NIST announced its selection of four algorithms — CRYSTALS-Kyber, CRYSTALS-Dilithium, Sphincs+ and FALCON — slated for standardization in 2022 and released draft versions of three of these standards in 2023. The fourth draft standard based on FALCON is planned for late 2024.

While there have been no substantive changes made to the standards since the draft versions, NIST has changed the algorithms’ names to specify the versions that appear in the three finalized standards, which are:

  • Federal Information Processing Standard (FIPS) 203, intended as the primary standard for general encryption. Among its advantages are comparatively small encryption keys that two parties can exchange easily, as well as its speed of operation. The standard is based on the CRYSTALS-Kyber algorithm, which has been renamed ML-KEM, short for Module-Lattice-Based Key-Encapsulation Mechanism.
  • FIPS 204, intended as the primary standard for protecting digital signatures. The standard uses the CRYSTALS-Dilithium algorithm, which has been renamed ML-DSA, short for Module-Lattice-Based Digital Signature Algorithm.
  • FIPS 205, also designed for digital signatures. The standard employs the Sphincs+ algorithm, which has been renamed SLH-DSA, short for Stateless Hash-Based Digital Signature Algorithm. The standard is based on a different math approach than ML-DSA, and it is intended as a backup method in case ML-DSA proves vulnerable.

Similarly, when the draft FIPS 206 standard built around FALCON is released, the algorithm will be dubbed FN-DSA, short for FFT (fast-Fourier transform) over NTRU-Lattice-Based Digital Signature Algorithm.

This is a significant step in ensuring our data and systems are protected against threats that are on the horizon. The Register has a good article on this topic (NIST finalizes trio of post-quantum encryption standards) that I highly recommend you check out.

Sources:
* Mastodon.social
* Schneier.com: NIST Releases First Post-Quantum Encryption Algorithms

July 29, 2024

Detecting AI-Generated Videos using MISLnet

Filed under: Artificial Intelligence,My Thoughts — Suramya @ 11:43 PM

With new technology and ‘AI’ it is becoming easier and easier to create fake images that look realistic enough to fool the casual eye. The problem is that this can be used to promote lies or scams etc. So we need to be able to identify if a given image is AI generated or real. Unfortunately, this is something that is easier said than done because as soon as the detector comes up with a way to identify fake images, the generators make changes to fix the issue resulting in a on-going game of whack-a-mole. That being said, it is important that we can identify and there is a lot of fascinating work that is happening in this space.

In an actually useful implementation of AI, researchers have trained a system called MISLnet that searches for statistical traces left in synthetic images by their source generator. It looks for relationships between pixel color values that are present in images taken by a digital camera which are not there in the AI generated image. This allows the system to identify AI generated images with over 98% accuracy.

I read the paper Beyond Deepfake Images: Detecting AI-Generated Videos(PDF) and honestly a lot of it went over my head. But based on tests it seems that MISLnet does perform well in identifying AI generated images.

The new tool the research project is unleashing on deepfakes, called “MISLnet”, evolved from years of data derived from detecting fake images and video with tools that spot changes made to digital video or images. These may include the addition or movement of pixels between frames, manipulation of the speed of the clip, or the removal of frames.

Such tools work because a digital camera’s algorithmic processing creates relationships between pixel color values. Those relationships between values are very different in user-generated or images edited with apps like Photoshop.

But because AI-generated videos aren’t produced by a camera capturing a real scene or image, they don’t contain those telltale disparities between pixel values.

The Drexel team’s tools, including MISLnet, learn using a method called a constrained neural network, which can differentiate between normal and unusual values at the sub-pixel level of images or video clips, rather than searching for the common indicators of image manipulation like those mentioned above.

The tool specifically targets images taken with a digital camera. It does not take into consideration that the image might have been taken by an Analog camera or is a scan of a printed images. In both those scenarios the relationships between pixel color values that the tool uses to identify real images will not exist, potentially leading the tool to falsely classify the image as fake or AI generated.

That being said, this is pretty interesting research and I am looking forward to testing the tool once it is released for general use.

Source: Schneier on Security: New Research in Detecting AI-Generated Videos

– Suramya

June 20, 2024

Some thoughts on the current AI hype market

Filed under: Artificial Intelligence,My Thoughts — Suramya @ 11:22 PM

Found this hilarious but accurate write up on AI and how the current Hype is spoiling the industry: I Will Fucking Piledrive You If You Mention AI Again. It is a little rude, filled with profanity but accurately covers the current state of AI. It is filled with gems such as:

So it is with great regret that I announce that the next person to talk about rolling out AI is going to receive a complimentary chiropractic adjustment in the style of Dr. Bourne, i.e, I am going to fucking break your neck. I am truly, deeply, sorry.


Unless you are one of a tiny handful of businesses who know exactly what they’re going to use AI for, you do not need AI for anything – or rather, you do not need to do anything to reap the benefits. Artificial intelligence, as it exists and is useful now, is probably already baked into your businesses software supply chain. Your managed security provider is probably using some algorithms baked up in a lab software to detect anomalous traffic, and here’s a secret, they didn’t do much AI work either, they bought software from the tiny sector of the market that actually does need to do employ data scientists. I know you want to be the next Steve Jobs, and this requires you to get on stages and talk about your innovative prowess, but none of this will allow you to pull off a turtle neck, and even if it did, you would need to replace your sweaters with fullplate to survive my onslaught.

Consider the fact that most companies are unable to successfully develop and deploy the simplest of CRUD applications on time and under budget. This is a solved problem – with smart people who can collaborate and provide reasonable requirements, a competent team will knock this out of the park every single time, admittedly with some amount of frustration.

Most organizations cannot ship the most basic applications imaginable with any consistency, and you’re out here saying that the best way to remain competitive is to roll out experimental technology that is an order of magnitude more sophisticated than anything else your I.T department runs, which you have no experience hiring for, when the organization has never used a GPU for anything other than junior engineers playing video games with their camera off during standup

The current hype and insistence by companies to insert AI capabilities in everything whether it is needed or not is getting to the point where it is actively annoying and in some cases dangerous. The recent attempted release of Recall + Copilot by Microsoft is a good example of dangerous. Then we have companies releasing AI powered BIOS , that “interpret the PC user’s request, analyze their specific hardware, and parse through the LLM’s extensive knowledge base of BIOS and computer terminology to make the appropriate changes to the BIOS Setup. This breakthrough technology helps address a major hurdle for PC users that require or desire changes to their BIOS Setup for their personal computers but do not fully understand the meaning of the settings available to them.

I really don’t need AI in my mouse or use AI to create a perfect smoothie or the thousand other things folks are shoving AI into. ChatGPT can’t do simple addition or multipications and keeps making up stuff. Google’s AI Gemini recommends that people add glue to their pizza’s, it misidentified a poisonous mushroom as an edible one and there are many many more such cases out there (I have posted some examples earlier).

The problem is that folks (grifters to be honest) are selling AI as the cure all for all problems a company wants to solve. This is overshadowing the actual work being done in the field which is solving actual problems and use cases.

What we have right now is Machine Learning that has a good track record in predicting responses, but it is nothing close to being intelligent. A cat has more intelligence in it than the current ‘AI’. This is not to say that we won’t have AI systems in the future. I have been hearing the claim that AI is just around the corner for about 25 years now but we are not there yet.

June 18, 2024

Indian Startup Agnikul successfully launched worlds first fully 3D printed engine

Filed under: Astronomy / Space,Emerging Tech,My Thoughts — Suramya @ 5:27 PM

3D Printing is one of the few technologies from the last decade that has come close to accomplishing what it promised, some of the more Sci-fi style stuff is still in the works (Like 3D printing food) but for the most part it does what it promised unlike some of the other ‘ground-breaking’ tech like blockchain, NFT etc. etc. Folks have used 3D printing to print houses, sculptures, prosthetic eye and more.

On 30th May another major milestone was achieved proving the technology’s usefulness. An Indian Company called Agnikul tested its 3D printed Rocket by successfully launching it from the Satish Dhawan Space Center. The launch was a test of the engine block which was the world’s first rocket engine 3D printed as a single piece. The engine took just 72 hours to print and another two weeks to integrate with other systems. The rocket generated 6 kilonewtons of thrust during the test and flew 6.5 Kms into the air.

Now that the technology has been proven, the company is starting work on their commercial implementation of the engine called Agnibaan (Fire Arrow). Agnibaan will feature eight rockets and will be capable of carrying a 300-kilogram payload to an altitude of around 700 km. The configuration of the rocket will be modular allowing the team to configure it according to need.

In addition to being the worlds first 3D printed engine, Agnibaan was also India’s first launch from a privately owned launch pad. Thus far, all space launches were carried out from one of the two ISRO launch pads at Sriharikota. Agniaan on the other hand launched from a custom built launch pad called Dhanush (Bow). Dhanush is designed to support full mobility across all configurations of Agnibaan and is meant to be reusable.

With more private companies entering the market the Space Age has truly started in India.

Source: IEEE: Indian Startup 3D Prints Rocket Engine in Just 72 Hours

-Suramya

« Newer PostsOlder Posts »

Powered by WordPress