<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Naveen Kumar M N]]></title><description><![CDATA[Naveen Kumar M N]]></description><link>https://node.mnnk.dev</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 18:45:09 GMT</lastBuildDate><atom:link href="https://node.mnnk.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Biriyani and ChatGPT]]></title><description><![CDATA[A night-out in Bangalore to ChatGPT Biriyani. TLDR, the biriyani didn't meet our expectations.
It was just a typical weekend after countless meetings, scratching the why the logic does not work, scratching again why it works, and hoping QA will not r...]]></description><link>https://node.mnnk.dev/biriyani-and-chatgpt</link><guid isPermaLink="true">https://node.mnnk.dev/biriyani-and-chatgpt</guid><category><![CDATA[chatgpt]]></category><category><![CDATA[AI]]></category><category><![CDATA[biriyani]]></category><category><![CDATA[technology]]></category><category><![CDATA[Software Engineering]]></category><dc:creator><![CDATA[NaveenKumar M N]]></dc:creator><pubDate>Sun, 12 Feb 2023 11:00:10 GMT</pubDate><content:encoded><![CDATA[<p>A night-out in Bangalore to ChatGPT Biriyani. TLDR, the biriyani didn't meet our expectations.</p>
<p>It was just a typical weekend after countless meetings, scratching the why the logic does not work, scratching again why it works, and hoping QA will not raise issues for the same. And then there comes the quiet 2 days Saturday and Sunday. And below I share my experience of using AI for my night-out plan, and how did it turn.</p>
<h1 id="heading-the-biriyani-story"><strong>The Biriyani Story</strong></h1>
<p>After countless google search queries for night-out plan at Bangalore all it showed me was bunch of resto-bars and nothing much, so after carefully think for a minute of what I doing with my life ( What’s wrong with me, ahh don’t open the door), an idea sparked in me, hey why cant I ask ChatGPT to suggest me the same. Surprise surprise it landed me the usual <em>‘ChatGPT is at capacity right now’</em> and I remembered about that <a target="_blank" href="https://www.buildai.space/app/dae3da25-888e-448f-b15c-5a20ca4ca961">Trip Planning AI</a>, but when I checked it was behind the paywall after the first 1000 free users for a day.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1676199118248/4414f162-ed06-48fe-82d3-c18c94a780f3.png" alt class="image--center mx-auto" /></p>
<p>Finally I gave up and ciao with friends not sure where we are going. After careful consideration, it boiled down to famous Mani’s Hoskote 4AM biriyani which is roughly 40 KM’s from us.</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://goo.gl/maps/kaQU3LMX7zck6Nnk9">https://goo.gl/maps/kaQU3LMX7zck6Nnk9</a></div>
<p> </p>
<p>The feel of the gushing wind, countless street dog encounters, not sure should we take the bridge or lay low while navigating with google maps and one long tea break and With all the hype for the late-night Biriyani and an army of food bloggers from Youtube stating that there will be a queue for 1 KM’s for Biriyani ar Hoskote, we packed in all early and reached there by 2:00 AM, not knowing what to do, we continued the same loop of little office talks, awkward silences, and there it is, the aroma of Biriyani, those damn spices, there we heard a voice, a group of strangers disusing about ChatGPT, the introvert me was not ready to pop a hi. After a final wave of aroma and wait, it’s biriyani time. As I mentioned, the Biriyani was not what we expected it to be and we didn't feel any difference in taste and felt same as the Biriyani we would usually order from a local Restaurant. I know its all in the experience and the thrill but still we stepped in with a lot of hype. Again thinking about my life decisions, not to the same rabbit hole — There came an moment of realization, how much AI has contributed, came in handy to solve some weird questions, and how it is being used by us indirectly in day-to-day life, how it is shaping the world. Out of the blue, we didn’t expect ChatGPT name to pop up there at 3:00 AM. This shows its potential and how it will become an integral part of the human king and then comes phoenix out of the ashes, the Bing.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1676199293017/db4e1337-37a8-49fd-ae88-3a437268f5ee.gif" alt class="image--center mx-auto" /></p>
<h1 id="heading-bing-adding-fuel-to-the-fire-the-ai-search-engine-war"><strong>Bing — Adding fuel to the fire. The AI Search Engine war.</strong></h1>
<p>I came across some articles about Bing integrating ChatGPT model in it, and just with no hype and expectations I registered in for the waitlist. But I was sure of one thing, I will not switch from my Google to Bing even with added spice of prometheus and ChatGPT.</p>
<p>Boy ohh boy, I was so wrong, after seeing the new bing in action at The WAN Show Live from Linus Tech Tips (<a target="_blank" href="http://lttstore.com">lttstore.com</a>)</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://www.youtube.com/watch?v=AxAAJnp5yms&amp;t=2648s">https://www.youtube.com/watch?v=AxAAJnp5yms&amp;t=2648s</a></div>
<p> </p>
<p>Wow, the new bing blew me away, I was screaming along with Linus and Luke and was like what in the world is this? After the show, there was Youtube recommendation (Youtube Algorithm knows me very well), for the Bing Event showcasing the same and as I was watching it, I was like if this is what new bing is bringing to the table, I will for sure, wave a byeeeee to Google as default search Engine and give Microsoft edge a shot.</p>
<p>End of the story, I hope the hype and expectation of the new bing is not the same as that of Biriyani we had.</p>
<p>Later the next day, when I asked ChatGPT to suggest me some places for night-out in Bangalore, this is what it came up with.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1676199404798/d35c08af-c477-4d2a-b432-a345006a0411.png" alt class="image--center mx-auto" /></p>
]]></content:encoded></item><item><title><![CDATA[What's on my Raspberry-Pi]]></title><description><![CDATA[Raspberry PI is slowly crawling its way up to top of things you should own as a Software Developer. All because of its low-power-consumption, configurable, open-source and the biggest one of all, you can own a server toooooo. I get it, its not like w...]]></description><link>https://node.mnnk.dev/whats-on-my-raspberry-pi</link><guid isPermaLink="true">https://node.mnnk.dev/whats-on-my-raspberry-pi</guid><category><![CDATA[Raspberry Pi]]></category><category><![CDATA[Open Source]]></category><category><![CDATA[servers]]></category><category><![CDATA[Developer]]></category><dc:creator><![CDATA[NaveenKumar M N]]></dc:creator><pubDate>Sat, 27 Aug 2022 21:22:04 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1661635118840/czPQdJ1I5.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Raspberry PI is slowly crawling its way up to top of things you should own as a Software Developer. All because of its low-power-consumption, configurable, open-source and the biggest one of all, you can own a server toooooo. I get it, its not like what is being offered by big players like <em>Azure, AWS, GCLOUD</em>, come on guys saying that you own a server would be a great ice-breaker when you are in a party, talking to your non-techie friend's or you can brag about it on your first-date (Dating advice 101). </p>
<p><img src="https://media.giphy.com/media/d3mlE7uhX8KFgEmY/giphy.gif" alt class="image--center mx-auto" /></p>
<p>Jokes apart, it has become part of my daily-developer-cycle. So here are some the services I run in my Raspberry-PI along with docker.</p>
<ol>
<li><a target="_blank" href="https://www.docker.com/">Docker</a> </li>
<li><a target="_blank" href="https://pi-hole.net/">Pi-hole</a> -- A simple Network Wide Ad-Blocker.</li>
<li>MySQL Server</li>
<li>ElasticSearch and Kibana.</li>
<li><a target="_blank" href="https://www.portainer.io/">Portainer</a> - to manage the docker.</li>
<li><a target="_blank" href="https://www.firefly-iii.org/">Firefly</a> - to manage finances. </li>
</ol>
<p>Comment down the services you are running in Raspberry Pi.</p>
]]></content:encoded></item><item><title><![CDATA[Java hashCode() and equals()]]></title><description><![CDATA[I realized the importance of equals() and hashCode() while trying to remove an element from a List. The method hashCode() returns an Integer value of an object which is generated by a hashing algorithm. Collection framework depends on this for variou...]]></description><link>https://node.mnnk.dev/java-hashcode-and-equals</link><guid isPermaLink="true">https://node.mnnk.dev/java-hashcode-and-equals</guid><category><![CDATA[Java]]></category><category><![CDATA[class]]></category><category><![CDATA[Object Oriented Programming]]></category><category><![CDATA[object]]></category><dc:creator><![CDATA[NaveenKumar M N]]></dc:creator><pubDate>Fri, 05 Mar 2021 15:37:40 GMT</pubDate><content:encoded><![CDATA[<p>I realized the importance of equals() and hashCode() while trying to remove an element from a List. The method hashCode() returns an Integer value of an object which is generated by a hashing algorithm. Collection framework depends on this for various operations like finding elements, duplicates, etc... </p>
<p>Let's take a simple class Animal with name and age. </p>
<pre><code><span class="hljs-keyword">package</span> io.ironman;

<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Animal</span> </span>{

    <span class="hljs-keyword">private</span> <span class="hljs-keyword">final</span> String animalName;
    <span class="hljs-keyword">private</span> <span class="hljs-keyword">final</span> Integer animalAge;

    <span class="hljs-keyword">public</span> Animal(String animalName, Integer animalAge) {
        <span class="hljs-keyword">this</span>.animalName = animalName;
        <span class="hljs-keyword">this</span>.animalAge = animalAge;
    }

}
</code></pre><p>Time to add some animal data.</p>
<pre><code> Animal cow = <span class="hljs-built_in">new</span> Animal("COW",<span class="hljs-number">5</span>);
 Animal dog = <span class="hljs-built_in">new</span> Animal("DOG",<span class="hljs-number">4</span>);
 Animal cat = <span class="hljs-built_in">new</span> Animal("CAT",<span class="hljs-number">7</span>);
</code></pre><p>When we print the hashCode of each element we get the following result.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1614956680761/FZCCw98GE.png" alt="image.png" /></p>
<p>It's time to delete an element.</p>
<pre><code>Animal cowCopy = <span class="hljs-built_in">new</span> Animal("COW",<span class="hljs-number">5</span>);
<span class="hljs-keyword">System</span>.err.println("Remove status-&gt;"+animals.remove(cowCopy));
animals.stream().<span class="hljs-keyword">forEach</span>(<span class="hljs-keyword">System</span>.<span class="hljs-keyword">out</span>::println);
</code></pre><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1614956916662/H1djYa-dT.png" alt="image.png" /></p>
<p>The element was not removed and if we look at the hashCode of two objects, it differs and if we look into the  <a target="_blank" href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#method_detail">docs</a> of equals and hashCode it must be implemented for classes so that they produce the same hashcode for the same values.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1614957779489/F43eEKjm7.png" alt="image.png" /></p>
<p>The solution is to override equals and hashCode for the POJO we create.</p>
<pre><code><span class="hljs-keyword">package</span> io.ironman;

<span class="hljs-keyword">import</span> java.util.Objects;

<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Animal</span> </span>{

    <span class="hljs-keyword">private</span> <span class="hljs-keyword">final</span> String animalName;
    <span class="hljs-keyword">private</span> <span class="hljs-keyword">final</span> Integer animalAge;

    <span class="hljs-keyword">public</span> Animal(String animalName, Integer animalAge) {
        <span class="hljs-keyword">this</span>.animalName = animalName;
        <span class="hljs-keyword">this</span>.animalAge = animalAge;
    }

    <span class="hljs-meta">@Override</span>
    <span class="hljs-keyword">public</span> boolean equals(Object o) {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span> == o) <span class="hljs-keyword">return</span> <span class="hljs-literal">true</span>;
        <span class="hljs-keyword">if</span> (o == <span class="hljs-literal">null</span> || getClass() != o.getClass()) <span class="hljs-keyword">return</span> <span class="hljs-literal">false</span>;
        Animal animal = (Animal) o;
        <span class="hljs-keyword">return</span> Objects.equals(animalName, animal.animalName) &amp;&amp; Objects.equals(animalAge, animal.animalAge);
    }

    <span class="hljs-meta">@Override</span>
    <span class="hljs-keyword">public</span> int hashCode() {
        <span class="hljs-keyword">return</span> Objects.hash(animalName, animalAge);
    }

    <span class="hljs-meta">@Override</span>
    <span class="hljs-keyword">public</span> String toString() {
        <span class="hljs-keyword">return</span> <span class="hljs-string">"Animal{"</span> +
                <span class="hljs-string">"animalName='"</span> + animalName + <span class="hljs-string">'\''</span> +
                <span class="hljs-string">", animalAge="</span> + animalAge +
                <span class="hljs-string">'}'</span>;
    }

}
</code></pre><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1614957978716/rph44q9uT.png" alt="image.png" /></p>
<p>That's hashCode and its importance in collection framework.</p>
]]></content:encoded></item></channel></rss>