<?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>Forem: Sugam Agrawal</title>
    <description>The latest articles on Forem by Sugam Agrawal (@sugam50).</description>
    <link>https://forem.com/sugam50</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F698534%2F2b3a7866-f55f-4f56-8061-cde8dcc0fdbc.png</url>
      <title>Forem: Sugam Agrawal</title>
      <link>https://forem.com/sugam50</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/sugam50"/>
    <language>en</language>
    <item>
      <title>Backend Transitioning to AI Dev</title>
      <dc:creator>Sugam Agrawal</dc:creator>
      <pubDate>Sat, 17 Jan 2026 06:12:02 +0000</pubDate>
      <link>https://forem.com/sugam50/backend-transitioning-to-ai-dev-5d07</link>
      <guid>https://forem.com/sugam50/backend-transitioning-to-ai-dev-5d07</guid>
      <description>&lt;p&gt;After working with LLMs, I believe the hardest part of the transition for backend engineers isn't the math—it's unlearning determinism.&lt;/p&gt;

&lt;p&gt;In traditional distributed systems, Input A always yields Output B. If it doesn't, it’s a bug. With GenAI, Input A might yield Output B today, and a completely different structure tomorrow.&lt;/p&gt;

&lt;p&gt;This breaks everything we know about stability at scale. You can't write a standard unit test for a "vibe check." You can't rely on a model to output valid JSON 100% of the time, even with strict prompting. You can't predict latency when the inference provider is overloaded.&lt;/p&gt;

&lt;p&gt;The solution isn't better prompt engineering; it's defensive architecture. We need to shift focus from "making the model perfect" to building resilient wrappers—schema validators, circuit breakers, and automated evaluation pipelines that catch regressions before users do.&lt;/p&gt;

&lt;p&gt;Treat the LLM like an untrusted, high-latency 3rd-party API, not a magic box.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agentaichallenge</category>
      <category>programming</category>
      <category>python</category>
    </item>
    <item>
      <title>Basic Redis Commands</title>
      <dc:creator>Sugam Agrawal</dc:creator>
      <pubDate>Thu, 23 Sep 2021 14:26:00 +0000</pubDate>
      <link>https://forem.com/sugam50/basic-redis-commands-1052</link>
      <guid>https://forem.com/sugam50/basic-redis-commands-1052</guid>
      <description>&lt;p&gt;starting the server:-&lt;br&gt;
    *redis-server&lt;br&gt;
running the client:-&lt;br&gt;
    *redis-cli&lt;/p&gt;

&lt;p&gt;Command:-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    &amp;gt; exists key                                                     //Test if specified key exists.
    &amp;gt; del key1 key2 ... keyN                                         //Remove the specified keys.
    &amp;gt; ttl key                                                        //Returns remaining time to live, in seconds, for a key with EXPIRE set.
    &amp;gt; set key value                                                  //Sets the value of key to the string value.
    &amp;gt; get key                                                        //Gets the value of key
    &amp;gt; rpush key string or
    &amp;gt; lpush key string                                               //Adds the string to the head (rpush) or tail (lpush) of the list at key. 
    &amp;gt; llen key                                                       //Returns the length of the list at key.
    &amp;gt;lrange key start end                                            //Returns the elements of list at key, zero-based. Negative numbers are offset from the end of the list.
    &amp;gt;lset key index value                                            //Sets the element of list key at index to the specified value.
    &amp;gt;lrem key count value                                            //Removes count number of items from the list that have the specified value.
    &amp;gt;lpop key string or
    &amp;gt;rpop key string                                                 //Atomically removes and returns the first (lpop) or last (rpop) element from list key.
    &amp;gt;sadd key member                                                 //Adds member to the set stored at key.
    &amp;gt;srem key member                                                 //Removes member from set key.
    &amp;gt;spop key or
    &amp;gt;srandmember key                                                 //Returns random element from set key. spop will remove the element.Return element, or nil object if key is empty or doesn't exist
    &amp;gt;smembers key                                                    //Returns all of the members of set key.
    &amp;gt;HSET KEY field value                                            //Set field and value in HASHMAP
    &amp;gt;HGET key field                                                  //GET Key value from HASHMAP
    &amp;gt;HDEL key field                                                  //Delete a pair from HASHMAP
    &amp;gt;HEXISTS KEY FIELD                                               //Check if field exits in HASHMAP

Channel Command:
    &amp;gt;SUBSCRIBE Channel_Name                                          //Starts getting broadcast from a Channel
    &amp;gt;UNSUBSCRIBE Channel_Name                                        //Unsubscribe channel
    &amp;gt;PUBLISH Channel_Name Message                                    //Sends BroadCast Message to all SUBSCRIBERS
    &amp;gt;PSUBSCRIBE D*                                                   //Subscribes all channel starting from Delete
    &amp;gt;PUNSUBSCRIBE D*                                                 //Unsubscribe all channels starting from D

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>database</category>
      <category>devops</category>
      <category>redis</category>
      <category>node</category>
    </item>
    <item>
      <title>Planning Projects</title>
      <dc:creator>Sugam Agrawal</dc:creator>
      <pubDate>Wed, 22 Sep 2021 08:20:57 +0000</pubDate>
      <link>https://forem.com/sugam50/planning-projects-19m7</link>
      <guid>https://forem.com/sugam50/planning-projects-19m7</guid>
      <description>&lt;p&gt;So Here we are to know how to plan your project?&lt;br&gt;
So in industry standard we use a special method to plan the project known as AGILE METHODOLOGY.&lt;/p&gt;

&lt;p&gt;What is Agile?&lt;br&gt;
    Agile software development refers to a group of software development methodologies based on iterative development,where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. &lt;/p&gt;

&lt;p&gt;What is Scrum?&lt;br&gt;
    Scrum is a daily team meeting of nearly 15-20 mins where we discuss our problems and work progress with our teammates.&lt;/p&gt;

&lt;p&gt;So planning the project includes:-&lt;br&gt;
    1. Requirement gathering about the project.&lt;br&gt;
    2. Then breaking the projects into small atomic problems.&lt;br&gt;
    3. Creating HLD documents which consists of your work to do.&lt;br&gt;
    4. Conducting Daily SCRUMS to check upon work progress with teammates.&lt;br&gt;
    5. Getting feedback from Customers and using that feedback to update the project.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#For this we can use a software names- JIRA SOFTWARE.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>programming</category>
      <category>productivity</category>
      <category>workstations</category>
      <category>node</category>
    </item>
    <item>
      <title>Deploy Website on AWS</title>
      <dc:creator>Sugam Agrawal</dc:creator>
      <pubDate>Tue, 21 Sep 2021 10:05:42 +0000</pubDate>
      <link>https://forem.com/sugam50/deploy-website-on-aws-4h7m</link>
      <guid>https://forem.com/sugam50/deploy-website-on-aws-4h7m</guid>
      <description>&lt;p&gt;Here we are going to learn Deployment on AWS.&lt;br&gt;
Steps:-&lt;br&gt;
    1. Go to AWS Console.&lt;br&gt;
    2. Create Account.&lt;br&gt;
    3. Select Launch EC2 instance.&lt;br&gt;
    4. Configure Network settings and SSH.&lt;br&gt;
    5. Now connect to your AWS instance.&lt;br&gt;
    6. Now in your instance Clone your website through github.&lt;br&gt;
    7. Install NVM in you AWS instance.&lt;br&gt;
    8. Now run you WebApp and assign port.&lt;br&gt;
    9. Now to run your webApp in background use below command:&lt;br&gt;
        &amp;gt; Command:-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    ```
       $ forever start ./bin/www
    ```
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;To check runnign background webApps use:&lt;br&gt;
    &amp;gt; Command:-&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;```
   $ forever list
```
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Congrats your webApp is hoisted Now.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>webdev</category>
      <category>devops</category>
      <category>react</category>
      <category>node</category>
    </item>
    <item>
      <title>Free Web Hosting</title>
      <dc:creator>Sugam Agrawal</dc:creator>
      <pubDate>Mon, 13 Sep 2021 11:53:48 +0000</pubDate>
      <link>https://forem.com/sugam50/free-web-hosting-4lkd</link>
      <guid>https://forem.com/sugam50/free-web-hosting-4lkd</guid>
      <description>&lt;p&gt;So as a beginner web developer, we might not have money to host our sites so here are some Free WEB HOSTING sites every web developer must know....&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="http://cwahi.com" rel="noopener noreferrer"&gt;http://cwahi.com&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://110mb.com" rel="noopener noreferrer"&gt;http://110mb.com&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://ripway.com" rel="noopener noreferrer"&gt;http://ripway.com&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://superfreehost.info" rel="noopener noreferrer"&gt;http://superfreehost.info&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://freehostia.com" rel="noopener noreferrer"&gt;http://freehostia.com&lt;/a&gt;&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="http://freeweb7.com" rel="noopener noreferrer"&gt;http://freeweb7.com&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://t35.com" rel="noopener noreferrer"&gt;http://t35.com&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://awardspace.com" rel="noopener noreferrer"&gt;http://awardspace.com&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://phpnet.us" rel="noopener noreferrer"&gt;http://phpnet.us&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://freewebhostingpro.com" rel="noopener noreferrer"&gt;http://freewebhostingpro.com&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://prohosts.org" rel="noopener noreferrer"&gt;http://prohosts.org&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://www.freezoka.com/" rel="noopener noreferrer"&gt;http://www.freezoka.com/&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://000webhost.com/" rel="noopener noreferrer"&gt;http://000webhost.com/&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="http://atspace.com" rel="noopener noreferrer"&gt;http://atspace.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>html</category>
      <category>webmonetization</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
