<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Fayaz</title>
    <description>The latest articles on DEV Community by Fayaz (@fm).</description>
    <link>https://dev.to/fm</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F40939%2F6efd7aef-f7ee-41ef-9df7-25bc381ea657.jpg</url>
      <title>DEV Community: Fayaz</title>
      <link>https://dev.to/fm</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fm"/>
    <language>en</language>
    <item>
      <title>I Won a Writing Challenge That I Almost Didn't Publish!</title>
      <dc:creator>Fayaz</dc:creator>
      <pubDate>Mon, 24 Aug 2026 17:24:53 +0000</pubDate>
      <link>https://dev.to/fm/i-won-a-writing-challenge-that-i-almost-didnt-publish-2cn0</link>
      <guid>https://dev.to/fm/i-won-a-writing-challenge-that-i-almost-didnt-publish-2cn0</guid>
      <description>&lt;p&gt;All praise to almighty God, and thanks to Google and the DEV Team, a while back, I won the &lt;a href="https://dev.to/fm/the-2026-agentic-era-with-gemini-agent-platform-surviving-cascading-failures-and-runaway-cloud-1gbk"&gt;Google Cloud NEXT '26 Writing Challenge&lt;/a&gt;!&lt;/p&gt;


&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/devteam/congrats-to-the-google-cloud-next-26-writing-challenge-winners-5990" class="crayons-story__hidden-navigation-link"&gt;Congrats to the Google Cloud NEXT '26 Writing Challenge Winners!&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
      &lt;a href="https://dev.to/devteam/congrats-to-the-google-cloud-next-26-writing-challenge-winners-5990" class="crayons-article__context-note crayons-article__context-note__feed"&gt;&lt;p&gt;Google Cloud NEXT '26 Winners&lt;/p&gt;

&lt;/a&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;
          &lt;a class="crayons-logo crayons-logo--l" href="/devteam"&gt;
            &lt;img alt="The DEV Team logo" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg" class="crayons-logo__image"&gt;
          &lt;/a&gt;

          &lt;a href="/jess" class="crayons-avatar  crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F264%2Fb75f6edf-df7b-406e-a56b-43facafb352c.jpg" alt="jess profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/jess" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Jess Lee
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Jess Lee
                &lt;a href="/++"&gt;&lt;img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png"&gt;&lt;/a&gt;
                
              
              &lt;div id="story-author-preview-content-3627978" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/jess" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F264%2Fb75f6edf-df7b-406e-a56b-43facafb352c.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Jess Lee&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

            &lt;span&gt;
              &lt;span class="crayons-story__tertiary fw-normal"&gt; for &lt;/span&gt;&lt;a href="/devteam" class="crayons-story__secondary fw-medium"&gt;The DEV Team&lt;/a&gt;
            &lt;/span&gt;
          &lt;/div&gt;
          &lt;a href="https://dev.to/devteam/congrats-to-the-google-cloud-next-26-writing-challenge-winners-5990" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 7&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/devteam/congrats-to-the-google-cloud-next-26-writing-challenge-winners-5990" id="article-link-3627978"&gt;
          Congrats to the Google Cloud NEXT '26 Writing Challenge Winners!
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/cloudnextchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;cloudnextchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/googlecloud"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;googlecloud&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/devteam/congrats-to-the-google-cloud-next-26-writing-challenge-winners-5990" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;51&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/devteam/congrats-to-the-google-cloud-next-26-writing-challenge-winners-5990#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              18&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;A big congrats to all the other winners of this challenge. 🥳&lt;/p&gt;

&lt;p&gt;The "interesting" thing is, I &lt;em&gt;almost&lt;/em&gt; didn't even publish the post! 😬&lt;/p&gt;

&lt;p&gt;I was running behind schedule and I still had too many things to say. I wanted the post to be perfect! But then I remembered the saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Perfection&lt;/strong&gt; is the enemy of &lt;strong&gt;good enough&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So I focused on a specific topic, and completed writing right around 20 minutes before the deadline.&lt;/p&gt;

&lt;p&gt;And just when I wanted to press the &lt;strong&gt;Publish&lt;/strong&gt; button, I thought, why don't I check the Challenge page and see how much time I have left.&lt;/p&gt;

&lt;p&gt;To my utter shock, the DEV &lt;a href="https://dev.to/challenges/google-cloud-next-2026-04-22"&gt;Challenge page&lt;/a&gt; was showing the status: &lt;strong&gt;ENDED&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj5lod90dfy3gg47p7sna.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj5lod90dfy3gg47p7sna.png" alt="Challenge Ended Status"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For a minute there, I thought I must have miscalculated the deadline based on my time zone, but then I got my confidence back after double-checking the deadline and timezone conversion.&lt;/p&gt;

&lt;p&gt;At that point, there was no time to confirm with the DEV Team, so I just published the post first, and then wrote a comment on the Challenge announcement post. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3amxum7l2yd9z05422gx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3amxum7l2yd9z05422gx.png" alt="Conversation with Dev management"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Long story short: it was showing me the &lt;strong&gt;ENDED&lt;/strong&gt; status because of a bug.&lt;/p&gt;

&lt;p&gt;Thanks &lt;a class="mentioned-user" href="https://dev.to/jess"&gt;@jess&lt;/a&gt; for those quick responses! 🥰&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Phew! Man, was I ever glad that I went through with publishing the post!&lt;/p&gt;

&lt;p&gt;Obviously, after becoming one of the winners, I was totally thrilled, and in a way, gained a few pleasant lifelong lessons:&lt;/p&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Never give up!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ship, even if it's not perfect.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hope my story will motivate others to publish more.&lt;/p&gt;




&lt;p&gt;If you liked the post, here's another real-life story where I learned a few more lifelong lessons - and this time, the hard way!&lt;/p&gt;


&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/fm/why-my-biggest-embarrassment-was-also-one-of-my-greatest-learning-experiences-in-programming-3o0c" class="crayons-story__hidden-navigation-link"&gt;Why my biggest embarrassment was also one of my greatest learning experiences in Programming!&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
      &lt;a href="https://dev.to/fm/why-my-biggest-embarrassment-was-also-one-of-my-greatest-learning-experiences-in-programming-3o0c" class="crayons-article__context-note crayons-article__context-note__feed"&gt;&lt;p&gt;Summer Bug Smash: Smash Stories 🐛🛹&lt;/p&gt;

&lt;/a&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/fm" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F40939%2F6efd7aef-f7ee-41ef-9df7-25bc381ea657.jpg" alt="fm profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/fm" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Fayaz
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Fayaz
                &lt;a href="/++"&gt;&lt;img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png"&gt;&lt;/a&gt;
                
              
              &lt;div id="story-author-preview-content-4430137" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/fm" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F40939%2F6efd7aef-f7ee-41ef-9df7-25bc381ea657.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Fayaz&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/fm/why-my-biggest-embarrassment-was-also-one-of-my-greatest-learning-experiences-in-programming-3o0c" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Aug 24&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/fm/why-my-biggest-embarrassment-was-also-one-of-my-greatest-learning-experiences-in-programming-3o0c" id="article-link-4430137"&gt;
          Why my biggest embarrassment was also one of my greatest learning experiences in Programming!
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/bugsmash"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;bugsmash&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/performance"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;performance&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/fm/why-my-biggest-embarrassment-was-also-one-of-my-greatest-learning-experiences-in-programming-3o0c" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;8&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/fm/why-my-biggest-embarrassment-was-also-one-of-my-greatest-learning-experiences-in-programming-3o0c#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            10 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>devchallenge</category>
      <category>motivation</category>
      <category>writing</category>
      <category>ai</category>
    </item>
    <item>
      <title>Why my biggest embarrassment was also one of my greatest learning experiences in Programming!</title>
      <dc:creator>Fayaz</dc:creator>
      <pubDate>Mon, 24 Aug 2026 06:29:53 +0000</pubDate>
      <link>https://dev.to/fm/why-my-biggest-embarrassment-was-also-one-of-my-greatest-learning-experiences-in-programming-3o0c</link>
      <guid>https://dev.to/fm/why-my-biggest-embarrassment-was-also-one-of-my-greatest-learning-experiences-in-programming-3o0c</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/bugsmash"&gt;DEV's Summer Bug Smash: Smash Stories&lt;/a&gt; powered by &lt;a href="https://sentry.io/" rel="noopener noreferrer"&gt;Sentry&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The background
&lt;/h2&gt;

&lt;p&gt;This happened almost twenty years ago, in the year 2006, back in my undergraduate days, when I was still studying CSE - I participated in my first and only &lt;a href="https://en.wikipedia.org/wiki/International_Collegiate_Programming_Contest" rel="noopener noreferrer"&gt;International Collegiate Programming Contest&lt;/a&gt; (ICPC), which was then known as &lt;a href="https://en.wikipedia.org/wiki/ACM_ICPC_Dhaka_Site#2006" rel="noopener noreferrer"&gt;ACM-ICPC&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I was, and still am, one of those programmers who like to take it slow, with full clarity, and try to completely grasp the concepts all by myself before jumping into implementation. As a result, I never was competitive programming contest material!&lt;/p&gt;

&lt;p&gt;So then, why did I participate in that contest?&lt;/p&gt;

&lt;p&gt;Well, one fine morning, I was working on a project in our university's computer lab, and two of my friends came to me and said, "We want to participate in the upcoming ICPC that our university is hosting, and we want you to join us!"&lt;/p&gt;

&lt;p&gt;They even wanted to make me the team lead! I was hesitant at first, but then I thought, "Why not? It will be a good learning experience!" So I agreed to join them. Except for the team lead part, of course, that would have been a bit too much for me, given my lack of interest in competitive programming.&lt;/p&gt;

&lt;h2&gt;
  
  
  A bit more about my own background
&lt;/h2&gt;

&lt;p&gt;I've never publicly shared this story before, especially because of the embarrassing part of it, but I think it's way past time to share it now, as I feel that it can be a good learning experience for others.&lt;/p&gt;

&lt;p&gt;To make sure readers understand the context of my embarrassment, I need to give a bit more background about my programming experiences up until that point.&lt;/p&gt;

&lt;p&gt;I started my Bachelor in Computer Science and Engineering (CSE) in 2002, at &lt;a href="https://www.northsouth.edu/" rel="noopener noreferrer"&gt;North South University&lt;/a&gt; and I was introduced to programming only in the first semester. Before that, I had no idea what programming was, but I found it interesting from the very first day!&lt;/p&gt;

&lt;p&gt;C was my first programming language, but it was only part of a single credit lab course, which ended merely in three lab sessions, one and a half hours long each! So my real taste in programming began in the second semester, with the course named "Introduction to Object Oriented Programming in Java" - if my memory serves me right.&lt;/p&gt;

&lt;p&gt;Around the middle of that second semester, there was an intra-university solo programming contest, and I participated in it. I was able to solve three out of six problems, which landed me third place in that contest! I was very happy about that, and it gave me a lot of confidence in my programming skills. But after that, outside my regular course curriculum, I became more interested in math, robotics and software development in general. For some reason, competitive programming never really attracted me that much.&lt;/p&gt;

&lt;p&gt;That said, since I was attending that ICPC team contest anyway, I did try to prepare for it for a while. Part of that preparation was going through some problem sets from previous contests. As a CSE student, I was already familiar with most of the algorithms that were needed to solve those problems, so all I needed to do was to practice enough problems to be able to solve them quickly during the contest. We didn't get much time to prepare, so we thought it would be best if we participated in an actual contest before the main event.&lt;/p&gt;

&lt;p&gt;Fortunately for us, there was an online programming contest hosted by &lt;a href="https://www.topcoder.com/" rel="noopener noreferrer"&gt;Topcoder&lt;/a&gt; that was happening around that time. That was a solo contest also known as SRM (Single Round Match). All three of us participated in that contest, and all of us were able to solve two out of three problems individually, which was a good result for us.&lt;/p&gt;

&lt;p&gt;So, from that preparation, we were expecting to solve at least 50-60% of the problems in the main contest! We weren't expecting to win, but we were hoping to do well enough to be recognized!&lt;/p&gt;

&lt;p&gt;As a straight-A student, that was a very basic expectation for me, and I was very confident that I would be able to achieve that. But as it turned out, I was in for a big surprise!&lt;/p&gt;

&lt;h2&gt;
  
  
  The embarrassment
&lt;/h2&gt;

&lt;p&gt;Now that all the background is out of the way, let me get to the embarrassing part of this story:&lt;/p&gt;

&lt;p&gt;We ended up solving ZERO problems in the main contest!&lt;/p&gt;

&lt;p&gt;Yes, you read that right - ZERO problems! We were not able to solve a single problem in that contest, and we ended up at the very bottom of the scoreboard!&lt;/p&gt;

&lt;h2&gt;
  
  
  Doomsday!
&lt;/h2&gt;

&lt;p&gt;Every religion has a doomsday, and if programming were a religion, then that contest was our doomsday!&lt;/p&gt;

&lt;p&gt;As I said before, I thought it would be a good learning experience, and I was right about that eventually, but none of us were expecting this sort of devastating learning experience!&lt;/p&gt;

&lt;p&gt;Out of ten problems, we were able to solve none! We were not even able to solve the easiest problem in that contest, which was a very basic math problem. I still remember that problem somewhat, and I can still solve it in my head without much difficulty. But during that contest, we were not able to solve any of them!&lt;/p&gt;

&lt;p&gt;I clearly remember, the moment I finished reading problem A (the very first problem), I knew that was the easiest problem in the contest.&lt;/p&gt;

&lt;p&gt;In every ICPC, usually there's one problem that is very easy, as far as programming contests go, and it's expected that most teams will be able to solve that problem. The first one is not always the easiest, but in most cases, it is.&lt;/p&gt;

&lt;p&gt;So I started solving it and probably within the first 5-6 minutes, I submitted my solution. But to my surprise, it was rejected! And the reason was given: "Memory Limit Exceeded". I was shocked! I had never encountered that error before, not in the practice problems we solved, and not in the past two contests I participated in!&lt;/p&gt;

&lt;p&gt;It's not that I didn't know what that error meant, but for that particular problem, the input was really straightforward, and there was no way that my solution could have exceeded the memory limit, or so I thought! I was very confused, and I tried to figure out what went wrong, but I couldn't find any issue with my solution. So I submitted it again with some improvement in the algorithm, and it was rejected again for the same reason!&lt;/p&gt;

&lt;p&gt;No matter what I did, I was not able to solve that problem, and I was not able to solve any of the other problems either! All three of us kept getting the same error, for all the problems we attempted to solve! We were completely baffled, and we had no idea what was going on!&lt;/p&gt;

&lt;p&gt;The contest was four and a half hours long, and we gave up after trying for almost three hours! We were completely demoralized, and kept thinking there must be something wrong with the contest system, or maybe it was about solving those problems more efficiently. But no matter what we tried, we could not figure it out!&lt;/p&gt;

&lt;p&gt;After we gave up, we spent the rest of the time gossiping among the three of us, trying to have some fun, as our last unsuccessful attempt to salvage some dignity from that contest.&lt;/p&gt;

&lt;p&gt;And right when there were only a few minutes left in the contest, suddenly something clicked in my mind! OMG! I realized what the problem was!&lt;/p&gt;

&lt;h2&gt;
  
  
  The Aha moment!
&lt;/h2&gt;

&lt;p&gt;Along with the computer, the contestants were allowed to bring some programming or algorithm books, and a pen-drive with some code snippets in it.&lt;/p&gt;

&lt;p&gt;To solve the problems faster, the night before the contest, we wrote some code snippets for some common input and output handling - like taking inputs from the console (Standard Input), taking inputs from a file, printing outputs to the console (Standard Output), printing outputs to a file, etc. following common programming contest input output patterns. We wrote those snippets in C, and we were using those snippets in our solutions.&lt;/p&gt;

&lt;p&gt;But the problem was: we were taking all the input lines into an array all at once, and then processing the array to get the result based on the problem statement, and then concatenating the result into a single string, and then printing that string as the output. That was a very inefficient way of handling input and output, and it was causing our solutions to exceed the memory limit!&lt;/p&gt;

&lt;p&gt;However, since we were only focusing on solving the problems, we didn't realize that our prewritten input and output handling snippets were causing the problem! We were so focused on solving the problems that we didn't even think about the input and output handling part of our solutions!&lt;/p&gt;

&lt;h2&gt;
  
  
  Sample Code
&lt;/h2&gt;

&lt;p&gt;As it happened long ago, I don't have the exact code snippets we used back then, but I can give you a rough idea of what they looked like.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. The Flawed Code (Memory Limit Exceeded)
&lt;/h3&gt;

&lt;p&gt;For example, in this version, we preallocated giant arrays to read all input numbers into memory before processing. Then we processed all formatted output strings in another huge array before printing anything to standard output.&lt;/p&gt;

&lt;p&gt;With &lt;code&gt;100,000&lt;/code&gt; per test case across up to 110 test cases, this instantly exceeded the judge's memory limit.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight c"&gt;&lt;code&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;string.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;stdlib.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;
&lt;span class="cp"&gt;#define MAX_NUMBERS 100000
#define MAX_LEN 25
&lt;/span&gt;
&lt;span class="cm"&gt;/* 
 * Flawed approach: Pre-allocating giant arrays to store all 
 * inputs and outputs in memory before printing.
 */&lt;/span&gt;
&lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;input_numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;MAX_NUMBERS&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="n"&gt;MAX_LEN&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;output_buffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;MAX_NUMBERS&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="n"&gt;MAX_LEN&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;print_differing_suffix&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;end&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;out&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;sprintf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;out&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"%s-%s"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;case_num&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="c1"&gt;// Buffer inputs and outputs across test cases&lt;/span&gt;
    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;scanf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"%d"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;input_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;output_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="c1"&gt;// Store ALL input phone numbers into memory first&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;scanf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"%s"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;input_numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;input_count&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="c1"&gt;// Process stored inputs into output buffer array&lt;/span&gt;
        &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="c1"&gt;// Check for consecutive phone numbers&lt;/span&gt;
            &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;atoll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;input_numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;atoll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;input_numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;

            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="c1"&gt;// Consecutive sequence range found&lt;/span&gt;
                &lt;span class="n"&gt;print_differing_suffix&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;input_numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;input_numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;output_buffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;output_count&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="c1"&gt;// Single standalone phone number&lt;/span&gt;
                &lt;span class="n"&gt;strcpy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;output_buffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;output_count&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;input_numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="c1"&gt;// Print header and buffered outputs all at once&lt;/span&gt;
        &lt;span class="n"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Case %d:&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;case_num&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;output_count&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"%s&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;output_buffer&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="n"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Blank line after each case output&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. The Corrected Code
&lt;/h3&gt;

&lt;p&gt;The proper approach should've been to read, process, and print one line at a time, rather than keeping the complete input and output in memory. In other words, we should've never built a giant concatenated output buffer before flushing it to stdout.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight c"&gt;&lt;code&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;string.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;stdlib.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;
&lt;span class="cp"&gt;#define MAX_LEN 25
&lt;/span&gt;
&lt;span class="cm"&gt;/* 
 * Corrected approach: Helper function to print range directly 
 * to stdout without allocating output buffers.
 */&lt;/span&gt;
&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;print_range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;end&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"%s-%s&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;case_num&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="c1"&gt;// Process case by case using streaming I/O&lt;/span&gt;
    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;scanf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"%d"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Case %d:&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;case_num&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;start_num&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;MAX_LEN&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;prev_num&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;MAX_LEN&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;curr_num&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;MAX_LEN&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
        &lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="n"&gt;prev_val&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;curr_val&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;in_range&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;scanf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"%s"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;curr_num&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;curr_val&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;atoll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;curr_num&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="c1"&gt;// First phone number of the test case&lt;/span&gt;
                &lt;span class="n"&gt;strcpy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;start_num&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;curr_num&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;curr_val&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;prev_val&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="c1"&gt;// Phone number is consecutive, extend current range&lt;/span&gt;
                &lt;span class="n"&gt;in_range&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="c1"&gt;// Consecutive sequence ended; output range or single number immediately&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;in_range&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                    &lt;span class="n"&gt;print_range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;start_num&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;prev_num&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
                &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                    &lt;span class="n"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"%s&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;start_num&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
                &lt;span class="p"&gt;}&lt;/span&gt;
                &lt;span class="c1"&gt;// Start tracking new sequence&lt;/span&gt;
                &lt;span class="n"&gt;strcpy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;start_num&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;curr_num&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
                &lt;span class="n"&gt;in_range&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;

            &lt;span class="n"&gt;strcpy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prev_num&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;curr_num&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;prev_val&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;curr_val&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="c1"&gt;// Output the final range or single number for the current test case&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;in_range&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="n"&gt;print_range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;start_num&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;prev_num&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="n"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"%s&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;start_num&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="n"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Blank line after each case as required by problem specification&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Lessons learnt
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;We thought that programming contests, and programming in general, were all about solving problems very efficiently, but we learned that, in real life, user input and output handling is also a very important part of programming, and it can make or break your solution! We learned that we should always be careful about how we handle input and output, and that we should never assume that the input will always be small enough to fit in memory, or that it will always be in a format that we expect.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We learned that we should always test our code against realistic input and output scenarios, with edge cases.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We learned that, sometimes, in programming, taking breaks and looking at the problem with a fresh set of eyes is essential to find trivial mistakes that we might have otherwise overlooked, while being too focused on the problem, the solution and the efficiency of it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We learned that, in real life, failure doesn't mean the end of the world, and that we should always be ready to learn from our mistakes, and that we should never give up when it gets tough! As the proverb says:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;When the going gets tough, the tough get going!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;While trying to solve the problem after the AHA moment, we realized that we should've used a version control system like Git to keep track of our solutions, so that we could easily go back to a previous simpler version of our code and fix the input/output handling part without having to rewrite the entire solution from scratch, out of all the jumbled code we had written at the later part of the contest to make them unusually efficient! Had we used git, we probably would have been able to solve at least one problem in those last few minutes of the contest, and we would have been able to salvage some dignity from that contest!&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The happy ending
&lt;/h2&gt;

&lt;p&gt;After that embarrassing event, we three attended another programming contest, the last one in our life, as a team.&lt;/p&gt;

&lt;p&gt;It was not an ICPC, but it was a prestigious inter-university programming contest nonetheless.&lt;/p&gt;

&lt;p&gt;We secured &lt;strong&gt;2nd place&lt;/strong&gt; in that one. 🏆&lt;/p&gt;

&lt;p&gt;And last but not least, I started my first job as a Software Engineer a week before my last programming contest. It was a students' contest, but since I was still a student when I registered for it, they allowed me to participate! 😇&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I sincerely hope that this story will help others avoid making the same mistakes we made, but more importantly, I hope that you'll learn to rise up from failures - own them, learn from them, and use them as stepping stones to future success! &lt;/p&gt;




&lt;h2&gt;
  
  
  Disclaimer
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;I used AI to help with grammar and spelling corrections, but the story is genuine, and the main write-up is entirely my own.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Code snippets above are not the exact code snippets we used back then. They are AI (Gemini) generated rough approximations of what they would look like. So please take the story as the lesson, not the code snippets.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The cover image is AI (Gemini) generated.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I wrote the entire thing from memory. So, although the overall story is real, a few minor details here and there may not be!&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://web.archive.org/web/20070225201325/http://northsouth.edu/acm/Problem_Set_with_Analysis_Dhaka2006.pdf" rel="noopener noreferrer"&gt;The Actual Problem Set&lt;/a&gt;. I found it after deeply looking for it in the &lt;a href="https://web.archive.org/" rel="noopener noreferrer"&gt;Wayback Machine&lt;/a&gt;. Salute to the Wayback Machine for preserving this problem set for so long! 🫡&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://profiles.topcoder.com/fayazmiraz" rel="noopener noreferrer"&gt;My Topcoder Profile&lt;/a&gt; after attending the only online programming contest (SRM) before the main contest. Thanks to Topcoder for keeping my profile for twenty years! 😍&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>bugsmash</category>
      <category>programming</category>
      <category>performance</category>
    </item>
    <item>
      <title>I need a new kind of Open Source Software License: "AGPL Pro Max"</title>
      <dc:creator>Fayaz</dc:creator>
      <pubDate>Mon, 15 Jun 2026 20:05:48 +0000</pubDate>
      <link>https://dev.to/fm/i-need-a-new-kind-of-open-source-software-license-agpl-pro-max-4aa6</link>
      <guid>https://dev.to/fm/i-need-a-new-kind-of-open-source-software-license-agpl-pro-max-4aa6</guid>
      <description>&lt;p&gt;As far as I know, &lt;a href="https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License" rel="noopener noreferrer"&gt;AGPL&lt;/a&gt; doesn't cover Large Language Models.&lt;/p&gt;

&lt;p&gt;I think it should, but it doesn't.&lt;/p&gt;

&lt;p&gt;Going forward, we need a new kind of &lt;a href="https://en.wikipedia.org/wiki/Copyleft" rel="noopener noreferrer"&gt;Copy Left&lt;/a&gt; License for Open Source Software - something that covers LLMs as well.&lt;/p&gt;

&lt;p&gt;I mean, your LLM can be trained with my Open Source Software, but only if it's made Open Source as well!&lt;/p&gt;

&lt;p&gt;I'm calling it &lt;strong&gt;AGPL Pro Max&lt;/strong&gt;! 😎&lt;/p&gt;

&lt;p&gt;Someone please give it a better name, and make it popular among developers. 🙏🏼&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does something like this exist already?&lt;/p&gt;

&lt;p&gt;If so, then what is it?&lt;br&gt;
If not, then why not! 🤷&lt;/p&gt;




&lt;div class="ltag__user ltag__user__id__40939"&gt;
    &lt;a href="/fm" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=150,height=150,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F40939%2F6efd7aef-f7ee-41ef-9df7-25bc381ea657.jpg" alt="fm image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/fm"&gt;Fayaz&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/fm"&gt;A Software Engineer who is NOT afraid of being replaced by AI, loves coding &amp;amp; writing without using AI, while still enjoys using it from time to time; and values human life and dignity above all else.&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>programming</category>
      <category>softwareengineering</category>
      <category>opensource</category>
    </item>
    <item>
      <title>New AI Model Quality Check Flowchart.</title>
      <dc:creator>Fayaz</dc:creator>
      <pubDate>Sun, 14 Jun 2026 18:36:38 +0000</pubDate>
      <link>https://dev.to/fm/new-ai-model-quality-check-flowchart-55h4</link>
      <guid>https://dev.to/fm/new-ai-model-quality-check-flowchart-55h4</guid>
      <description>&lt;p&gt;Is it banned by any Government?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Yes = Good Quality&lt;/li&gt;
&lt;li&gt;No = Bad Quality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;😁🤷🙏&lt;/p&gt;





&lt;div class="ltag__user ltag__user__id__40939"&gt;
    &lt;a href="/fm" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=150,height=150,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F40939%2F6efd7aef-f7ee-41ef-9df7-25bc381ea657.jpg" alt="fm image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/fm"&gt;Fayaz&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/fm"&gt;A Software Engineer who is NOT afraid of being replaced by AI, loves coding &amp;amp; writing without using AI, while still enjoys using it from time to time; and values human life and dignity above all else.&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>programming</category>
      <category>jokes</category>
    </item>
    <item>
      <title>Don't always push the EASY button!</title>
      <dc:creator>Fayaz</dc:creator>
      <pubDate>Mon, 08 Jun 2026 14:54:45 +0000</pubDate>
      <link>https://dev.to/fm/dont-always-push-the-easy-button-3b3n</link>
      <guid>https://dev.to/fm/dont-always-push-the-easy-button-3b3n</guid>
      <description>&lt;h2&gt;
  
  
  1. Use it 🧠 or lose it!
&lt;/h2&gt;

&lt;p&gt;BRAIN ≠ &lt;del&gt;BR&lt;/del&gt; AI &lt;del&gt;N&lt;/del&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  2. If AI helps you to stay ahead of the curve 📈
&lt;/h2&gt;

&lt;p&gt;Then use it when you have to, but be smart about it!&lt;br&gt;
Think long term, strike the balance 🤔&lt;br&gt;
Don't lose your skills by always pressing the &lt;strong&gt;EASY&lt;/strong&gt; button!&lt;/p&gt;




&lt;div class="ltag__user ltag__user__id__40939"&gt;
    &lt;a href="/fm" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=150,height=150,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F40939%2F6efd7aef-f7ee-41ef-9df7-25bc381ea657.jpg" alt="fm image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/fm"&gt;Fayaz&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/fm"&gt;A Software Engineer who is NOT afraid of being replaced by AI, loves coding &amp;amp; writing without using AI, while still enjoys using it from time to time; and values human life and dignity above all else.&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>programming</category>
      <category>career</category>
      <category>productivity</category>
    </item>
    <item>
      <title>You'll not be replaced by AI if ...</title>
      <dc:creator>Fayaz</dc:creator>
      <pubDate>Sat, 30 May 2026 03:23:59 +0000</pubDate>
      <link>https://dev.to/fm/youll-not-be-replaced-by-ai-if--5c1</link>
      <guid>https://dev.to/fm/youll-not-be-replaced-by-ai-if--5c1</guid>
      <description>&lt;p&gt;There are many reasons why one may not be replaced by AI, not even by a possible future ASI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Here's one reason that may just apply to you! ❤️
&lt;/h2&gt;

&lt;p&gt;You'll not be replaced by AI if you can generate creative ideas faster than AI can implement them! 🫡🚀&lt;/p&gt;




&lt;h2&gt;
  
  
  Note for critics:
&lt;/h2&gt;

&lt;p&gt;Current AI models (as of May, 2026) are not advanced enough to implement complex ideas without human interventions.&lt;/p&gt;

&lt;p&gt;But even if a possible future Artificial Super Intelligence (ASI) implementation can do so, laws of physics like massive energy requirements, environmental concerns etc. will prevent the implementation to replace the work of Billions of people world-wide.&lt;/p&gt;

&lt;p&gt;Our hardware advancement rate is far far slower compared to our software advancements.&lt;/p&gt;

&lt;p&gt;We humans are far more efficient and compatible to planet earth compared to the hardware we've invented.&lt;/p&gt;





&lt;div class="ltag__user ltag__user__id__40939"&gt;
    &lt;a href="/fm" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=150,height=150,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F40939%2F6efd7aef-f7ee-41ef-9df7-25bc381ea657.jpg" alt="fm image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/fm"&gt;Fayaz&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/fm"&gt;A Software Engineer who is NOT afraid of being replaced by AI, loves coding &amp;amp; writing without using AI, while still enjoys using it from time to time; and values human life and dignity above all else.&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>career</category>
      <category>productivity</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Is it rare to crave for a Super Accessible ASI while also loving your own Human Creativity?</title>
      <dc:creator>Fayaz</dc:creator>
      <pubDate>Thu, 28 May 2026 22:30:00 +0000</pubDate>
      <link>https://dev.to/fm/is-it-common-to-crave-for-a-super-accessible-asi-without-giving-up-human-creativity-54b9</link>
      <guid>https://dev.to/fm/is-it-common-to-crave-for-a-super-accessible-asi-without-giving-up-human-creativity-54b9</guid>
      <description>&lt;p&gt;Am I one of the few "rare" developers who:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. "Secretly" wants AI to finally succeed ...
&lt;/h2&gt;

&lt;p&gt;... doing all the things AI CEOs continuously promise AI will be able to do, &lt;strong&gt;&lt;em&gt;(but fail to deliver)&lt;/em&gt;&lt;/strong&gt; - so that I can implement all those &lt;strong&gt;ten thousand ideas&lt;/strong&gt; I thought I would never have enough time to implement; or will finally be able to implement &lt;strong&gt;&lt;em&gt;my unique Open Source Everything App&lt;/em&gt;&lt;/strong&gt; that will do everything from note taking, to time management, to publish blogs on my personal websites and/or social media, to email management, to password management ... everything in a deterministic way (not like the AI agent way) - all while everything being end to end encrypted, secure and private!&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Yet, still loves the creative self ...
&lt;/h2&gt;

&lt;p&gt;... &lt;strong&gt;writing code, poetry and articles by hand,&lt;/strong&gt; even in a possible future where a super accessible ASI (Artificial Super Intelligence) exists, and even if it's 100% free with unlimited tokens, and even if it can be run locally on cheap hardware?&lt;/p&gt;

&lt;p&gt;Or is this seemingly &lt;strong&gt;&lt;em&gt;contradictory craving&lt;/em&gt;&lt;/strong&gt; very common among developers?&lt;/p&gt;

&lt;p&gt;Just wanted to know!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; No AI was &lt;del&gt;harmed&lt;/del&gt; used to write this post. All the grammatical mistakes and the lack there of, are mine alone 😁&lt;/p&gt;
&lt;/blockquote&gt;





&lt;div class="ltag__user ltag__user__id__40939"&gt;
    &lt;a href="/fm" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=150,height=150,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F40939%2F6efd7aef-f7ee-41ef-9df7-25bc381ea657.jpg" alt="fm image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/fm"&gt;Fayaz&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/fm"&gt;A Software Engineer who is NOT afraid of being replaced by AI, loves coding &amp;amp; writing without using AI, while still enjoys using it from time to time; and values human life and dignity above all else.&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>writing</category>
    </item>
    <item>
      <title>AI fatigue is very real and people are fighting back!</title>
      <dc:creator>Fayaz</dc:creator>
      <pubDate>Wed, 27 May 2026 19:45:09 +0000</pubDate>
      <link>https://dev.to/fm/ai-fatigue-is-very-real-and-people-are-fighting-back-4m1l</link>
      <guid>https://dev.to/fm/ai-fatigue-is-very-real-and-people-are-fighting-back-4m1l</guid>
      <description>&lt;p&gt;Don't really like how CEOs are acting like AI is the solution for everything, it certainly is not!&lt;/p&gt;

&lt;p&gt;Was watching this video today: &lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/FQpZdCKgc6w"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;People need to realize: the &lt;em&gt;reality of AI&lt;/em&gt; and the &lt;em&gt;promise of AI&lt;/em&gt; - are two completely different things!&lt;/p&gt;

&lt;p&gt;Treat AI like any other technology:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Act upon the reality, not the promise!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But people are fighting back, that's a good thing.&lt;br&gt;
Hope we'll reach an equilibrium point soon!&lt;/p&gt;
&lt;h2&gt;
  
  
  My notes:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Don't let companies force you to use AI if it doesn't help your career in the long run.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Is your company simply using you as a &lt;strong&gt;&lt;em&gt;Human Tool&lt;/em&gt;&lt;/strong&gt; to train your &lt;strong&gt;&lt;em&gt;AI Overlords&lt;/em&gt;&lt;/strong&gt; that'll eventually replace you? - Fight back!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Gain and retain your knowledge and skills by doing (coding, designing, writing, reading etc.) yourself.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use AI only if it doesn't violate the above two points!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Foundational human knowledge is not replaceable.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;Your thoughts?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Disclaimers:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;I have no affiliation with the author of the video. Only sharing it because I thought it's interesting for this community.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No AI was &lt;del&gt;harmed&lt;/del&gt; used to write this post 😇&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;


&lt;div class="ltag__user ltag__user__id__40939"&gt;
    &lt;a href="/fm" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=150,height=150,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F40939%2F6efd7aef-f7ee-41ef-9df7-25bc381ea657.jpg" alt="fm image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/fm"&gt;Fayaz&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/fm"&gt;A Software Engineer who is NOT afraid of being replaced by AI, loves coding &amp;amp; writing without using AI, while still enjoys using it from time to time; and values human life and dignity above all else.&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>workplace</category>
      <category>discuss</category>
      <category>career</category>
    </item>
    <item>
      <title>Join the club!

Note to self:
- avoid FOMO
- focus on one thing at a time
- focus on something you can intellectually contribute to

That's it! ❤️</title>
      <dc:creator>Fayaz</dc:creator>
      <pubDate>Fri, 22 May 2026 08:55:06 +0000</pubDate>
      <link>https://dev.to/fm/join-the-club-note-to-self-avoid-fomo-focus-on-one-thing-at-a-time-focus-on-something-2fec</link>
      <guid>https://dev.to/fm/join-the-club-note-to-self-avoid-fomo-focus-on-one-thing-at-a-time-focus-on-something-2fec</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/harsh2644/i-used-to-get-excited-about-new-tools-now-i-feel-tired-1e18" class="crayons-story__hidden-navigation-link"&gt;I Used to Get Excited About New Tools Now I Feel Tired.&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
      &lt;a href="https://dev.to/harsh2644/i-used-to-get-excited-about-new-tools-now-i-feel-tired-1e18" class="crayons-article__context-note crayons-article__context-note__feed"&gt;&lt;p&gt;Staying updated as unpaid homework&lt;/p&gt;

&lt;/a&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/harsh2644" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3735796%2F5b1f4dd8-7933-4db3-917d-f729a6f52f8f.png" alt="harsh2644 profile" class="crayons-avatar__image" width="400" height="400"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/harsh2644" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Harsh 
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Harsh 
                
                
              
              &lt;div id="story-author-preview-content-3716518" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/harsh2644" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3735796%2F5b1f4dd8-7933-4db3-917d-f729a6f52f8f.png" class="crayons-avatar__image" alt="" width="400" height="400"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Harsh &lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/harsh2644/i-used-to-get-excited-about-new-tools-now-i-feel-tired-1e18" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 21&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/harsh2644/i-used-to-get-excited-about-new-tools-now-i-feel-tired-1e18" id="article-link-3716518"&gt;
          I Used to Get Excited About New Tools Now I Feel Tired.
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/mentalhealth"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;mentalhealth&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/career"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;career&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/harsh2644/i-used-to-get-excited-about-new-tools-now-i-feel-tired-1e18" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;78&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/harsh2644/i-used-to-get-excited-about-new-tools-now-i-feel-tired-1e18#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              70&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            5 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>devjournal</category>
      <category>mentalhealth</category>
      <category>productivity</category>
    </item>
    <item>
      <title>The 2026 Agentic Era with Gemini Agent Platform: Surviving Cascading Failures and Runaway Cloud Bills.</title>
      <dc:creator>Fayaz</dc:creator>
      <pubDate>Thu, 30 Apr 2026 06:45:48 +0000</pubDate>
      <link>https://dev.to/fm/the-2026-agentic-era-with-gemini-agent-platform-surviving-cascading-failures-and-runaway-cloud-1gbk</link>
      <guid>https://dev.to/fm/the-2026-agentic-era-with-gemini-agent-platform-surviving-cascading-failures-and-runaway-cloud-1gbk</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-cloud-next-2026-04-22"&gt;Google Cloud NEXT Writing Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;The shift from simple AI pilots to fully autonomous digital task forces is officially here!&lt;/p&gt;

&lt;p&gt;With the release of the &lt;strong&gt;Gemini Enterprise Agent Platform&lt;/strong&gt; at Google Cloud Next '26, developers can now build, scale, and govern agents with the same rigor applied to mission-critical systems.&lt;/p&gt;

&lt;p&gt;We are moving beyond standalone models and stepping into a brave new world where agents seamlessly discover and collaborate with each other using the Agent Registry and the universal A2A protocol.&lt;/p&gt;

&lt;p&gt;But let us talk about the elephant in the room: What exactly happens when a tightly coupled multi-agent system goes off the rails?&lt;/p&gt;

&lt;h2&gt;
  
  
  Anatomy of a Cascading Failure
&lt;/h2&gt;

&lt;p&gt;In a distributed agent architecture, you might have a Planner Agent generating data, an Evaluator Agent judging it, and a Simulator Agent running the scenarios. These agents rely heavily on one another. Didn't someone say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;introducing LLMs means our systems will start breaking in entirely new and unexpected ways!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Imagine a central agent accumulating massive amounts of uncompressed context during a complex simulation. Suddenly, it crashes because it exceeded the 1-million context token limit.&lt;/p&gt;

&lt;p&gt;The immediate result is a severe cascading failure. Dependent agents are left waiting, causing unusually high latency and complete workflow stalls. The domino effect brings the whole interconnected application to a grinding halt.&lt;/p&gt;

&lt;p&gt;Or perhaps something far worse can happen: if some of those dependent agents were constructed slightly wrongly, instead of just waiting for the crashed agent, they may even continue the Agentic loop and keep consuming LLM and API calls, causing a totally unexpected platform bill before you can check your &lt;strong&gt;Budget exceeded&lt;/strong&gt; emails!&lt;/p&gt;

&lt;h2&gt;
  
  
  Failing Gracefully in a Multi-Agent World
&lt;/h2&gt;

&lt;p&gt;Right now, Google Cloud offers features like Event Compaction to force agents to summarize workflows and avoid hitting those massive token limits. We also have Agent Observability to trace underlying reasoning loops and Gemini Cloud Assist to autonomously investigate logs and suggest proactive code fixes.&lt;/p&gt;

&lt;p&gt;To survive the agentic era, developers must build in AI-specific resiliency.&lt;/p&gt;

&lt;p&gt;When a core agent drops offline, dependent Agents must follow a safe fallback mechanism. This could mean returning a cached response from a previous memory session, skipping a non-critical evaluation step, or safely terminating the workflow while alerting a human operator.&lt;/p&gt;

&lt;p&gt;Simply retrying a doomed tool call over and over can be a recipe for disaster!&lt;/p&gt;

&lt;h2&gt;
  
  
  What Google Cloud may Consider Building "Next"
&lt;/h2&gt;

&lt;p&gt;We currently have fantastic guardrails like Agent Gateway for enforcing zero-trust identity policies, Cloud Assist for AI-powered debugging and Wiz integration for a living Security Graph.&lt;/p&gt;

&lt;p&gt;However, to fully support resilient multi-agent environments, Google Cloud should consider introducing a few dedicated stability tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Agentic Circuit Breakers:&lt;/strong&gt; A native feature in the Agent Gateway that detects when an agent fails repeatedly. It would cut off traffic automatically and return immediate fallback errors to prevent system-wide delays.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dependency Graph Health Dashboards:&lt;/strong&gt; While we have great open-standards telemetry, developers need live visualizations that instantly highlight deadlocks when agents are stuck waiting for each other in a multi Agent system. An enhanced Graphical Registry with Agent to Agent, Agent to MCP and Agent to API view may improve the overall understanding of the entire system greatly, especially when the users will end up having multiple multi-agent system for running their entire business.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Automated Fallback Routing:&lt;/strong&gt; Native Agent Registry configurations that route prompts to a simpler, more deterministic backup model if the primary complex reasoning agent fails.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How the Agent development and Orchestration System could be more proactive like an actual Developer
&lt;/h2&gt;

&lt;p&gt;While the agents are proactive in &lt;em&gt;taking action&lt;/em&gt; and &lt;em&gt;suggesting fixes&lt;/em&gt;, &lt;strong&gt;the keynotes do not explicitly demonstrate the agents actively asking the user clarifying questions to improve agent orchestration.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Currently, the system tends to take a user's prompt and immediately generate an architecture, such as instantly spinning up a main agent and a team of sub-agents in the Gemini Enterprise Agent Designer.&lt;/p&gt;

&lt;p&gt;To make the Agent Platform act more like a senior developer, it could incorporate a "consultative phase" where it interrogates the user's prompt before orchestrating the agents (if necessary):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Interactive Architecture Reviews:&lt;/strong&gt; Before deploying an Agent-to-Agent (A2A) network, the system could analyze the dependency graph and ask questions like, &lt;em&gt;"I see the Simulator Agent depends heavily on the Planner Agent. Should we implement an Agentic Circuit Breaker here in case the Planner crashes?"&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Prompting for Edge Cases and Limits:&lt;/strong&gt; Instead of blindly accepting a prompt to build an agent, the system could act as a technical lead and ask, &lt;em&gt;"You are giving this agent access to the live production database. What happens if it loops infinitely? Should we establish a hard Pricing Cap or token limit before I deploy this?"&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Refining Orchestration Logic:&lt;/strong&gt; If a user asks to connect multiple agents, the system might ask, &lt;em&gt;"Do you want these agents to run in parallel to save time, or sequentially so that the Evaluator Agent can grade the Planner Agent's work first?"&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By transitioning from simply executing instructions to actively interviewing the developer about constraints, error handling, and cost management, the platform could help prevent the exact types of cascading failures we observed in the keynote.&lt;/p&gt;

&lt;h2&gt;
  
  
  Controlling Costs: The Need for Pricing Caps
&lt;/h2&gt;

&lt;p&gt;Operating agents safely requires careful attention to both infrastructure scale and token scale. As agents autonomously spawn other sessions and call multiple tools, an unhandled failure can become a massive liability.&lt;/p&gt;

&lt;p&gt;When an agent fails, dependent agents might get stuck in an infinite loop of retries and hallucinations. This generates massive token usage very quickly. Implementing a hard pricing cap on individual agents, or a budget limit across the entire multi-agent system, is a critical financial failsafe.&lt;/p&gt;

&lt;p&gt;If an agentic loop spirals out of control, a pricing cap would automatically suspend the agent once a specific dollar amount is reached. &lt;strong&gt;This ensures companies can innovate with autonomous task forces without the fear of waking up to unforeseeable, astronomically large cloud bills.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As we fully embrace this interconnected agentic era, blending strict technical guardrails with hard financial boundaries is the only way to build truly production-ready AI.&lt;/p&gt;

&lt;p&gt;Let us build responsibly!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>cloudnextchallenge</category>
      <category>googlecloud</category>
      <category>ai</category>
    </item>
    <item>
      <title>Computer Science was never about programming, it's about problem solving.</title>
      <dc:creator>Fayaz</dc:creator>
      <pubDate>Mon, 11 Aug 2025 18:24:27 +0000</pubDate>
      <link>https://dev.to/fm/computer-science-was-never-about-programming-17pk</link>
      <guid>https://dev.to/fm/computer-science-was-never-about-programming-17pk</guid>
      <description>&lt;p&gt;From the very beginning of our CS-101 course, we weren't just taught to write code; we were taught to design solutions. Solutions so sophisticated that, eventually, they are supposed to run without our involvement.&lt;/p&gt;

&lt;p&gt;Today, with AI, that vision has &lt;strong&gt;&lt;em&gt;almost&lt;/em&gt;&lt;/strong&gt; breached our deepest intellectual work, and made many of us question the future of work itself!&lt;/p&gt;


&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/fm/predicting-2025-a-brave-new-world-4iip" class="crayons-story__hidden-navigation-link"&gt;Predicting 2025 - A brave new world!&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/fm" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F40939%2F6efd7aef-f7ee-41ef-9df7-25bc381ea657.jpg" alt="fm profile" class="crayons-avatar__image" width="800" height="1002"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/fm" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Fayaz
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Fayaz
                &lt;a href="/++"&gt;&lt;img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" width="166" height="102"&gt;&lt;/a&gt;
                
              
              &lt;div id="story-author-preview-content-2255669" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/fm" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F40939%2F6efd7aef-f7ee-41ef-9df7-25bc381ea657.jpg" class="crayons-avatar__image" alt="" width="800" height="1002"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Fayaz&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/fm/predicting-2025-a-brave-new-world-4iip" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Feb 3 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/fm/predicting-2025-a-brave-new-world-4iip" id="article-link-2255669"&gt;
          Predicting 2025 - A brave new world!
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/newyearchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;newyearchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/future"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;future&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/fm/predicting-2025-a-brave-new-world-4iip" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;14&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/fm/predicting-2025-a-brave-new-world-4iip#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              5&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;h2&gt;
  
  
  So, should we use AI everywhere? 🤔
&lt;/h2&gt;

&lt;p&gt;If it makes sense, yes, absolutely!&lt;/p&gt;

&lt;p&gt;The use of AI can no longer be stopped anyway, so the only thing we can do is to regulate it for responsible use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Should we fear that AI will replace us? 🫣
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Not really!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here is why:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. AI will never become human:
&lt;/h3&gt;

&lt;p&gt;It can calculate, build, optimize, and predict, but it can never be &lt;strong&gt;&lt;em&gt;us&lt;/em&gt;&lt;/strong&gt;. Which means, there will always be a need for us: our judgment, our empathy, our creativity.&lt;/p&gt;

&lt;p&gt;Yes, the nature of our work will change, as it always has with technological advancements. But change does not mean irrelevance.&lt;/p&gt;

&lt;p&gt;Religion &lt;em&gt;&lt;strong&gt;tells us&lt;/strong&gt;&lt;/em&gt; that even God "used" human involvement to shape human history.&lt;/p&gt;

&lt;p&gt;Nature &lt;em&gt;&lt;strong&gt;shows us&lt;/strong&gt;&lt;/em&gt; that when even a more intelligent species emerges, all others don't simply vanish; they adapt, they evolve, and only those who can't evolve, vanish - but most of them survive in their own way, and some even thrive!&lt;/p&gt;

&lt;p&gt;And to be honest, after all the hypes, &lt;strong&gt;&lt;em&gt;current AI isn't even that intelligent&lt;/em&gt;&lt;/strong&gt;, and the promise of an all knowing super AI model is just that, a vague promise.&lt;/p&gt;

&lt;p&gt;I'll believe it when I see it. And even then, I don't think it's going to replace us for all the reasons mentioned above!&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Experts will always use AI better:
&lt;/h3&gt;

&lt;p&gt;Experts in a field will always have a far better edge over the layman. Besides, if you don't have expertise in a field like Software Development (especially Software Engineering), how would you know when AI makes mistakes?&lt;/p&gt;

&lt;p&gt;Only experts in the field will know that, so companies will always need the experts for reliable and productive development.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Transfer of Responsibility:
&lt;/h3&gt;

&lt;p&gt;Modern AI models sometimes work pretty well, and sometimes make mistakes - so, the question is, who is responsible when an AI model makes a terrible mistake?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The model itself?&lt;/li&gt;
&lt;li&gt;The organization that made the model?&lt;/li&gt;
&lt;li&gt;The company that's using the model?&lt;/li&gt;
&lt;li&gt;The employee that's using the model?&lt;/li&gt;
&lt;li&gt;Government?&lt;/li&gt;
&lt;li&gt;UN?&lt;/li&gt;
&lt;li&gt;Aliens?&lt;/li&gt;
&lt;li&gt;God?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course that's just a rhetoric question.&lt;br&gt;
We simply can't shift responsibility and accountability to an AI model!  &lt;/p&gt;

&lt;p&gt;If for nothing else, then because of responsibility and accountability that AI will not replace us, it can only enhance and change our nature of work - that's all.&lt;/p&gt;

&lt;p&gt;Companies will have to recognize it soon, or will learn it the hard way.&lt;/p&gt;




&lt;p&gt;So, as you see, the future isn't about competing with AI.&lt;/p&gt;

&lt;p&gt;It's about using AI wisely, efficiently and responsibly to solve problems we encounter at everyday life, all while &lt;strong&gt;keeping our expertise intact&lt;/strong&gt; - only this will probably allow us to tackle problems in a way that was once thought impossible.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>webdev</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Use Algolia MCP Server &amp; VSCode GitHub Copilot to Find and Submit Unique Projects in Dev Challenges! ❤️‍🔥</title>
      <dc:creator>Fayaz</dc:creator>
      <pubDate>Mon, 28 Jul 2025 06:03:05 +0000</pubDate>
      <link>https://dev.to/fm/use-algolia-mcp-server-vscode-github-copilot-to-submit-unique-projects-in-dev-challenges-3ph1</link>
      <guid>https://dev.to/fm/use-algolia-mcp-server-vscode-github-copilot-to-submit-unique-projects-in-dev-challenges-3ph1</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/algolia-2025-07-09"&gt;Algolia MCP Server Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Recently I've found myself participating in quite some Dev Challenges. I'm Loving it!&lt;/p&gt;

&lt;p&gt;However, the problem is: Most of my Dev Challenge submissions are done on the weekends. That means by then, there are already many submissions.&lt;/p&gt;

&lt;p&gt;That's great! But what's the point in working on something someone had already done! I mean, it's not always a bad thing, but wouldn't you rather work on something unique!&lt;/p&gt;

&lt;p&gt;In comes &lt;strong&gt;Algolia MCP Server&lt;/strong&gt; Challenge!&lt;/p&gt;

&lt;p&gt;So I thought, would the Algolia MCP Server make it easy for me to check if what I'm going to work on is at least unique so far?&lt;/p&gt;

&lt;p&gt;This is what this project is all about.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built and How I Utilized the Algolia MCP Server
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Installed Algolia MCP Server on VSCode with GitHub Copilot (Linux).&lt;/li&gt;
&lt;li&gt;Developed a CLI Tool to Fetch dev.to Challenge Submissions using the Forem API.&lt;/li&gt;
&lt;li&gt;Developed a Web Interface to check the Submissions locally.&lt;/li&gt;
&lt;li&gt;Developed an MCP (Model Context Protocol) Server named &lt;code&gt;dcs&lt;/code&gt; to get the Submission data in GitHub Copilot Agent Mode.&lt;/li&gt;
&lt;li&gt;Then indexed that Challenge submission data in Algolia, using Algolia MCP Server, by simply asking: &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;#dcs&lt;/code&gt; fetch algoliachallenge tag submissions, get all the submissions from this tag, and add them to my Dev Challenges app in &lt;code&gt;#algolia&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Finally, asked GitHub Copilot in Agent mode if my project idea is unique!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once I built everything, all I had to do was ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;#algolia&lt;/code&gt; in Algolia Challenge did anyone submit something related to GitHub Copilot?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And there it was!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I didn't have to dig deep into all the submissions on dev.to&lt;/li&gt;
&lt;li&gt;Didn't have to do any complex search&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just one single command to Algolia MCP server and the AI Agent took care of the rest!&lt;/p&gt;

&lt;p&gt;In my mind, I've already won something from this challenge! 🚀&lt;/p&gt;

&lt;p&gt;I'm sure other developers are going to love this technique, and future Dev Challenges are going to receive more unique submissions using similar solutions.&lt;/p&gt;

&lt;p&gt;Who knows, may be dev.to will provide their own MCP server in the near future! 💫&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;The following GitHub repo has all the necessary code and instructions for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using GitHub copilot with Algolia MCP Server and DCS (Dev Challenge Submission) MCP Server&lt;/li&gt;
&lt;li&gt;DCS CLI&lt;/li&gt;
&lt;li&gt;DCS Web App&lt;/li&gt;
&lt;/ul&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/SweaDev" rel="noopener noreferrer"&gt;
        SweaDev
      &lt;/a&gt; / &lt;a href="https://github.com/SweaDev/dcs" rel="noopener noreferrer"&gt;
        dcs
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Dev Challenge Submissions
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Dev Challenge Submissions&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A modern web application for browsing dev challenge submissions from dev.to. This app consists of a CLI tool to fetch submissions, a React web interface to display them, and an MCP server for AI assistant integration.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/1200316/472185798-03fc5b73-e23a-4760-a3a4-daf7d86631d5.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODc1ODM0MTYsIm5iZiI6MTc4NzU4MzExNiwicGF0aCI6Ii8xMjAwMzE2LzQ3MjE4NTc5OC0wM2ZjNWI3My1lMjNhLTQ3NjAtYTNhNC1kYWY3ZDg2NjMxZDUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDgyNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA4MjRUMTQ1MTU2WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MjZkYzIzN2E0NmY3N2NlNDVmZmQ1MGM4ZWM1YWMyY2UzYzBiYWQ4YTY1MjE0YWJkMDc5MzJjMjRjMDVkMzlkYyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.5m9E2jruRYuEctnh6771Pngb6R9P8BuXk5HdUvTDcwg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F1200316%2F472185798-03fc5b73-e23a-4760-a3a4-daf7d86631d5.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODc1ODM0MTYsIm5iZiI6MTc4NzU4MzExNiwicGF0aCI6Ii8xMjAwMzE2LzQ3MjE4NTc5OC0wM2ZjNWI3My1lMjNhLTQ3NjAtYTNhNC1kYWY3ZDg2NjMxZDUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDgyNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA4MjRUMTQ1MTU2WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MjZkYzIzN2E0NmY3N2NlNDVmZmQ1MGM4ZWM1YWMyY2UzYzBiYWQ4YTY1MjE0YWJkMDc5MzJjMjRjMDVkMzlkYyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.5m9E2jruRYuEctnh6771Pngb6R9P8BuXk5HdUvTDcwg" alt="React web interface demo"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Roadmap / Todo list:&lt;/h2&gt;
&lt;/div&gt;
&lt;ul class="contains-task-list"&gt;
&lt;li class="task-list-item"&gt;
 More detailed hands on tutorial about using this project effectively.&lt;/li&gt;
&lt;li class="task-list-item"&gt;
 Daily auto update of Challenge submissions.&lt;/li&gt;
&lt;li class="task-list-item"&gt;
 Filtering out unrelated posts that uses the Challenge tags.&lt;/li&gt;
&lt;li class="task-list-item"&gt;
 FullStack Web App with option to use your own LLM API key for unique project brainstorming.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CLI Tool&lt;/strong&gt;: Fetch, update, and manage submissions from dev.to using the Forem API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Beautiful Web Interface&lt;/strong&gt;: Browse submissions with sorting and search functionality&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MCP Server&lt;/strong&gt;: Model Context Protocol server for AI assistant integration (GitHub Copilot, Claude, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auto-refresh&lt;/strong&gt;: Web app automatically updates when new data is fetched or removed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Responsive Design&lt;/strong&gt;: Works great on desktop and mobile devices&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safe Operations&lt;/strong&gt;…&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/SweaDev/dcs" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/oeyFBbAWrVw"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I've made the initial setup using &lt;code&gt;vite&lt;/code&gt; and &lt;code&gt;pnpm&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Then mostly vibe coded the solutions using GitHub Copilot in Agent Mode with Claude Sonnet 4. But I did have to do some work when Claude started to make mistakes. So it's not all vibe coded work.&lt;/li&gt;
&lt;li&gt;Algolia MCP Server documentation doesn't provide instructions for Linux or GitHub Copilot, but with a bit of tinkering, I could make it work.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;.vscode/mcp.json&lt;/code&gt; file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"servers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"algolia"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"${input:algolia_mcp_dir}/algolia-mcp"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"dcs"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"${input:dcs_mcp_dir}/server"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"inputs"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"algolia_mcp_dir"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"promptString"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Path to the Algolia MCP directory"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"password"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"dcs_mcp_dir"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"promptString"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Path to the dev.to Challenges MCP directory"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"password"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;GitHub Copilot's support for Algolia MCP Server is quite good!&lt;/li&gt;
&lt;li&gt;Although, only Claude models support Algolia MCP Server in GitHub Copilot, GPT models don't support it! Gives 400 error.&lt;/li&gt;
&lt;li&gt;That said, GitHub's own MCP Server works with GPT 4.1 in GitHub Copilot Agent Mode. Didn't have time to debug why Algolia MCP Server only works with Claude models. Perhaps Algolia team will work on this?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Overall, participating in this challenge was really a happy experience for me.&lt;/p&gt;

&lt;p&gt;I hope other developers will also be benefited from this project. ❤️&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>algoliachallenge</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
