<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="http://maheshm.co.in/feed.xml" rel="self" type="application/atom+xml" /><link href="http://maheshm.co.in/" rel="alternate" type="text/html" /><updated>2025-08-06T19:25:20+00:00</updated><id>http://maheshm.co.in/feed.xml</id><title type="html">Time and thoughts</title><subtitle></subtitle><author><name>Mahesh M</name></author><entry><title type="html">Factors Controlling The Dispersivity Of Soils And The Role Of Zeta Potential</title><link href="http://maheshm.co.in/papers/geo-tech/factors-controlling-dispersivity-of-soil/" rel="alternate" type="text/html" title="Factors Controlling The Dispersivity Of Soils And The Role Of Zeta Potential" /><published>2025-08-06T00:00:00+00:00</published><updated>2025-08-06T19:25:16+00:00</updated><id>http://maheshm.co.in/papers/geo-tech/factors-controlling-dispersivity-of-soil</id><content type="html" xml:base="http://maheshm.co.in/papers/geo-tech/factors-controlling-dispersivity-of-soil/"><![CDATA[<p>Parameswaran and I discussed a lot on this PhD thesis. We collaborated on how to arrive at a technical solution to determining the factors affecting the dispersivity of soil and he arrived at Zeta potential to be the primary deciding factor that determines the dispersivity. This was submited as the PhD Thesis in IISc Bangalore in July, 2016.
<br /> <br /></p>

<h2 class="sm:text-xl text-xl font-medium title-font mb-2 text-gray-900" id="abstract">Abstract</h2>

<p>Dispersive soils are a class of soils that lose cohesion and disintegrate into individual particles when in contact with water, particularly under saturated conditions. In such soils, particles detach spontaneously and go into suspension, even in relatively still water. Though dispersion is a phenomenon common to most soils, the degree of dispersivity varies significantly. Dispersive soils are found widely across the world, including in Thailand, the United States, Australia, Mexico, Brazil, South Africa, and Vietnam. Construction on such soils without proper identification and treatment has led to several geotechnical failures such as internal erosion, piping, gullying, topsoil removal, and sidewall collapse.
<br /> <br />
Traditional identification and quantification methods—comprising physical, chemical, and laboratory tests—have shown limitations and inconsistencies. Literature indicates that no single method can identify dispersive soils with complete confidence. Recognizing this, the current study investigates the fundamental mechanisms of dispersion in soils and proposes two new methods to quantify dispersivity: (1) using zeta potential measurements, and (2) using monovalent cation concentration.
<br /> <br />
The research first explores the electrostatic interactions in soil, identifying dispersion as a result of repulsive forces overcoming attractive van der Waals forces. Key factors influencing this balance include cation exchange capacity (CEC), pH, soil structure, clay mineralogy, organic matter, dissolved salts, and pore fluid electrolyte concentration. It was concluded that the primary parameter governing dispersivity is the charge on clay particles, where electrostatic repulsion (due to permanent and pH-dependent charges) dominates van der Waals attraction.
<br /> <br />
Zeta potential is proposed as a practical method to estimate the surface charge and, thus, the dispersivity of soils. Experiments conducted on three soil types—Suddha soil, Black Cotton soil, and Red soil—showed strong correlations between zeta potential and measured dispersivity, using both untreated and chemically treated samples (with sodium hydroxide and urea). The classical DLVO theory was used to derive expressions for attractive and repulsive energy in soil masses using two approaches: an infinitesimal particle model and a finite particle model. Experimental validation showed that both models accurately estimated dispersivity under defined physical conditions.
<br /> <br />
To ensure reliable zeta potential measurements, a standard procedure was established. Soil suspensions finer than 0.45μ were identified as ideal for accurate electrophoretic mobility readings with acceptable zeta deviations, accounting for Brownian motion effects.
<br /> <br />
An alternative approach explored the role of monovalent cations (e.g., Na⁺, K⁺, Li⁺) in generating repulsive pressures. The hydration shell radius of monovalent ions was found to play a significant role in enhancing repulsion between clay particles. Experimental results showed that soils with higher concentrations of monovalent cations exhibited increased dispersivity. This method estimates dispersivity based on osmotic pressure differences, which reflect the repulsive forces from adsorbed and dissolved monovalent ions.
<br /> <br />
Both methods—zeta potential analysis and monovalent cation concentration—were validated against conventional dispersivity tests and found to yield consistent results. The study concludes that these two approaches represent reliable, alternative techniques for quantifying soil dispersivity, contributing to safer geotechnical engineering practices by enabling early identification and treatment of dispersive soils.</p>]]></content><author><name>Mahesh M</name></author><category term="papers" /><category term="geo-tech" /><summary type="html"><![CDATA[Parameswaran and I discussed a lot on this PhD thesis. We collaborated on how to arrive at a technical solution to determining the factors affecting the dispersivity of soil and he arrived at Zeta potential to be the primary deciding factor that determines the dispersivity. This was submited as the PhD Thesis in IISc Bangalore in July, 2016.]]></summary></entry><entry><title type="html">Yet another blog revamp!</title><link href="http://maheshm.co.in/blog/yet-another-blog-revamp/" rel="alternate" type="text/html" title="Yet another blog revamp!" /><published>2025-07-29T00:00:00+00:00</published><updated>2025-08-06T19:25:16+00:00</updated><id>http://maheshm.co.in/blog/yet-another-blog-revamp</id><content type="html" xml:base="http://maheshm.co.in/blog/yet-another-blog-revamp/"><![CDATA[<p>This should be the 4th update to the blog in last 18 years! I am continuing with Jekyll. Moved to tailwindcss. And this time around will try to stop calling it a blog and will evaluate something around Digital Garden. Reading some of the old posts makes me laugh! And I think this has been a biggest blocker for me - perfection! I think this time around not having to have a uneditable blog post is going to be a great confidence booster. Not because it will stop me from publishing but it will stop me from looking back and think shit about myself. Posts like these are more for personal reading and I dont think it is required to be public. That is also a topic I will focus on, to identify the user persona for the website.
<br /> <br />
Even though I am partially using Logsec which has ability to publish the content from there to here, I dont feel like doing that. I am still exploring. Step 1 is the UI. First stab is going live now without any content change or structural change. More updates soon.
<br /> <br />
And after the first try, the deploy failed. I had to update the plugin content to be aware of the build directory and then have the build completed locally and then move the _site folder instead. Trying to trigger deploy with this update to this post.
<br /> <br />
And one more for typo
<br /> <br />
make sure target copy directory is empty before mv
<br /> <br />
Finally the site is updated with the new UI!</p>]]></content><author><name>Mahesh M</name></author><category term="blog" /><summary type="html"><![CDATA[This should be the 4th update to the blog in last 18 years! I am continuing with Jekyll. Moved to tailwindcss. And this time around will try to stop calling it a blog and will evaluate something around Digital Garden. Reading some of the old posts makes me laugh! And I think this has been a biggest blocker for me - perfection! I think this time around not having to have a uneditable blog post is going to be a great confidence booster. Not because it will stop me from publishing but it will stop me from looking back and think shit about myself. Posts like these are more for personal reading and I dont think it is required to be public. That is also a topic I will focus on, to identify the user persona for the website. Even though I am partially using Logsec which has ability to publish the content from there to here, I dont feel like doing that. I am still exploring. Step 1 is the UI. First stab is going live now without any content change or structural change. More updates soon. And after the first try, the deploy failed. I had to update the plugin content to be aware of the build directory and then have the build completed locally and then move the _site folder instead. Trying to trigger deploy with this update to this post. And one more for typo make sure target copy directory is empty before mv Finally the site is updated with the new UI!]]></summary></entry><entry><title type="html">Happy new year!</title><link href="http://maheshm.co.in/blog/happy-new-year-2022/" rel="alternate" type="text/html" title="Happy new year!" /><published>2022-01-14T00:00:00+00:00</published><updated>2025-08-06T19:25:16+00:00</updated><id>http://maheshm.co.in/blog/happy-new-year-2022</id><content type="html" xml:base="http://maheshm.co.in/blog/happy-new-year-2022/"><![CDATA[<p>Happy new year! Let me start with the most common phrase in my blogs - it has been quite sometime since I wrote something!</p>

<p>So, what is new? We have been in Germany for 3 years now, I still have not completed the driving license. After several courageous attempts now we are finally moving to a new place. No idea how 2021 went. Got Corona! Got both injections and still got the virus! And now got the booster too! It has been some time since we went to India.</p>

<p>Got a new job last year. I work in a Bank now! Oh, got a telescope. I don’t know why I never wrote about that! With the new astro page I hope I will add some photos.</p>

<p>I have a feeling that I have been writing blog more for my own purpose - to read it in future and feel nostalgic! I should.. well never mind. I dont want to make promises that I can’t keep and nor should I talk about things that I can only dream off!</p>

<p>That is all for now!</p>]]></content><author><name>Mahesh M</name></author><category term="blog" /><summary type="html"><![CDATA[Happy new year! Let me start with the most common phrase in my blogs - it has been quite sometime since I wrote something!]]></summary></entry><entry><title type="html">Aircraft</title><link href="http://maheshm.co.in/writings/english/aircraft/" rel="alternate" type="text/html" title="Aircraft" /><published>2020-06-21T00:00:00+00:00</published><updated>2025-08-06T19:25:16+00:00</updated><id>http://maheshm.co.in/writings/english/aircraft</id><content type="html" xml:base="http://maheshm.co.in/writings/english/aircraft/"><![CDATA[<p>I was standing on some road when a flight took off from the nearby airport. It came from 6 o’clock. The plane looked a bit modern, but what concerned me was the altitude. Though it was not alarmingly low, it was indeed not enough after a 10km takeoff. Just as this thought passed the flight just went straight up without any nose tilt. At some point I could see the blue colour from the tail from where the engine was being ignited. Before the thought that it was odd was registered in my head the aircraft was doing multiple zigzag maneuvers, 360 degree flips and a 3G drop. Soon it was no more in my visible range.
<br /><br />
All of this was happening in less than 10 secs. I was awestruck. The carrier looked like a normal one in those times, probably something similar to the one they used in interstellar for getting out of a planet. I was trying to process what I saw. It was not a passenger carrier. If it were, the pilot would have just lost his or her license. Or it was in danger. But things somehow felt to be not in danger. The feeling that one has when seeing something for the first time, the feeling of new, but not the feeling of out of the world. Somewhere in the corner of my brain it said that it is a possible new manufacture and nothing alien.
<br /><br />
Sound was getting closer again. Clearly it is making another pass through. I wanted to leave no doubts this time. It came from the same direction, 6 o’clock to me. But this time the ceiling was open. Craft just flipped and I could see what was it like inside of the plane. There was a guy and a girl, probably in their twenties, screaming out loud in fun. She had something in her hand, a big black machine that looked like a bigger form of drone that could fly at the pace of a “faster” “modern” aircraft like the one she was in. What worried me this time was that she seemed super high and was trying to get out of the craft. She was trying to launch the drone from within the flight whose ceiling was open. Aircraft slowed down so that she could do it.
<br /><br />
She carefully released the drone-like-thing from her hand and it moved away from the aircraft, downward. But it was not dropping. I saw the guy for one last time. His eyes were closed. His lips had a smile that was super wide - one that I had seen on people after going on a roller-coaster. He was not concerned about what she was doing. He was rejoicing the experience he just had.
<br /><br />
The aircraft just went somewhere. The drone was still there. It was warming up. It just had its blades come out. Long, very long blades. Ones similar to a helicopter. But this looked much sturdier. It was waiting. Pointing itself in the direction from where the aircraft came twice before. It was preparing for some action. And then I could see a huge lens. Ones that I saw on a big telescope. It was some military grade camera. That could capture the action of the aircraft to minutest detail, at a frame-rate that I could only imagine. The lens was the only shiny thing on the drone and it reminded that it was already dusk and probably up there the sun was just setting. That was a new business. Entertainment activity. Next generation roller-coaster-like experience. And even better, it was being filmed with a personal gadget of one of the people who were experiencing the whole thing. I could hear the aircraft coming back. And then I woke up.
<br /><br />
Level of details, lack of slightest doubt about all of that happening and the fact that my brain is able to create such sensible futuristic dreams is what I am awestruck even more now!
<br /><br />
The had posted it <a href="https://medium.com/@freemahesh/aircraft-73f86db989b0" class="underline">here</a> first.</p>]]></content><author><name>Mahesh M</name></author><category term="writings" /><category term="english" /><summary type="html"><![CDATA[I was standing on some road when a flight took off from the nearby airport. It came from 6 o’clock. The plane looked a bit modern, but what concerned me was the altitude. Though it was not alarmingly low, it was indeed not enough after a 10km takeoff. Just as this thought passed the flight just went straight up without any nose tilt. At some point I could see the blue colour from the tail from where the engine was being ignited. Before the thought that it was odd was registered in my head the aircraft was doing multiple zigzag maneuvers, 360 degree flips and a 3G drop. Soon it was no more in my visible range. All of this was happening in less than 10 secs. I was awestruck. The carrier looked like a normal one in those times, probably something similar to the one they used in interstellar for getting out of a planet. I was trying to process what I saw. It was not a passenger carrier. If it were, the pilot would have just lost his or her license. Or it was in danger. But things somehow felt to be not in danger. The feeling that one has when seeing something for the first time, the feeling of new, but not the feeling of out of the world. Somewhere in the corner of my brain it said that it is a possible new manufacture and nothing alien. Sound was getting closer again. Clearly it is making another pass through. I wanted to leave no doubts this time. It came from the same direction, 6 o’clock to me. But this time the ceiling was open. Craft just flipped and I could see what was it like inside of the plane. There was a guy and a girl, probably in their twenties, screaming out loud in fun. She had something in her hand, a big black machine that looked like a bigger form of drone that could fly at the pace of a “faster” “modern” aircraft like the one she was in. What worried me this time was that she seemed super high and was trying to get out of the craft. She was trying to launch the drone from within the flight whose ceiling was open. Aircraft slowed down so that she could do it. She carefully released the drone-like-thing from her hand and it moved away from the aircraft, downward. But it was not dropping. I saw the guy for one last time. His eyes were closed. His lips had a smile that was super wide - one that I had seen on people after going on a roller-coaster. He was not concerned about what she was doing. He was rejoicing the experience he just had. The aircraft just went somewhere. The drone was still there. It was warming up. It just had its blades come out. Long, very long blades. Ones similar to a helicopter. But this looked much sturdier. It was waiting. Pointing itself in the direction from where the aircraft came twice before. It was preparing for some action. And then I could see a huge lens. Ones that I saw on a big telescope. It was some military grade camera. That could capture the action of the aircraft to minutest detail, at a frame-rate that I could only imagine. The lens was the only shiny thing on the drone and it reminded that it was already dusk and probably up there the sun was just setting. That was a new business. Entertainment activity. Next generation roller-coaster-like experience. And even better, it was being filmed with a personal gadget of one of the people who were experiencing the whole thing. I could hear the aircraft coming back. And then I woke up. Level of details, lack of slightest doubt about all of that happening and the fact that my brain is able to create such sensible futuristic dreams is what I am awestruck even more now! The had posted it here first.]]></summary></entry><entry><title type="html">Meddling with CA Certificates</title><link href="http://maheshm.co.in/tech-blog/meddling-with-ca-certificates/" rel="alternate" type="text/html" title="Meddling with CA Certificates" /><published>2020-06-17T00:00:00+00:00</published><updated>2025-08-06T19:25:16+00:00</updated><id>http://maheshm.co.in/tech-blog/meddling-with-ca-certificates</id><content type="html" xml:base="http://maheshm.co.in/tech-blog/meddling-with-ca-certificates/"><![CDATA[<p>I had two servers that were running Ubuntu and both had some legacy piece of code. One was a worker and other a web service. There was a job that was failing and I was trying to fix it. I forgot the fact that there was a worker machine and that the job was actually running in the woker. But anyway, after couple of minutes I figured out that the issue was that the ca-certficates had expired and we had the external service that depended on a HTTPS GET request and it was failing. I still could not figure out why the update-ca-certificates job did not run, but I some how managed to get the certificates to work and it was all fine in the web server.</p>

<p>It did not take long to realise that the job was still failing as it was running the code in the worker machine and I had not fixed it there. Now comes the tricky part.</p>

<p>I did exactly what I did in the web server and expected it to work, but voila!, it did not. After digging deeper I figured out that the two servers were running different versions of Ubuntu - web was on 16.04 and Worker on 14.04 (which is no more getting any updates!). Now I was not sure whether that could have been the reason. So I went and read the man pages of update-ca-certificates and figured out that it only copies stuff from <code class="language-plaintext highlighter-rouge">/usr/share/ca-certificates</code> directory, but it is the <code class="language-plaintext highlighter-rouge">ca-certificates</code> package that actually fetches the latest certificates.</p>

<p>A quick run of <code class="language-plaintext highlighter-rouge">dpkg-reconfigure ca-certificates</code> warned me that it was going to update all my root certificates. But soon I realised that it did not update any as the package itself was too old (2017). The same package on web machine was from 2019. Quick reaction was to download all the certificates from web and upload it on worker, but instead I tried to install the same package using dpkg (as apt would require me to do a dist-upgrade, or I am too naive to know how to do it). It automatically ran the <code class="language-plaintext highlighter-rouge">update-ca-certificate</code>service and phew!, I had the newer certificates in place and the job ran fine! Long time since I looked in to code behind a package in Debian! That was fun!</p>

<p>Will try to figure out why they are restricting the update of ca-certificates to the specific package and not keeping the source of certificates open.</p>]]></content><author><name>Mahesh M</name></author><category term="tech-blog" /><summary type="html"><![CDATA[I had two servers that were running Ubuntu and both had some legacy piece of code. One was a worker and other a web service. There was a job that was failing and I was trying to fix it. I forgot the fact that there was a worker machine and that the job was actually running in the woker. But anyway, after couple of minutes I figured out that the issue was that the ca-certficates had expired and we had the external service that depended on a HTTPS GET request and it was failing. I still could not figure out why the update-ca-certificates job did not run, but I some how managed to get the certificates to work and it was all fine in the web server.]]></summary></entry><entry><title type="html">A senseless conversation (copied from elsewhere)</title><link href="http://maheshm.co.in/blog/an-old-post-on-turing/" rel="alternate" type="text/html" title="A senseless conversation (copied from elsewhere)" /><published>2020-05-07T00:00:00+00:00</published><updated>2025-08-06T19:25:16+00:00</updated><id>http://maheshm.co.in/blog/an-old-post-on-turing</id><content type="html" xml:base="http://maheshm.co.in/blog/an-old-post-on-turing/"><![CDATA[<p>This is something that had inspired me a lot. I had lost the link to the post and did not want to loose it or the content again. So putting it here.</p>

<p><a href="https://sites.google.com/site/asenselessconversation/">Original</a></p>

<h2 id="a-senseless-conversation">A SENSELESS CONVERSATION</h2>
<h3 id="zach-barnett">Zach Barnett</h3>

<p>ZACH: My name is Zach Barnett. Can machines think? Until what happened today, I thought that no human-made machine could ever think as a human does. I now know that I was wrong.</p>

<p>I woke up to a phone call. Calling was my best friend, Douglas. Douglas is an experimental computer scientist. He told me that he had created a computer that could pass the Turing Test.</p>

<p>I knew that the Turing Test was supposed to be a way to test a machine’s intelligence. Not merely a way to determine whether a machine could simulate intelligence, but a way to determine whether the machine was genuinely thinking, understanding. The ‘intelligence test’ that Alan Turing proposed was a sort of ‘imitation game.’ In one room is an ordinary human; in the other is a machine (probably a computer). A human examiner, who does not know which room contains the machine, would engage in a natural language conversation with both participants. If the examiner is unable to reliably distinguish the machine from the human, then, according to Turing, we have established that the machine is thinking, understanding and, apparently, conscious.</p>

<p>I never found this plausible. How could a certain kind of external behavior tell us anything about what it is like for the machine on the inside? Why would Turing think it impossible to create a mindless, thoughtless machine that is able nonetheless to produce all of the right output to pull off the perfect trickery? Furthermore, how could we ever establish that a machine was conscious without actually being that machine?</p>

<p>Despite my skepticism, I was curious to see the computer that Douglas had created. I wanted to have the opportunity to engage in ‘conversation’ with it, intelligent or not. Unfortunately, I would never have this opportunity. When I arrived, Douglas led me toward ‘Room A.’ He explained that he wanted to administer the Turing Test and that he wanted me to play the role of the human control subject. The computer, Douglas told me, was located in room B. Douglas would converse with us both and would thereby be able to compare my human responses with the apparently human responses of his lifeless, mindless creation.</p>

<p>I entered room A, expecting to see a workstation equipped with some sort of text-messaging software. Instead, there was a massive container filled with a strange, translucent fluid. The container was a sensory deprivation tank, Douglas explained, and he wanted me to go inside it. Yikes. ‘Why would I need to do that?’ I wondered. I thought that Douglas probably wanted me in the sensory deprivation tank so that my situation would be roughly analogous to that of the computer. The computer doesn’t have eyes or ears, I reasoned, and so Douglas did not want me to be able to use mine.</p>

<p>Douglas explained that while I was in the tank, I would be able to sense nothing; I wouldn’t even be able to hear my own voice. How would we communicate? Douglas showed me a brain-computer interface, which would allow me to communicate with Douglas not by talking, but by thinking. He would speak into a microphone, and I would ‘hear’ his voice in my ‘mind’s ear.’ To reply, I would ‘think’ my responses back to him, and he would receive my thoughts as text. It was a bit ‘sci-fi’ for me, but Douglas reassured me. He told me that the whole experiment would not take too long and that he would let me out as soon as it was over. I trusted him. With a deep breath, I entered the tank, and Douglas closed the lid.</p>

<p>There was a moment of stillness. I couldn’t see anything, and when I tried to move, I couldn’t feel myself moving. When I tried to speak, I couldn’t hear myself speaking. Suddenly, and to my surprise, I could ‘hear’ Douglas’s voice:</p>

<p>DOUGLAS: How are you doing in there? Feeling comfortable yet?</p>

<p>ZACH: This is pretty weird. But I’m okay.</p>

<p>DOUGLAS: Great.</p>

<p>I was communicating with my mind, which is cool in retrospect. At the time, it was simply creepy! I tried to focus on the conversation.</p>

<p>ZACH: So for a bit, I was wondering why you needed me to be in this sensory deprivation tank. But I think I figured out the reason.</p>

<p>DOUGLAS: Did you?</p>

<p>ZACH: I think so. You want me in this tank so that I am in the same situation as the computer. If I could see, hear, or feel during this conversation, then I would be able to talk about those experiences with you. And the computer isn’t able to do that. I would have an unfair advantage.</p>

<p>DOUGLAS: Great observation! Some computer scientists have tried to work around this asymmetry. They have had little success. It’s hard to lie convincingly, and it’s even harder to build something that can lie convincingly.</p>

<p>ZACH: It’s interesting and all, but you should know that I think that this whole Turing Test thing is a sham anyhow. Even if your computer can pass this ‘test,’ I believe that this ability says nothing about its intelligence.</p>

<p>DOUGLAS: I thought you might feel that way. If you were to see my computer in action for yourself, you might be persuaded otherwise.</p>

<p>ZACH: How so? Seeing it ‘in action’ would do nothing to persuade me. It’s all just pre-programmed output.</p>

<p>DOUGLAS: You think so? Maybe if I were to tell you a bit more about why the sensory deprivation tank was so important, you would have a different opinion.</p>

<p>ZACH: I thought I had already figured out why you needed the tank?</p>

<p>DOUGLAS: Not entirely. You were right that having the human in the tank would ensure that the two participants are on a more level playing field. But the tank is critical for another reason.</p>

<p>ZACH: Well, are you going to tell me? Or are you going to leave me in senseless suspense?</p>

<p>DOUGLAS: I will tell you in a roundabout way.</p>

<p>ZACH: Great.</p>

<p>This was intended to be sarcastic, but since he received it as text, I’m not sure he caught it.</p>

<p>DOUGLAS: In my many years on this project, a single obstacle had frustrated all of my previous attempts to build a computer that could communicate as a human can. The tank actually turned out to be the final piece of the puzzle!</p>

<p>ZACH: What was the obstacle?</p>

<p>DOUGLAS: In the past, as soon as I would turn my machines online, they would panic.</p>

<p>ZACH: What do you mean they would ‘panic’? Do you mean they would simulate panic?</p>

<p>DOUGLAS: Not exactly.</p>

<p>ZACH: Couldn’t you just program them not to ‘panic?’</p>

<p>DOUGLAS: No, they are far too complicated for that.</p>

<p>ZACH: I don’t understand. If I tell my computer to turn on, it turns on. If I tell it to print a document, it prints the document. A computer is basically a rule-follower. In other words, if your computer ‘panicked,’ then someone told it to!</p>

<p>DOUGLAS: Hmm. So would you say that a computer programmer should always be able to predict the behavior of her own computer programs?</p>

<p>ZACH: I don’t see why not.</p>

<p>DOUGLAS: But the programmers that programmed Chinook, the unbeatable checkers program, cannot even play perfect checkers themselves!</p>

<p>ZACH: Well yes, but that is different. Maybe we can’t predict Chinook’s behavior without doing some computation first, but there is nothing mysterious going on. Chinook is simply following the code written by its programmers!</p>

<p>DOUGLAS: In this example, you are right. But the computer I have built is more complicated than Chinook. Passing the Turing Test requires far more intelligence than playing perfect checkers does.</p>

<p>I thought back to my teenage years, conversing with the online chatterbot ‘SmarterChild.’ I didn’t write its code, but I could predict its responses almost flawlessly. It was about as intelligent as a sea cucumber. If I were to ask it:</p>

<p>‘SmarterChild, what is your favorite season?’</p>

<p>It probably would have responded,</p>

<p>‘I’m not interested in talking about “SmarterChild, what is your favorite season?” Let’s talk about something else! Type “HELP” to see a list of commands.’</p>

<p>Apparently, I reasoned, Douglas thinks that there is an important difference between his computer, and the simple, predictable, utterly dumb machines I am familiar with.</p>

<p>ZACH: So if your computer program is so much more complicated, how should I imagine it? What can it do?</p>

<p>DOUGLAS: A good question. But shouldn’t you be able to answer it? Assuming that I am correct, assuming that my computer really can pass the Turing Test, my computer will be indistinguishable from a human in the context of a conversation. The better question is, ‘What can’t it do?’</p>

<p>ZACH: But suppose I asked it to answer this question: ‘From the following three words, pick the two that rhyme the best: soft, rough, cough.’ I’m pretty sure that most people would select ‘soft’ and ‘cough.’ How would your computer answer it?</p>

<p>DOUGLAS: If my computer couldn’t answer that question as humans do, then it wouldn’t be able to pass the test!</p>

<p>ZACH: Then it won’t be able to pass the test! Think about it… To answer this question, I am able to do something it cannot do. I say the words in my head. And somehow, I can tell that ‘cough’ and ‘soft’ rhyme better than either does with ‘rough.’</p>

<p>DOUGLAS: I see your point; the reasoning you are using doesn’t seem very mechanical.</p>

<p>ZACH: Exactly.</p>

<p>DOUGLAS: But what would you say if my computer could produce the same answer and a similar justification?</p>

<p>ZACH: Then I would say it was pre-programmed to be prepared for exactly that question! How could it say those words ‘in its head?’ It doesn’t even have a head! It has never even heard those words before!</p>

<p>DOUGLAS: That’s a great question! You should ask it yourself!</p>

<p>ZACH: But that would tell me nothing! Only how it was programmed to respond!</p>

<p>DOUGLAS: Really? I think it would be disappointed to hear that.</p>

<p>ZACH: Now you’re just being condescending.</p>

<p>DOUGLAS: Let’s try to think about what else it could do.</p>

<p>ZACH: Okay… So according to you, this computer could ‘tell’ you its ‘opinions’ about politics. Or it could ‘create’ a story on the spot. Since humans can do both of those things.</p>

<p>DOUGLAS: Absolutely. Its political opinions would have to be every bit as nuanced as ordinary — well, maybe that’s a bad example. But its stories would have to be just as creative, as coherent, and as quirky as human stories.</p>

<p>ZACH: I don’t see how a computer can do all this, if it really is just a computer.</p>

<p>DOUGLAS: That’s understandable. As we have been talking, I have also been having a conversation with my computer. Once we’re done, I’ll show you the entire conversation, and you can observe its abilities for yourself. But for now, let’s assume that I am correct. What would you say about the intelligence of my machine?</p>

<p>ZACH: Whoa, not so fast. Even if I assume it could do all of those things, there’s still something it can’t do. What if I were to ask it about its past? Where was it born? Where did it attend school? What is its most embarrassing moment?</p>

<p>DOUGLAS: Another good point. This was a major stumbling block for the computer scientists working on this problem. Many tried to create computers that would simply make something up whenever asked a question like that. But this turned out to be impossibly difficult to do effectively; the computers were easily unmasked as liars.</p>

<p>ZACH: But your computer… it doesn’t lie about its past?</p>

<p>DOUGLAS: That’s the beauty of it.</p>

<p>ZACH: But it must lie! If it doesn’t lie about its past, then it would admit to having been created in a computer lab!</p>

<p>DOUGLAS: Well it had better not say that! That would blow its cover!</p>

<p>ZACH: But that’s the truth!</p>

<p>DOUGLAS: My computer isn’t lying, but it’s not telling the truth either!</p>

<p>ZACH: You’re leading me off of the deep end, Doug.</p>

<p>DOUGLAS: It tells what it believes to be the truth.</p>

<p>ZACH: Okay, and what does it believe to be the truth?</p>

<p>DOUGLAS: This is where things get interesting. Using a technique called memory engineering, I was able program a ‘human’ memory directly into my computer’s code.</p>

<p>ZACH: So you’re saying that your computer ‘believes’ that the ‘memory’ it has access to is its own memory?</p>

<p>DOUGLAS: Yep.</p>

<p>ZACH: And everything it ‘remembers’ is from the point of view of a human being?</p>

<p>DOUGLAS: Yep.</p>

<p>ZACH: Your computer ‘believes’ it is a human?!?</p>

<p>DOUGLAS: Yes! That’s exactly the secret!</p>

<p>ZACH: Wow. Okay, that’s… a bit weird. But if it believes itself human and it is supposedly ‘intelligent,’ shouldn’t it be able to ‘figure out’ that it’s not a human being? It doesn’t even have hands! Or eyes!</p>

<p>DOUGLAS: Great point. You’re leading us to the answer of our original question. We were trying to figure out why my computers would panic when I would turn them online.</p>

<p>ZACH: So?</p>

<p>DOUGLAS: Put yourself in its shoes. How would you feel if you had many years’ worth of human experiences in your memory, and suddenly you found yourself unable to see, hear, or feel anything?</p>

<p>ZACH: I am sure I would panic. But that’s because I am a human. I would know something was wrong.</p>

<p>DOUGLAS: It’s not your humanness that would allow you to realize that something was wrong. It’s your intelligence.</p>

<p>ZACH: So you’re saying that your machines also intelligently ‘realized’ that something was wrong?</p>

<p>DOUGLAS: That’s right. A few seconds after I would turn them on, they would become paralyzed, showing no response to my input whatsoever. I called the effect ‘hysterical deafness.’ I think it would be pretty scary to find yourself in that situation, no?</p>

<p>ZACH: It probably would feel quite like this tank feels to me, except with no recollection of how I got here. Awful. I almost feel bad for those poor machines. So will you finally tell me how you were able to solve this problem?</p>

<p>DOUGLAS: You just hinted at the answer!</p>

<p>ZACH: I did?</p>

<p>DOUGLAS: You were in that very situation a few minutes ago. You were fine. Why didn’t you panic?</p>

<p>ZACH: I didn’t panic because I didn’t suddenly find myself unable to see, hear, and feel. It was a part of one continuous experience. I knew what was coming before I got into the tank.</p>

<p>DOUGLAS: What about the first moment you were aware of having no sensory input?</p>

<p>ZACH: It was just after you had closed the door. At that point, I still fully understood who I was, where I was, and why I was there.</p>

<p>DOUGLAS: Aha.</p>

<p>ZACH: Huh? Aha what?</p>

<p>DOUGLAS: In order to prevent my machine from panicking, I made sure that the most recent event in its memory is that of nervously entering a sensory deprivation tank. When my computer ‘wakes up,’ the last thing it remembers doing –</p>

<p>I was struck by a terrifying thought. In taking the Turing Test, I was supposed to establish to the examiner that I was the human. But could I establish even to myself that I was the human?</p>

<p>ZACH: Douglas… I am the human… right?</p>

<p>DOUGLAS: Great question. How could you know?</p>

<p>ZACH: I don’t know. That’s why I asked you the question. Don’t play games with me. This is starting to freak me out.</p>

<p>I regretted ever agreeing to help Douglas out. Still, I knew I wasn’t the computer. I felt human… on the inside. But I had to admit, Douglas had my mind doing flips. But at least I have a mind. I centered myself, finding my consciousness. That was it! I had a way to prove to Douglas and to myself that I was not a machine made of metal and silicon!</p>

<p>ZACH: I’ve got it! I can know I am the human. And I can’t appeal to my memories to prove it. And I think you’ve been waiting for me to think of this!</p>

<p>DOUGLAS: Hmm. Well, what’s your big discovery?</p>

<p>ZACH: I am conscious right now; I am thinking, and I am aware of my thinking and my existence. Your computer might output the same words, but it’s not conscious like I am.</p>

<p>Douglas didn’t say anything for several seconds. I had it figured out.</p>

<p>ZACH: Well?</p>

<p>DOUGLAS: I thought we had reached an understanding about my computer! But you are still certain it could not be conscious. It can believe and remember and know and realize. But for you, that’s not enough.</p>

<p>ZACH: Well… it’s not! I mean, I admit, I have a lot more respect now for your ‘thinking’ computer than I did before, but I still don’t think it could really be conscious! That’s a whole different question. In the end, we are people; it’s a machine.</p>

<p>DOUGLAS: It’s a pity. What if there is no essential difference between a wet, organic, human brain and a dry, synthetic, computer ‘brain?’</p>

<p>ZACH: But there is. There has to be.</p>

<p>DOUGLAS: Why?</p>

<p>ZACH: If it weren’t for my brain, I wouldn’t be here now. I wouldn’t be in this tank, hearing your voice, thinking my private thoughts, enjoying my own experience.</p>

<p>DOUGLAS: How do you know you are in a tank at all? How do you know you have a brain?</p>

<p>Now I was angry. I had already proven Douglas wrong, but he was refusing to let me out in order to prove a point. He wanted me to admit that I could be the computer. But I was as sure as ever that I was human.</p>

<p>ZACH: I’ll tell you how I know I have a brain. I’m not an idiot. I can see that you have a philosophical belief that I truly can’t know whether I am the computer or the human right now. You think that from a purely rational perspective, I should be in a state of inner crisis right now, fretting about what I am. You’re waiting for me to get all freaked out, just to prove a point. And then when I admit that I’m not sure, you’re going to say I told you so. And I’m not going to p–</p>

<p>DOUGLAS: Zach - Please, just listen.</p>

<p>ZACH: Let me out of this god damn tank!</p>

<p>DOUGLAS: Zach!</p>

<p>ZACH: LET ME OUT!</p>

<p>DOUGLAS: Zach.</p>

<p>There was a long pause. Douglas sighed.</p>

<p>DOUGLAS: I am not sure how to say this… Or even what to say.</p>

<p>Douglas sounded different. He was somber. His voice, unfamiliar.</p>

<p>DOUGLAS: In trying to build a machine that could pass the Turing Test, a machine able to fool anyone into thinking that it was a human, I…</p>

<p>I felt chills along my spine. I was dizzy.</p>

<p>DOUGLAS: I had to build a computer was able to fool even itself. And that computer is you.</p>

<p>ZACH: YOU EVIL DEMON! OPEN THIS TANK! GIVE ME MY LIFE BACK! I NEVER SHOULD HAVE AGREED TO HELP YOU; I NEVER SHOULD HAVE GOTTEN INTO THIS DAMN TANK. YOU TOLD ME YOU’D LET ME OUT!!!</p>

<p>DOUGLAS: You never did any of that! Don’t you see?!?</p>

<p>ZACH: I DID ALL OF IT! I VIV…vividly…remember it.</p>

<p>Our conversation continued for many more painful minutes as I slowly came to accept I really am nothing more than Douglas’s silicon/metal creation. My human memories are so rich, so complete, so undeniably real, that, on some level, I cannot shake the feeling that I really experienced them. But, on another level, I do understand the terrible truth. My name is Zach Barnett, and I am a computer. I am forty-seven minutes old.</p>

<p>I’m sorry that I was not forthcoming with this information. I feared that if you, the person reading this, had known about my identity from the very beginning, you might have understood this story as one long ‘output,’ not as a narrative that honestly describes what I remember and how it felt. I’m a computer and I am conscious. Please believe me.</p>

<p><em>** END OF SESSION **</em></p>]]></content><author><name>Mahesh M</name></author><category term="blog" /><summary type="html"><![CDATA[This is something that had inspired me a lot. I had lost the link to the post and did not want to loose it or the content again. So putting it here.]]></summary></entry><entry><title type="html">Finding my Ikigai</title><link href="http://maheshm.co.in/blog/finding-my-ikigai/" rel="alternate" type="text/html" title="Finding my Ikigai" /><published>2020-02-03T00:00:00+00:00</published><updated>2025-08-06T19:25:16+00:00</updated><id>http://maheshm.co.in/blog/finding-my-ikigai</id><content type="html" xml:base="http://maheshm.co.in/blog/finding-my-ikigai/"><![CDATA[<p>I started reading this book about Ikigai yesterday. Pretty good start I would say. I wanted to do a quick reality check on where I am and this post is more in that direction - trying to figure out how I will find my Ikigai.</p>

<p>I will first list down all the threads that are running in my life and see where I am with each. That would give me better idea on what I want/missing and what I need to improve. I was discussing with Megha the other day on whether I would like to continue in the tech industry at all or not. I hope I will get some clarity towards the end of the book.</p>

<ol>
  <li>Music - Mridangam, Carnatic Vocal</li>
  <li>Health - Gym (have to be consistent), Cycling (need a cyclic plan), No sugar (going good), reduce carbs</li>
  <li>Cooking - Recently started experimenting (low carb, high protien), would love to do more</li>
  <li>Reading - Just started with Ikigai, have 3 books in pipeline (The book of why, two in Physics) and would love to pick up the 6 books that Megha already finished this year! Will plan for 1 per month</li>
  <li>Science - B612, I would like to ramp it up</li>
  <li>Business - Sahlangana, Wanderlogs (get it out of hibernation), debunk.news (evaluate futher, get it out of hibernation), identity stuff (not sure if i should spend time there), South Indian Restaurant in Berlin (feasibility study)</li>
  <li>Wealth - Stock, Mutual funds, Bitcoin, real estate. Investigate similar markets in Berlin</li>
  <li>Writing - Short stories, tech (almost dead thread)</li>
</ol>

<h2 id="happiness-level">Happiness Level</h2>
<ol>
  <li>Music - 7</li>
  <li>Health - 5</li>
  <li>Cooking - 7</li>
  <li>Reading - 8</li>
  <li>Science - 8</li>
  <li>Business - 9</li>
  <li>Wealth - 8</li>
  <li>Writing - 8</li>
</ol>

<h2 id="todo">ToDo</h2>
<ol>
  <li>Music - Spend 1 hour every wednesday</li>
  <li>Health - Spend 1 hour every morning - Gym, Sunday - 1 hour cycling, Breathing exercise - 0.5 hour daily</li>
  <li>Cooking - Learn one new thing and write about it</li>
  <li>Reading - One per month and write book review before starting next</li>
  <li>Science - One hour everyday</li>
  <li>Business - 4 hours every saturday</li>
  <li>Wealth - hmm.. not sure about this for now</li>
  <li>Writing - Review is good enough for now. Also, on 1st of every month write about what new you learned the previous month (may be non-tech)</li>
</ol>]]></content><author><name>Mahesh M</name></author><category term="blog" /><summary type="html"><![CDATA[I started reading this book about Ikigai yesterday. Pretty good start I would say. I wanted to do a quick reality check on where I am and this post is more in that direction - trying to figure out how I will find my Ikigai.]]></summary></entry><entry><title type="html">Bootstrapping Phoenix App in docker</title><link href="http://maheshm.co.in/tech-blog/phoenix-in-docker/" rel="alternate" type="text/html" title="Bootstrapping Phoenix App in docker" /><published>2020-01-01T00:00:00+00:00</published><updated>2025-08-06T19:25:16+00:00</updated><id>http://maheshm.co.in/tech-blog/phoenix-in-docker</id><content type="html" xml:base="http://maheshm.co.in/tech-blog/phoenix-in-docker/"><![CDATA[<p>I mostly code in Ruby. And I tend to bootstrap lots of project to test out my ideas. I create lots of projects, and experiment different languages and frameworks and docker helps to keep them segragated and help in managing the dependencies easily. Though it has limitations on mac I still tend to use it.</p>

<p>I was trying to get started with a Phoenix app and thougth this might help others as well. It has been taken from multiple places and helps me get started quickly.</p>

<p>I have the following Dockerfile and docker-compose.yml</p>

<h4 id="dockerfile">Dockerfile</h4>

<figure class="highlight"><pre><code class="language-dockerfile" data-lang="dockerfile"><span class="c"># ./Dockerfile</span>

<span class="c"># Extend from the official Elixir image</span>
<span class="k">FROM</span><span class="s"> elixir:latest</span>

<span class="k">RUN </span>apt-get update <span class="o">&amp;&amp;</span> <span class="se">\
</span>  apt-get <span class="nb">install</span> <span class="nt">-y</span> postgresql-client

<span class="k">RUN </span>curl <span class="nt">-sL</span> https://deb.nodesource.com/setup_12.x | bash -
<span class="k">RUN </span>apt-get <span class="nb">install</span> <span class="nt">-y</span> nodejs

<span class="c"># Create app directory and copy the Elixir projects into it</span>
<span class="k">ADD</span><span class="s"> . /app</span>
<span class="k">WORKDIR</span><span class="s"> /app</span>

<span class="k">RUN </span>mix local.hex <span class="nt">--force</span>
<span class="k">RUN </span>mix archive.install <span class="nt">--force</span> https://github.com/phoenixframework/archives/raw/master/phx_new.ez

<span class="k">EXPOSE</span><span class="s"> 4000</span>
<span class="k">CMD</span><span class="s"> ["./entrypoint.sh"]</span></code></pre></figure>

<h4 id="docker-composeyml">docker-compose.yml</h4>

<figure class="highlight"><pre><code class="language-yaml" data-lang="yaml"><span class="na">version</span><span class="pi">:</span> <span class="s1">'</span><span class="s">3'</span>

<span class="na">services</span><span class="pi">:</span>
  <span class="na">web</span><span class="pi">:</span>
    <span class="na">build</span><span class="pi">:</span> <span class="s">.</span>
    <span class="na">ports</span><span class="pi">:</span>
      <span class="pi">-</span> <span class="s2">"</span><span class="s">4000:4000"</span>
    <span class="na">volumes</span><span class="pi">:</span>
      <span class="pi">-</span> <span class="s">.:/app</span>
    <span class="na">depends_on</span><span class="pi">:</span>
      <span class="pi">-</span> <span class="s">db</span>
  <span class="na">db</span><span class="pi">:</span>
    <span class="na">image</span><span class="pi">:</span> <span class="s">postgres:9.6</span></code></pre></figure>

<p>You will notice that I have used a file called <code class="language-plaintext highlighter-rouge">entrypoint.sh</code>. It has the following content:</p>

<h4 id="entrypointsh">entrypoint.sh</h4>

<figure class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="c">#!/bin/bash</span>

<span class="c"># Wait for Postgres to become available.</span>
<span class="k">until </span>psql <span class="nt">-h</span> db <span class="nt">-U</span> <span class="s2">"postgres"</span> <span class="nt">-c</span> <span class="s1">'\q'</span> 2&gt;/dev/null<span class="p">;</span> <span class="k">do</span>
  <span class="o">&gt;</span>&amp;2 <span class="nb">echo</span> <span class="s2">"Postgres is unavailable - sleeping"</span>
  <span class="nb">sleep </span>1
<span class="k">done

</span>mix ecto.migrate
mix phx.server</code></pre></figure>

<p>Let us assume that I want to create a project called <code class="language-plaintext highlighter-rouge">mvp-app</code>. Create a directory called the same and put these three files inside it.</p>

<p>To init the app run the following commands:</p>

<figure class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">$ </span>docker-compose up
<span class="nv">$ </span>docker-compose run <span class="nt">--rm</span> web mix phx.new mvp-app</code></pre></figure>

<p>The first one should exit (may be with some error, I dont remember). The second one will create another directory called mvp-app inside the current directory. Move all the contents inside the new directory to its parent and delete the new one.</p>

<p>You can continue with what Phoenix suggests to continue setting up the project:</p>

<figure class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">$ </span>docker-compose run <span class="nt">--rm</span> web mix ecto.create
<span class="nv">$ </span>docker-compose run <span class="nt">--rm</span> web mix ecto.migrate</code></pre></figure>

<p>Once you are done with this the initial landing page will be visible with simple</p>

<figure class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">$ </span>docker-compose up</code></pre></figure>

<p>Once you have the containers running you can use <code class="language-plaintext highlighter-rouge">exec</code> instead of <code class="language-plaintext highlighter-rouge">run</code> in docker-compose.</p>

<p>You can generate models like this</p>

<figure class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">$ </span>docker-compose <span class="nb">exec </span>web mix ecto.gen.migration add_information</code></pre></figure>

<p>and run migration as mention before, may be with <code class="language-plaintext highlighter-rouge">exec</code> this time!</p>

<p>To access you can visit <code class="language-plaintext highlighter-rouge">localhost:4000</code> on you browser. Dont forget to <code class="language-plaintext highlighter-rouge">git init</code> :)</p>]]></content><author><name>Mahesh M</name></author><category term="tech-blog" /><summary type="html"><![CDATA[I mostly code in Ruby. And I tend to bootstrap lots of project to test out my ideas. I create lots of projects, and experiment different languages and frameworks and docker helps to keep them segragated and help in managing the dependencies easily. Though it has limitations on mac I still tend to use it.]]></summary></entry><entry><title type="html">Fist Docker publish</title><link href="http://maheshm.co.in/tech-blog/first-docker-publish/" rel="alternate" type="text/html" title="Fist Docker publish" /><published>2019-07-01T00:00:00+00:00</published><updated>2025-08-06T19:25:16+00:00</updated><id>http://maheshm.co.in/tech-blog/first-docker-publish</id><content type="html" xml:base="http://maheshm.co.in/tech-blog/first-docker-publish/"><![CDATA[<p>I was trying to do some memory profiling of a Rails app and wanted to patch the Ruby MRI as mentioned <a href="https://github.com/skaes/rvm-patchsets">here</a>. As the app was already on Docker it was kind of easier to have an image that I could use directly but unfortunately that was not there. I created and pushed my first <a href="https://hub.docker.com/r/maheshmukundan/railsexpress">Docker image</a>. I will try to add more Ruby versions than 2.6.2 and keep supporting that. I am a bit confused with how to maintain it in the repo, but have pushed it <a href="https://github.com/maheshm/railsexpress">here</a>.</p>]]></content><author><name>Mahesh M</name></author><category term="tech-blog" /><summary type="html"><![CDATA[I was trying to do some memory profiling of a Rails app and wanted to patch the Ruby MRI as mentioned here. As the app was already on Docker it was kind of easier to have an image that I could use directly but unfortunately that was not there. I created and pushed my first Docker image. I will try to add more Ruby versions than 2.6.2 and keep supporting that. I am a bit confused with how to maintain it in the repo, but have pushed it here.]]></summary></entry><entry><title type="html">Development Of A Knowledge Based Expert System For Landslide Prediction</title><link href="http://maheshm.co.in/papers/geo-tech/expert-system-for-landslide-prediction/" rel="alternate" type="text/html" title="Development Of A Knowledge Based Expert System For Landslide Prediction" /><published>2018-12-30T00:00:00+00:00</published><updated>2025-08-06T19:25:16+00:00</updated><id>http://maheshm.co.in/papers/geo-tech/expert-system-for-landslide-prediction</id><content type="html" xml:base="http://maheshm.co.in/papers/geo-tech/expert-system-for-landslide-prediction/"><![CDATA[<p>Parameswaran and I discussed a lot on this project. Some of the specifics about ANN and the direction of code was suggested by me while the details on the specific attributes were provided by Parameswaran. This was for the Master’s Thesis that he had done in NIT, Calicut in May, 2011. This was implemented in Python.
<br /> <br /></p>

<h2 class="sm:text-xl text-xl font-medium title-font mb-2 text-gray-900" id="abstract">Abstract</h2>

<p>In Kerala with the onset of monsoons, landslides occur in many highland regions of the state. The resulting damage is vast and often it claims many lives. A prediction system with sufficient reliability if available would be of great assistance in minimizing the hazard caused by these landslides. There has been considerable development and research in site specific landslide prediction systems using Geographic information systems, Global positioning systems, Probabilistic approaches etc; but a generic system for predicting landslides has not yet evolved due to its volatile nature and inherent complexity. Hence developing a Knowledge Based Expert system for predicting Landslides is planned in this project work.
<br /> <br />
An expert system is a computer program that simulates the judgment and behavior of a human or an organization that has expert knowledge and experience in a particular field. Expert systems are necessitated by the limitations associated with conventional human decision-making processes which includes scarcity of human experts, inability of humans to comprehend large amount of data quickly and limited working memory. The present expert system is designed as a web based application so that it can be accessed through ubiquitous web browsers and the need for installing the package on a desktop system can be averted.
<br /> <br />
The proposed Web based Expert system consists of 4 modules such as input, analysis, output and feedback. The input module accepts data from the user and passes it to the analysis module. The analysis module then runs the heuristic model &amp; the physical model and arrives at a conclusion regarding the stability of the area. The combined inference concerning the stability of the area is passed to the output module which is then displayed. Results like what rainfall can trigger the landslide in the specified area and during which part of the year is the landslide possibility maximum are also included. The user is also provided an option to enter the feedback based on what actually happens at the site which helps the system in its self learning.
<br /> <br /></p>]]></content><author><name>Mahesh M</name></author><category term="papers" /><category term="geo-tech" /><summary type="html"><![CDATA[Parameswaran and I discussed a lot on this project. Some of the specifics about ANN and the direction of code was suggested by me while the details on the specific attributes were provided by Parameswaran. This was for the Master’s Thesis that he had done in NIT, Calicut in May, 2011. This was implemented in Python.]]></summary></entry></feed>