<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://noono.sh/</id>
    <title>noonosh</title>
    <updated>2026-06-10T12:18:58.041Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <author>
        <name>noonosh</name>
        <email>mail@noono.sh</email>
        <uri>https://noono.sh</uri>
    </author>
    <link rel="alternate" href="https://noono.sh/"/>
    <subtitle>just curious about tech</subtitle>
    <icon>https://noono.sh/favicon.svg</icon>
    <rights>All rights reserved 2026, noonosh</rights>
    <entry>
        <title type="html"><![CDATA[the update.]]></title>
        <id>https://noono.sh/the-update</id>
        <link href="https://noono.sh/the-update"/>
        <updated>2025-11-22T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[I need to publish something. It has been a long time.]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-2ac3fa431f728065b5b4e62280430282"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-2ac3fa431f7280b6bd88c1a3529ffaeb">The reason to start this writing is quite fascinating.</div><div class="notion-blank notion-block-2af3fa431f7280d894b7eba4f89ca9db"> </div><blockquote class="notion-quote notion-block-2af3fa431f7280c38b67ea2c93aa688e"><div>I need to publish something. It has been a long time.</div></blockquote><div class="notion-blank notion-block-2af3fa431f728012b4fec14d9f434729"> </div><div class="notion-text notion-block-2af3fa431f7280a79771d91abe262f6a">Every time – every single time – after a single post I “disappear” for months and sometimes years. The longest break between two of my posts is 13 months.</div><div class="notion-blank notion-block-2b33fa431f72802ba702ed67631a590a"> </div><hr class="notion-hr notion-block-2b33fa431f72801b9f8ce242ebcec318"/><div class="notion-blank notion-block-2b33fa431f7280fda2c5fc0440bdcd0a"> </div><div class="notion-text notion-block-2b33fa431f728011b97ad9379dd02ebb">The first part I wrote couple of days ago, but then, I am still struggling getting that momentum of writing. Feeling lost in life is probably one of the most challenging phases, which you will need to overcome alone – solo mode.</div><div class="notion-blank notion-block-2b33fa431f72801e926df0f3fbbb3290"> </div><div class="notion-text notion-block-2b33fa431f7280f2ae39dfff5abc6096">There are a few thought on how to keep the format of my page and posts, but every time I come to a conclusion in my mind that being natural and expressing everything as is – is the most underrated styles.</div><div class="notion-blank notion-block-2b33fa431f72806fabb4d2b9baef563b"> </div><div class="notion-text notion-block-2b33fa431f72803f99e1f387c89bb15c">Yesterday, I have published an NPM package for fun. Total vibe coded. Not a single line of code is by me.</div><div class="notion-blank notion-block-2b33fa431f7280b383c4fd22c953e8d8"> </div><div class="notion-text notion-block-2b33fa431f72801eb1d9e4ea58fca6b4">I asked my <s>slaves</s> agents to build a small tool with a single method that evaluates maths expressions using AI models. For now, only OpenAI’s gpt4.1-mini is available, however in future any new other models can be added easily. <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.npmjs.com/package/califi">The package</a> is called califi and you can see the <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/noonosh/califi">source code here</a>. Well, I have also developed a demo site where you can test the tool in action.</div><div class="notion-blank notion-block-2b33fa431f72801da739e6ff554a3676"> </div><div class="notion-text notion-block-2b33fa431f7280d49aa5f763d44e8bd1">The tool can be useful in various application where you need maths compute in the code. However, this project – both the package and the user interactive website for evaluating maths expressions with the tool – are for fun only and not ready for any production projects. It was the first npm package I have ever developed, and I just enjoyed the fun of the 40 minute process of “crafting” the thing (or telling my <s>slaves</s> agent workers to do the job).</div><div class="notion-blank notion-block-2b33fa431f7280519ac8e35030c20198"> </div><div class="notion-text notion-block-2b33fa431f728092be23d956feb9feed">Anyway, it was a very ADHD-type of writing this time as I was building my RSS feed fetching workflow at the same time as I wrote this post. Basically, I want the first client – Telegram – to be able to fetch my latest blog post and post it in my channel there. That’s the first step though. I’ll add more channels later on.</div></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[STICKING TO THE BASICS]]></title>
        <id>https://noono.sh/sticking-to-the-basics</id>
        <link href="https://noono.sh/sticking-to-the-basics"/>
        <updated>2025-06-09T23:00:00.000Z</updated>
        <summary type="html"><![CDATA[Sharing the latest updates on recursive mindset]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-20e3fa431f7280a9b1e5f2842827dfd5"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-20e3fa431f7280469833ebb87021ddc9">For quite a while now already, I haven’t published a single article off by heart. I am changing the game today and this time I’ve decided the best to express a thought of mine on my way back home on the tube.</div><div class="notion-blank notion-block-2333fa431f7280258e9ae50c5a598b4d"> </div><div class="notion-text notion-block-20e3fa431f72809d9d88eecf0cd625ad">Exploring, discovering and always willing to learn — the disciplines I always used to embrace since my youngest years. Never thought that the world would open up in a such most thought-provoking and challenging way. A fact I have learned for life goes by “Life’s like a bicycle— you have to pedal in order to keep the balance and keep moving — otherwise you will fall”. It might sound like just a fancy sentence to represent life (and very vague), however it accurately describes my contemporary views of the world. Life through the pain. Pain embraces work. Work to balance. Balance to live. Live to keep alive.</div><div class="notion-blank notion-block-20e3fa431f72808cbab4fa6432e4f8ed"> </div><div class="notion-text notion-block-20e3fa431f7280bd8dd1d704fd4f4b94">When I found out about recursion in programming, my brain has clicked off for a while to undermine the deep meaning of <em>why</em> and <em>how</em> it works. Another great question that comes to mind is whoever came up with the concept — what did you have in mind at the time, dude? The key as to which, we all strive to reach, lies in the systematic approach and behavior of the matter around us. For example, anything (literally any state) can be broken down into a hierarchical tree structure, with the root (the beginning) of the tree being the matter in subject and the last leaves consisting of atomic structures that make up that specific matter in reality.</div><div class="notion-blank notion-block-20e3fa431f728027936ece347db38dd8"> </div><div class="notion-text notion-block-20e3fa431f728022b9d6cab696a3db07">Unlike artistic approach, my mind has always kept prioritizing systematic approach and design of problems of any kind that occur in day-to-day life. Whatever I have written in this chunk of paragraph might be gibberish, but to me, it’s legacy.</div><div class="notion-blank notion-block-20e3fa431f72807b909ed05f221ba750"> </div><div class="notion-text notion-block-20e3fa431f72802ba85bf358aa0f7cff">I’m trying to. Not perfect. Purely thoughts.</div><div class="notion-blank notion-block-20e3fa431f7280b78778d59f09e3a77e"> </div><div class="notion-text notion-block-20e3fa431f728016bec3d0eae1c4f26f">To finalize my statement of the title of the given text, obsession to unnecessary details and implementation with tons of garbage creates an opportunity for a “garbage collector” to exist. Basic human needs and basic human biology is perfect. It’s thought after to details. If you don’t see it, look closer. If still nothing — even closer. Sometimes the beauty will be hidden underneath. Think recursively. In the right direction. Basics.</div><div class="notion-blank notion-block-20e3fa431f72809bad75f4c737a7c471"> </div><div class="notion-text notion-block-20e3fa431f7280969f9ceadd303eb203">Style of the text used — basic.</div><div class="notion-blank notion-block-20e3fa431f7280e6b8adc5a25e17d304"> </div><div class="notion-text notion-block-20e3fa431f7280b998bbe5b0ce3899a4">Your, ADHD friend</div></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[You're Exactly Where You Need to Be: Trust Your Timing]]></title>
        <id>https://noono.sh/youre-exactly-where-you-need-to-be-trust-your-timing</id>
        <link href="https://noono.sh/youre-exactly-where-you-need-to-be-trust-your-timing"/>
        <updated>2025-04-10T23:00:00.000Z</updated>
        <summary type="html"><![CDATA[A reminder that everyone's life unfolds uniquely—you're always right on schedule.]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-1d23fa431f7280839ec7f9bdbf00d3eb"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-1d23fa431f72800ab8c7edb490db0466">I found this quote and it just made everything make sense:
</div><div class="notion-text notion-block-1d23fa431f7280509411c3032c26be11">Someone graduated at 22 but waited 5 years
before securing a good job.</div><div class="notion-text notion-block-1d23fa431f728041ae9afc788ca2a917">
Someone became a CEO at 25 and died at
50. While another became a CEO at 50 and
lived to be 90.</div><div class="notion-text notion-block-1d23fa431f728025bc6ce7d1b6b47b4e">
Obama retired at 45,</div><div class="notion-text notion-block-1d23fa431f728062b565d647e86ebe4b">
Trump started at 70.</div><div class="notion-text notion-block-1d23fa431f72803ba157ebc7bc31e23b">
Everyone in this world actually works based
on their own time zone.</div><div class="notion-text notion-block-1d23fa431f7280fbb669c66869438eee">
People around you might seem ahead of you,
and some might seem to be behind you.</div><div class="notion-text notion-block-1d23fa431f728037b218fdfead9a9b95">
But everyone is running their own race in
their own time.</div><div class="notion-text notion-block-1d23fa431f7280309ae5e1d71e89f9e5">
You&#x27;re not late. You&#x27;re not early.</div><div class="notion-text notion-block-1d23fa431f7280c2a010f13aa0c333bf">
You are very much ON TIME.</div></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[To be or not to be – non-technical way of life]]></title>
        <id>https://noono.sh/to-be-or-not-to-be-non-technical-way-of-life</id>
        <link href="https://noono.sh/to-be-or-not-to-be-non-technical-way-of-life"/>
        <updated>2024-12-08T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The moment of realization of randomness of our thoughts in a non-techno world has been exposed and expressed in the most random way inside this post]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-1563fa431f7280d7a2b6e82af69f5833"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-1563fa431f728024a21ecccdb5cc5bcf">Bill Gates once said, he would postpone most of his school tasks to the late date as he found them very easy to accomplish. He later grew older and realized that his procrastination habit is still surviving in this world with him leaving hard moments behind and serving as an obstacle to his decisions in business. In other words, young Gates thought he is smart and would leave his assignments/exams till last minute and prove everyone that it takes pretty short time – a day or two – to complete everything, whereas most of the other students would spend at least a number of count of time in months.</div><div class="notion-blank notion-block-1563fa431f728096a66eeafbda4584ee"> </div><div class="notion-text notion-block-1563fa431f7280f6bb8dfe23e0e4bbeb">Adulthood life is like an ocean, where you swim with sharks. The majority would not leave the shore; however, the riskiest ones find the joy in the middle of the endlessness enjoying God’s art to its fullest.</div><div class="notion-blank notion-block-1563fa431f7280f1b13fe73c69ff8769"> </div><div class="notion-text notion-block-1563fa431f7280d4a70bd4cf3e087736">When you’re training in the swimming pool, your trainer won’t teach you how to sail a boat (run a business in a harsh way of meaning it) nor play hard, rather you’re taught how <b>not</b> to drown and keep yourself <b>safe</b> and minimize all the risks.</div><div class="notion-blank notion-block-1563fa431f7280548864c455e30dadfd"> </div><div class="notion-text notion-block-1563fa431f7280fdb690e73c0f423f4f">Going back to Gates, he admitted, that his procrastination habit has been a burden in his early career life. I just felt almost the same right now, – writing the post and reflecting back on my life for the last three years I spent. Am I on the right track or is too early/late for me? Psychologists say, I am on my <b>own path.</b> Okay, what’s the <span class="notion-inline-underscore">factual</span> answer though?</div><div class="notion-blank notion-block-1563fa431f72806c8fc7d5df2837a8c7"> </div><div class="notion-text notion-block-1563fa431f7280c8b5dcd96231059b57">The answer is – you never know. Keep going, at least that might give you hope that you are striving and eventually reach where you need to be.</div></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[You will WIN with 99.2% chance]]></title>
        <id>https://noono.sh/you-will-win-with-992-chance</id>
        <link href="https://noono.sh/you-will-win-with-992-chance"/>
        <updated>2024-12-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What if I tell you there is a chance for you to win the game with 99% odds?]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-1513fa431f7280fbbb90c978b07a1f7d"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-1513fa431f7280d1bec1c8ce85248a94">That’s correct. If you toss a coin, there’s a 50% chance you win by getting either heads or tails.</div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-1513fa431f728028a53ec7ed395a8abb" data-id="1513fa431f728028a53ec7ed395a8abb"><span><div id="1513fa431f728028a53ec7ed395a8abb" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1513fa431f728028a53ec7ed395a8abb" title="🎲 Numbers game"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">🎲 Numbers game</span></span></h4><div class="notion-text notion-block-1513fa431f728038b71df57d09183163">However, let’s say, you want to win with a higher chances and you’re desperate. Toss the coin 7 times and you’ll get your pick at least once with ~99.2% probability!</div><div class="notion-blank notion-block-1513fa431f728095a914e6b2edda4735"> </div><div class="notion-text notion-block-1513fa431f728058ba9efe64cf7b58af">Yes, that might not map exactly as we wish to the real world scenarios, but think to yourself, when you’re about to do something, you try hard and your odds of winning that championship or say getting that contract or maybe landing a new job offer from top company is around 50/50. That’s when you remind yourself of number game.</div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-1513fa431f7280f59793cc4cecdba700" data-id="1513fa431f7280f59793cc4cecdba700"><span><div id="1513fa431f7280f59793cc4cecdba700" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1513fa431f7280f59793cc4cecdba700" title="🪨 Try your best"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">🪨 Try your best</span></span></h4><div class="notion-text notion-block-1513fa431f72802c819df0e86cb6bc5f">Try hard, even harder than before. On your third try you have 87.5% winning odds!!!</div><div class="notion-blank notion-block-1513fa431f7280e391a6cf83903d8468"> </div><div class="notion-text notion-block-1513fa431f7280449f8ddf2a29a843a3">You should never give up!</div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-1513fa431f72802296feed5bd6318005" data-id="1513fa431f72802296feed5bd6318005"><span><div id="1513fa431f72802296feed5bd6318005" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1513fa431f72802296feed5bd6318005" title="🏎️ Formula"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">🏎️ Formula</span></span></h4><div class="notion-text notion-block-1513fa431f72807eb214ed9eb87f42a7">Here’s formula if you’re interested:</div><span role="button" tabindex="0" class="notion-equation notion-equation-block notion-block-1513fa431f728092a5ebdc14645622f1"><span></span></span><div class="notion-text notion-block-1513fa431f7280a28f1ef389d3e2b9c8">Where:</div><ul class="notion-list notion-list-disc notion-block-1513fa431f72805b873bf95ef34eca89"><li><b>n</b>=7 (number of tosses),</li></ul><ul class="notion-list notion-list-disc notion-block-1513fa431f7280c68bc3c00ba314b723"><li><b>k</b> (number of heads),</li></ul><ul class="notion-list notion-list-disc notion-block-1513fa431f728080a555f2a955ef99ad"><li><b>p</b>=0.5 (probability of heads).</li></ul><hr class="notion-hr notion-block-1513fa431f7280ebacd7f97b6cf8038c"/><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-1513fa431f7280eca6e3d83efb6ec0bb" data-id="1513fa431f7280eca6e3d83efb6ec0bb"><span><div id="1513fa431f7280eca6e3d83efb6ec0bb" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1513fa431f7280eca6e3d83efb6ec0bb" title="More"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">More</span></span></h4><ul class="notion-list notion-list-disc notion-block-1513fa431f7280e49e18cbd90999f7e9"><li>Follow me on <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://linkedin.com/in/noonosh">LinkedIn</a></li></ul><ul class="notion-list notion-list-disc notion-block-1513fa431f72806cbe3dc4e0ecb343c6"><li><a target="_blank" rel="noopener noreferrer" class="notion-link" href="mailto:mail@noono.sh">Email me</a></li></ul></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[10X boost with Cursor – moreover, you learn]]></title>
        <id>https://noono.sh/10x-boost-with-cursor-moreover-you-learn</id>
        <link href="https://noono.sh/10x-boost-with-cursor-moreover-you-learn"/>
        <updated>2024-11-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[I have experimented to develop a landing page from 0 to production, deployed it and had first user sign up]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-14a3fa431f728073b9fde5bf7491175b"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-14a3fa431f72805a99fbd106b24949c7">I have never done something like this before. Couple of weeks ago, I came across a term ‘Cursor’ and decided to dig deeper what this new tech is all about.</div><div class="notion-text notion-block-14a3fa431f72805a85aac32a7685c7e5">A few days later, here I am, using it to its maximum potential.</div><div class="notion-text notion-block-14a3fa431f7280d9a33ac948aa21d3e1">I have developed a minimal (but functional) landing webpage with NextJS, TailwindCSS and Shadcn components – all using Cursor’s AI capabilities.</div><div class="notion-blank notion-block-14a3fa431f7280178828ebb119bc6291"> </div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-14a3fa431f7280be8faff5b83a7221b1"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F8e6c374d-b9a0-400b-acba-fd7ede042ad7%2Fa0e30e55-2ead-45e0-9a71-3c31d66bf3f1%2Fimage.png?table=block&amp;id=14a3fa43-1f72-80be-8faf-f5b83a7221b1&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-14a3fa431f7280abbd13d00b1999bf7a"> </div><div class="notion-text notion-block-14a3fa431f728064b279f67c024c2e76">It took me under 2 hours in pure development time to construct this production ready site with <em>minimal</em> input from me.</div><div class="notion-blank notion-block-14a3fa431f72800390abe66d353f74e2"> </div><div class="notion-text notion-block-14a3fa431f7280fd9b68ebf2c0329562">When I say <b>minimal,</b> I mean, I have interacted with every single line of code and proof-read what the Cursor is giving out as a solution to a particular problem, because it’s not always the case that it comes up with a great example.</div><div class="notion-blank notion-block-14a3fa431f72804ea9afc3cea468d551"> </div><div class="notion-text notion-block-14a3fa431f728032b468f87ec1c6856a">However, it has easily done the following:</div><div class="notion-to-do notion-block-14a3fa431f72801bbd65cbdf7bcc7680"><div class="notion-to-do-item"><span class="notion-property notion-property-checkbox"><div class="notion-property-checkbox-checked"><svg viewBox="0 0 14 14"><path d="M5.5 12L14 3.5 12.5 2l-7 7-4-4.003L0 6.499z"></path></svg></div></span><div class="notion-to-do-body notion-to-do-checked">Generated Hero, About Us, Contact Us, Tours, Header and Footer sections</div></div><div class="notion-to-do-children"></div></div><div class="notion-to-do notion-block-14a3fa431f7280e282bfff3add4b25d4"><div class="notion-to-do-item"><span class="notion-property notion-property-checkbox"><div class="notion-property-checkbox-checked"><svg viewBox="0 0 14 14"><path d="M5.5 12L14 3.5 12.5 2l-7 7-4-4.003L0 6.499z"></path></svg></div></span><div class="notion-to-do-body notion-to-do-checked">Implemented i18n under my commands</div></div><div class="notion-to-do-children"></div></div><div class="notion-to-do notion-block-14a3fa431f728099b47ee8350622b5d2"><div class="notion-to-do-item"><span class="notion-property notion-property-checkbox"><div class="notion-property-checkbox-checked"><svg viewBox="0 0 14 14"><path d="M5.5 12L14 3.5 12.5 2l-7 7-4-4.003L0 6.499z"></path></svg></div></span><div class="notion-to-do-body notion-to-do-checked">Developed form submission</div></div><div class="notion-to-do-children"></div></div><div class="notion-to-do notion-block-14a3fa431f7280cca0c1dfc95f8579c8"><div class="notion-to-do-item"><span class="notion-property notion-property-checkbox"><div class="notion-property-checkbox-checked"><svg viewBox="0 0 14 14"><path d="M5.5 12L14 3.5 12.5 2l-7 7-4-4.003L0 6.499z"></path></svg></div></span><div class="notion-to-do-body notion-to-do-checked">Added animations</div></div><div class="notion-to-do-children"></div></div><div class="notion-to-do notion-block-14a3fa431f7280328ec8cfcaa8a70688"><div class="notion-to-do-item"><span class="notion-property notion-property-checkbox"><div class="notion-property-checkbox-checked"><svg viewBox="0 0 14 14"><path d="M5.5 12L14 3.5 12.5 2l-7 7-4-4.003L0 6.499z"></path></svg></div></span><div class="notion-to-do-body notion-to-do-checked">Automatically setup image carousel for hero section</div></div><div class="notion-to-do-children"></div></div><div class="notion-to-do notion-block-14a3fa431f72808eaf93f31ffbff9235"><div class="notion-to-do-item"><span class="notion-property notion-property-checkbox"><div class="notion-property-checkbox-unchecked"></div></span><div class="notion-to-do-body">Smoothly integrated form data submission to Google Sheets via API</div></div><div class="notion-to-do-children"></div></div><div class="notion-blank notion-block-14a3fa431f7280119c77c9a77b785625"> </div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-14a3fa431f728009949afc2f64d78e84"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F8e6c374d-b9a0-400b-acba-fd7ede042ad7%2Fa39a718c-0832-4ef8-b45f-bc9c1a5099aa%2Fimage.png?table=block&amp;id=14a3fa43-1f72-8009-949a-fc2f64d78e84&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-14a3fa431f7280228d8ac5de72cdc4f5"> </div><div class="notion-text notion-block-14a3fa431f72805e8c9ae627f8507c8d">The reason why the last box is not checked is because of GCP’s interesting method of  <code class="notion-inline-code">iam.disableServiceAccountKeyCreation</code> , which basically does not allow you to create keys for your Service Account you might have just created. If you’re newbie, you’ll at least spend an hour understanding the structure of GCP and eventually learning the whole infrastructure just to obtain a Private Key for your project.</div><div class="notion-blank notion-block-14a3fa431f7280f9a61ae207dd343f7d"> </div><div class="notion-text notion-block-14a3fa431f7280d7af57e5a52fdb7d73"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.reddit.com/r/googleworkspace/comments/1biw03d/comment/lcsvjz5/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button">As per this guy</a>, the docs really did not tell enough of where about to navigate – it’s been a while since I haven’t visited my GCP dashboard, so forgot most of the stuff there!</div><div class="notion-blank notion-block-14a3fa431f7280709df0fc3df877291a"> </div><div class="notion-text notion-block-14a3fa431f72808cb5b5cb3fba083ec7">Thanks to <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://stackoverflow.com/questions/78507983/how-do-i-remove-the-iam-disableserviceaccountkeycreation-constraint">this</a> StackOverflow thread, I was able to add a role for the user and eventually alter the disable enforcement to ‘off’.</div><div class="notion-blank notion-block-14a3fa431f728068bbc6cf5b8b5db0d0"> </div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-14a3fa431f72808eafc2d64cfaa41024"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F8e6c374d-b9a0-400b-acba-fd7ede042ad7%2F557a132a-18b6-40bd-8b23-fffbce1f0c21%2Fimage.png?table=block&amp;id=14a3fa43-1f72-808e-afc2-d64cfaa41024&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-14a3fa431f72808097c9f7e4c5bdce28"> </div><div class="notion-text notion-block-14a3fa431f7280eca40cd10fe94761b7">This, in turn, has triggered all my AI written, detail configured, productive code to work with the Google Sheets API finally, and submit user form data to the sheets.</div><div class="notion-blank notion-block-14a3fa431f7280cd8e2ff33497482902"> </div><div class="notion-text notion-block-14a3fa431f72805bbef5cd991cd53be9">Caveat – you’ll need to add Google Service Email as Editor from the Google Sheets page for the app to be able to access and edit rows in your sheets, otherwise API is gonna throw an error of kinda ‘Not enough permissions’.</div><div class="notion-blank notion-block-14a3fa431f72809c905ec86a23e1ddba"> </div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-14a3fa431f72806da9d4de69b4bc005c"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F8e6c374d-b9a0-400b-acba-fd7ede042ad7%2F9bb9c064-d767-4da7-b616-d2c14ec5e7a7%2Fimage.png?table=block&amp;id=14a3fa43-1f72-806d-a9d4-de69b4bc005c&amp;cache=v2" alt="There are 200 confetti’s fired on the screen. You don’t have to code CSS for that nowadays." loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">There are 200 confetti’s fired on the screen. You don’t have to code CSS for that nowadays.</figcaption></div></figure><div class="notion-blank notion-block-14a3fa431f7280c2a8e0f200bdac0fc1"> </div><div class="notion-text notion-block-14a3fa431f7280a18885d00d1d47881d">Takeaway:</div><div class="notion-text notion-block-14a3fa431f7280d98584c79c51038e25">I come from a more in-depth technical background and in the past I have mostly developed algorithmic systems instead of creating animated UIs. All I wanna say, you don’t have to know the template technology that’s been advertised out there online – <b>the chances of that same tech</b> being <b>either replaced</b> by more sophisticated superior technology that can generate, manipulate and host code all on its own <b>OR</b> its <b>versions</b> and <b>structure</b> changing to new modern for that time styles, which in turn is gonna make you foolish remembering all that legacy boilerplate, <b>is higher than 50%</b> if you think about it.</div><div class="notion-blank notion-block-14a3fa431f72807281c9e3fcb55da922"> </div><div class="notion-text notion-block-14a3fa431f7280878b61c121fcae5616">Not sponsored:</div><div class="notion-text notion-block-14a3fa431f728030894ccfb934c199dd">Cursor AI – <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.cursor.com/">https://www.cursor.com/</a></div><div class="notion-blank notion-block-14a3fa431f7280b08100c5cf0cec46f8"> </div></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Learning a lot – knowing nothing]]></title>
        <id>https://noono.sh/learning-a-lot-knowing-nothing</id>
        <link href="https://noono.sh/learning-a-lot-knowing-nothing"/>
        <updated>2024-11-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Once you realize you know everything - is the moment when you find you know nothing]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-14a3fa431f728097b79cfa3c37699d2b"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><blockquote class="notion-quote notion-block-14a3fa431f7280cfafbac4cd2be3f8cf"><div>The more I learned, the more I discovered how foolish I am to not know more.</div></blockquote><div class="notion-blank notion-block-14a3fa431f7280219141c6c8e5c18bfe"> </div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-14a3fa431f72802d8309ddae170ca89c"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F8e6c374d-b9a0-400b-acba-fd7ede042ad7%2F0799581f-2e89-4a8e-a8c1-61230bccf1df%2FFirefox_Developer_Edition_YCCy4oDS_11_2024.png?table=block&amp;id=14a3fa43-1f72-802d-8309-ddae170ca89c&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000]]></title>
        <id>https://noono.sh/1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000</id>
        <link href="https://noono.sh/1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000"/>
        <updated>2024-11-05T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[nothing serious, just curious]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-1353fa431f72809888b4eebf7482a21d"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-text notion-block-1353fa431f72801a8be4df6785243654">Imagine a situation when you have to read this number out loud, what would you say?</div><div class="notion-blank notion-block-1353fa431f7280639002f9af29c10b60"> </div><span role="button" tabindex="0" class="notion-equation notion-equation-block notion-block-1353fa431f728019a671f62e084c9aa8"><span></span></span><div class="notion-blank notion-block-1353fa431f72809f9a33ca0433169a27"> </div><div class="notion-text notion-block-1353fa431f7280458194cbbeb2e4b057">🗣️: it is <span role="button" tabindex="0" class="notion-equation notion-equation-inline"><span></span></span> <em>(billion)</em> times <span role="button" tabindex="0" class="notion-equation notion-equation-inline"><span></span></span> <em>(billion) </em>times <span role="button" tabindex="0" class="notion-equation notion-equation-inline"><span></span></span> <em>(billion) </em>times <span role="button" tabindex="0" class="notion-equation notion-equation-inline"><span></span></span> <em>(thousand)</em>!!!</div><div class="notion-blank notion-block-1353fa431f7280de9ae7e11ebe41c29e"> </div><div class="notion-text notion-block-1353fa431f728041932ff975b75a7b80">Actually, did you know, there is a word for that (h<em>uuuu</em>ge) number as per BIPM.</div><div class="notion-blank notion-block-1353fa431f72802da992dbfdf5e71285"> </div><div class="notion-text notion-block-1353fa431f72804b8388d7e410919b92">In 2022, BIPM (Bureau International des Poids et Mesures) came up with a word that can describe 10^27 and 10^30 in both (negative and positive) forms.</div><div class="notion-blank notion-block-1353fa431f72805c988ed9450ed6ad9e"> </div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-1353fa431f728084b71ed36848446db9" data-id="1353fa431f728084b71ed36848446db9"><span><div id="1353fa431f728084b71ed36848446db9" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1353fa431f728084b71ed36848446db9" title=" - Quetta"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><span role="button" tabindex="0" class="notion-equation notion-equation-inline"><span></span></span> - Quetta</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-1353fa431f7280fb9e55ca3f7fcd6a96" data-id="1353fa431f7280fb9e55ca3f7fcd6a96"><span><div id="1353fa431f7280fb9e55ca3f7fcd6a96" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1353fa431f7280fb9e55ca3f7fcd6a96" title=" - Quecto"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><span role="button" tabindex="0" class="notion-equation notion-equation-inline"><span></span></span> - Quecto</span></span></h3><div class="notion-blank notion-block-1353fa431f7280389d09de590b8570c0"> </div><hr class="notion-hr notion-block-1353fa431f7280698b11ce5a5523b159"/><div class="notion-blank notion-block-1353fa431f728046a7ebc46b5cb88acf"> </div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-1353fa431f7280d4823cf6a88acd7266" data-id="1353fa431f7280d4823cf6a88acd7266"><span><div id="1353fa431f7280d4823cf6a88acd7266" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1353fa431f7280d4823cf6a88acd7266" title=" - Ronna"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><span role="button" tabindex="0" class="notion-equation notion-equation-inline"><span></span></span> - Ronna</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-1353fa431f7280febe45f38f2d2d0cef" data-id="1353fa431f7280febe45f38f2d2d0cef"><span><div id="1353fa431f7280febe45f38f2d2d0cef" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1353fa431f7280febe45f38f2d2d0cef" title=" - Ronto"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><span role="button" tabindex="0" class="notion-equation notion-equation-inline"><span></span></span> - Ronto</span></span></h3><div class="notion-blank notion-block-1353fa431f728058b56de295436a9f06"> </div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-1353fa431f7280f3be42e7faa4c124dd" data-id="1353fa431f7280f3be42e7faa4c124dd"><span><div id="1353fa431f7280f3be42e7faa4c124dd" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1353fa431f7280f3be42e7faa4c124dd" title="🔑 takeaway"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">🔑 takeaway</span></span></h4><div class="notion-text notion-block-1353fa431f7280ccb2eac6d6a81c58f0">I believe in Moore’s Law to be more truthful rather than ‘falsy’, as even the naming conventions are adapting for the growth in computing power that’s required to process data in today’s world. We are entering new age, where human language is going to be main programming language for all computers.</div><div class="notion-text notion-block-1353fa431f7280c5bddaf4259a609f0d"> </div><div class="notion-callout notion-gray_background_co notion-block-1353fa431f7280d1b279c9ed77c5fd4e"><div class="notion-page-icon-inline notion-page-icon-image"><svg class="notion-page-icon" alt="page icon" viewBox="0 0 30 30" width="16"><path d="M16,1H4v28h22V11L16,1z M16,3.828L23.172,11H16V3.828z M24,27H6V3h8v10h10V27z M8,17h14v-2H8V17z M8,21h14v-2H8V21z M8,25h14v-2H8V25z"></path></svg></div><div class="notion-callout-text"><div class="notion-text notion-block-164c70ccab5e4dbfbaaf4ff951702d51">Now, I don’t love you <b>billion</b> times; I am deeply drowning in your love <b>quetta</b> times.</div></div></div><div class="notion-blank notion-block-1353fa431f72807bbf5ad3a084a24eba"> </div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-1353fa431f72809daefad4c0c53de485" data-id="1353fa431f72809daefad4c0c53de485"><span><div id="1353fa431f72809daefad4c0c53de485" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1353fa431f72809daefad4c0c53de485" title="fyi:"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">fyi:</span></span></h3><ul class="notion-list notion-list-disc notion-block-1353fa431f72803ea8dee601f1cd1848"><li><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://en.wikipedia.org/wiki/Metric_prefix#cite_note-newUnitAdoption-4">https://en.wikipedia.org/wiki/Metric_prefix#cite_note-newUnitAdoption-4</a></li></ul><ul class="notion-list notion-list-disc notion-block-1353fa431f72807f8166e2c3646de000"><li><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.bipm.org/en/cgpm-2022/resolution-3">https://www.bipm.org/en/cgpm-2022/resolution-3</a></li></ul><div class="notion-blank notion-block-1353fa431f7280e09625ea0a991e760c"> </div></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Backtracking & Dynamic Programming]]></title>
        <id>https://noono.sh/backtracking-and-dynamic-programming</id>
        <link href="https://noono.sh/backtracking-and-dynamic-programming"/>
        <updated>2024-10-17T23:00:00.000Z</updated>
        <summary type="html"><![CDATA[Backtracking explores solutions; dynamic programming optimizes subproblems for efficient problem-solving.]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-1233fa431f728023b1e5dea1f3cef43a"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-8f2d9cb8955041d9a6fcf63f6bfad7e4" data-id="8f2d9cb8955041d9a6fcf63f6bfad7e4"><span><div id="8f2d9cb8955041d9a6fcf63f6bfad7e4" class="notion-header-anchor"></div><a class="notion-hash-link" href="#8f2d9cb8955041d9a6fcf63f6bfad7e4" title="Backtracking and Dynamic Programming: Powerful Problem-Solving Techniques"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Backtracking and Dynamic Programming: Powerful Problem-Solving Techniques</span></span></h2><div class="notion-text notion-block-46846ae720a0493193a12b8b5aaa405b">Backtracking and dynamic programming are two fundamental algorithmic paradigms in computer science that are crucial for solving complex problems efficiently. While they approach problem-solving from different angles, both techniques are invaluable in a programmer&#x27;s toolkit.</div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-59049f1b89e04812aa2643f90e77efd2" data-id="59049f1b89e04812aa2643f90e77efd2"><span><div id="59049f1b89e04812aa2643f90e77efd2" class="notion-header-anchor"></div><a class="notion-hash-link" href="#59049f1b89e04812aa2643f90e77efd2" title="Backtracking"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Backtracking</span></span></h3><div class="notion-text notion-block-69fa303db5224d0d8ccd8d9bb5492a24">Backtracking is an algorithmic technique for solving problems recursively by trying to build a solution incrementally, one piece at a time, removing those solutions that fail to satisfy the constraints of the problem at any point of time.</div><ul class="notion-list notion-list-disc notion-block-84a939c362f34bffa404a09ce09972f0"><li>Key characteristics: </li><ul class="notion-list notion-list-disc notion-block-84a939c362f34bffa404a09ce09972f0"><li>Depth-first search approach</li><li>Explores all possible solutions</li><li>Abandons a path as soon as it determines that it cannot lead to a solution</li></ul></ul><div class="notion-text notion-block-b5572dde9dc9472ba4806b1dd9229c05">Common applications of backtracking include:</div><ul class="notion-list notion-list-disc notion-block-1350a739f33049d89e2bc49802fb0c8d"><li>Solving puzzles (e.g., Sudoku, N-Queens)</li></ul><ul class="notion-list notion-list-disc notion-block-6a33019b50784d2da81a61fd0e721dbb"><li>Generating permutations and combinations</li></ul><ul class="notion-list notion-list-disc notion-block-551a724f1c134e839a2e52417c0eb678"><li>Maze-solving algorithms</li></ul><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-ffaedf2c17ec42daafca03a0b2fbb4b1" data-id="ffaedf2c17ec42daafca03a0b2fbb4b1"><span><div id="ffaedf2c17ec42daafca03a0b2fbb4b1" class="notion-header-anchor"></div><a class="notion-hash-link" href="#ffaedf2c17ec42daafca03a0b2fbb4b1" title="Dynamic Programming"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Dynamic Programming</span></span></h3><div class="notion-text notion-block-d7d27f93ec94405f8ff15f2b9e13b40c">Dynamic programming is a method for solving complex problems by breaking them down into simpler subproblems. It is applicable when the subproblems are not independent and there are overlapping subproblems.</div><ul class="notion-list notion-list-disc notion-block-ecdb9c9b369d47d0a97f49f689f872d1"><li>Key characteristics: </li><ul class="notion-list notion-list-disc notion-block-ecdb9c9b369d47d0a97f49f689f872d1"><li>Optimal substructure</li><li>Overlapping subproblems</li><li>Memoization or tabulation to store intermediate results</li></ul></ul><div class="notion-text notion-block-07f236aaa24b44b9a394327b5d2041f6">Common applications of dynamic programming include:</div><ul class="notion-list notion-list-disc notion-block-3ed94bf50cb14f2a9b983ef575d6eedd"><li>Fibonacci sequence calculation</li></ul><ul class="notion-list notion-list-disc notion-block-bf7eb0d08452454c809ce86d80ee1a35"><li>Shortest path algorithms</li></ul><ul class="notion-list notion-list-disc notion-block-eff363eb65584be9a29a3b792b85d983"><li>Knapsack problem</li></ul><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-cf9f7832047a49f68c9aeeafa16fcdfe" data-id="cf9f7832047a49f68c9aeeafa16fcdfe"><span><div id="cf9f7832047a49f68c9aeeafa16fcdfe" class="notion-header-anchor"></div><a class="notion-hash-link" href="#cf9f7832047a49f68c9aeeafa16fcdfe" title="Comparison and Insights"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Comparison and Insights</span></span></h3><div class="notion-text notion-block-e415db8fa6ca455b8d0571207e961e81">While both backtracking and dynamic programming are used to solve complex problems, they differ in their approach:</div><ul class="notion-list notion-list-disc notion-block-9a9c01ac9f55435a9c281489414ad168"><li>Backtracking explores all possible solutions and prunes paths that don&#x27;t lead to a valid solution.</li></ul><ul class="notion-list notion-list-disc notion-block-0a0b109035db42baa85b9657f9e86918"><li>Dynamic programming builds solutions to subproblems and combines them to solve the main problem.</li></ul><ul class="notion-list notion-list-disc notion-block-a4512a2d16b8436fbf7e70ea61f34f86"><li>Backtracking is often used when we need to find all (or some) solutions to a problem.</li></ul><ul class="notion-list notion-list-disc notion-block-f7b609f234a6481f870c8534d414dd00"><li>Dynamic programming is typically used when we need to find an optimal solution and the problem has overlapping subproblems.</li></ul><div class="notion-text notion-block-45449c3af02b49beb9d44a19671fa1a6">Understanding when to apply each technique is crucial for efficient problem-solving in algorithm design and implementation.</div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-b42a1839d46246cda08030e7bf0024d2" data-id="b42a1839d46246cda08030e7bf0024d2"><span><div id="b42a1839d46246cda08030e7bf0024d2" class="notion-header-anchor"></div><a class="notion-hash-link" href="#b42a1839d46246cda08030e7bf0024d2" title="Conclusion"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Conclusion</span></span></h3><div class="notion-text notion-block-4d0e79e2a11445f4b48f74836a812dcc">Mastering backtracking and dynamic programming can significantly enhance a programmer&#x27;s problem-solving skills. These techniques, while different in their approach, are both powerful tools for tackling complex computational problems efficiently.</div><div class="notion-blank notion-block-1233fa431f72800fb81ffec9a4543ac6"> </div><div class="notion-blank notion-block-1233fa431f72805ba099c0fda14c1e40"> </div></main>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Code examples]]></title>
        <id>https://noono.sh/code-examples</id>
        <link href="https://noono.sh/code-examples"/>
        <updated>2024-10-14T23:00:00.000Z</updated>
        <summary type="html"><![CDATA[These are just examples, don’t reproduce in prod]]></summary>
        <content type="html"><![CDATA[<main class="notion light-mode notion-page notion-block-1203fa431f7280959cf6f16f7e277511"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-13e3fa431f72800aa743c2a8cbaa2b82" data-id="13e3fa431f72800aa743c2a8cbaa2b82"><span><div id="13e3fa431f72800aa743c2a8cbaa2b82" class="notion-header-anchor"></div><a class="notion-hash-link" href="#13e3fa431f72800aa743c2a8cbaa2b82" title="React Functional Component"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">React Functional Component</span></span></h3><div class="notion-text notion-block-13e3fa431f7280688fe1e87e1606620f">Reuse your components anywhere within the application.</div><div class="notion-blank notion-block-13e3fa431f72809587d3e46d584fb0b1"> </div></main>]]></content>
    </entry>
</feed>