<?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: Paritosh Parashar</title>
    <description>The latest articles on Forem by Paritosh Parashar (@paritoshparashar).</description>
    <link>https://forem.com/paritoshparashar</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%2F1124731%2F352c16ed-5c0f-400c-b4a8-1008acd712b8.png</url>
      <title>Forem: Paritosh Parashar</title>
      <link>https://forem.com/paritoshparashar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/paritoshparashar"/>
    <language>en</language>
    <item>
      <title>My First Tiny Project: NanoNode 🛠️</title>
      <dc:creator>Paritosh Parashar</dc:creator>
      <pubDate>Sat, 16 Aug 2025 13:23:43 +0000</pubDate>
      <link>https://forem.com/paritoshparashar/my-first-tiny-project-nanonode-1i8e</link>
      <guid>https://forem.com/paritoshparashar/my-first-tiny-project-nanonode-1i8e</guid>
      <description>&lt;p&gt;When I started learning Node.js, I realized something: it’s not just about &lt;em&gt;“how to code in Node”&lt;/em&gt;, but about understanding how things work under the hood.&lt;/p&gt;

&lt;p&gt;To explore that curiosity, I built my very first tiny (assignment-level) project: &lt;strong&gt;NanoNode&lt;/strong&gt; — a mini clone of the Node.js CLI.&lt;/p&gt;

&lt;p&gt;You can run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nanonode path_to_file.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;…and it will execute the file as if you had typed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;node path_to_file.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;👉 (Check it out on &lt;a href="https://www.npmjs.com/package/@paritoshparashar/nanonode" rel="noopener noreferrer"&gt;npm&lt;/a&gt;:)&lt;/p&gt;

&lt;p&gt;It’s simple. It’s not “useful” for anyone. But it’s cool because it helped me connect theory and practice in a way that sticks. &lt;/p&gt;

&lt;h2&gt;
  
  
  🌱 The Spark: Why Do Modules Even Exist?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;It all started with a question:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;💭 Why is there even a need for a module system in the first place?&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Without modules, everything lives in one giant file.&lt;/li&gt;
&lt;li&gt;Sharing and reusing code becomes painful.&lt;/li&gt;
&lt;li&gt;Modularity makes large systems maintainable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;That naturally led me to:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Why do we have both CommonJS and ES6 modules?&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CommonJS was Node’s solution before JavaScript had one.&lt;/li&gt;
&lt;li&gt;ES6 modules became JavaScript’s native standard.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both coexist because tech evolves, but history doesn’t vanish overnight.&lt;/p&gt;
&lt;h2&gt;
  
  
  🔍 Chasing the Mystery of &lt;code&gt;module&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;When I first saw &lt;code&gt;module.exports&lt;/code&gt;, I was confused:&lt;/p&gt;

&lt;p&gt;💭 &lt;em&gt;Where does this &lt;code&gt;module&lt;/code&gt; object even come from?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It wasn’t in my code. Who put it there?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After digging, I discovered:&lt;/p&gt;

&lt;p&gt;-Node.js actually &lt;strong&gt;wraps every file in a function&lt;/strong&gt; (the Module Wrapper).&lt;br&gt;
-That’s why arguments like &lt;code&gt;module&lt;/code&gt;, &lt;code&gt;require&lt;/code&gt;, &lt;code&gt;exports&lt;/code&gt;, &lt;code&gt;__dirname&lt;/code&gt; magically exist.&lt;br&gt;
-And that’s why top-level variables are &lt;strong&gt;local&lt;/strong&gt;, not truly global.&lt;/p&gt;

&lt;p&gt;Here’s a simplified skeleton of what happens every time you run a file in Node.js:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;IIFE - Immediately Invoked Function Expression
(function (exports, require, module, __filename, __dirname) {

  // 👇 Your code goes here
  console.log("Hello World");

  // By default, module.exports = {}
})( // the argument values here);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This also explained why:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every file can safely have its own &lt;code&gt;module.exports&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;require(path)&lt;/code&gt; works by 

&lt;ol&gt;
&lt;li&gt;Locating the file&lt;/li&gt;
&lt;li&gt;Wrapping it in this function&lt;/li&gt;
&lt;li&gt;Executing it&lt;/li&gt;
&lt;li&gt;Returning &lt;code&gt;module.exports&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At that point, I could &lt;em&gt;mentally sketch out&lt;/em&gt; how &lt;code&gt;require&lt;/code&gt; function also worked internally. &lt;strong&gt;Huge “aha!” moment.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔧 What I Learned by Building NanoNode
&lt;/h2&gt;

&lt;p&gt;To turn this curiosity into something real, I wrote pari.js, a script that mimics Node’s CLI. Along the way, I learned:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Shebang&lt;/strong&gt; (#!/usr/bin/env node) &lt;strong&gt;→&lt;/strong&gt; lets you run scripts directly, no &lt;code&gt;node&lt;/code&gt; prefix needed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Environment variables &amp;amp; PATH →&lt;/strong&gt; how your system finds executables when you type a command.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Executable permissions →&lt;/strong&gt; why &lt;code&gt;chmod +x file&lt;/code&gt; matters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;npm publishing →&lt;/strong&gt; how to make a package installable globally with &lt;code&gt;npm install -g&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All from something that just… runs a file. 😅&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Tiny Project Matters
&lt;/h2&gt;

&lt;p&gt;The project itself is tiny. But the &lt;strong&gt;learnings were massive&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I now understand how Node bootstraps code under the hood.&lt;/li&gt;
&lt;li&gt;I practiced packaging and publishing an npm module.&lt;/li&gt;
&lt;li&gt;I learned the difference between local vs truly global scope in Node.
-And most importantly: theory became practical because I tied it to a goal.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As Sherlock would say, these learnings are now stored in my &lt;strong&gt;Mind Palace&lt;/strong&gt; 🏰.&lt;/p&gt;

&lt;h2&gt;
  
  
  👀 What’s Next: A Useful CLI Tool
&lt;/h2&gt;

&lt;p&gt;If NanoNode was my &lt;em&gt;hello-world at the systems level&lt;/em&gt;, then my &lt;strong&gt;next project&lt;/strong&gt; is something that actually solves a &lt;em&gt;real problem&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;⚡ &lt;strong&gt;Snapi: Fast, Lightweight CLI for Testing HTTP Requests&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We all use tools like Postman or Insomnia for API testing. They’re powerful, but:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;They’re heavy.&lt;/li&gt;
&lt;li&gt;They take time to load.&lt;/li&gt;
&lt;li&gt;They’re overkill if you just want to test a quick request.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I thought: Why not build a &lt;em&gt;fast, lightweight, terminal-based request tester&lt;/em&gt;?&lt;/p&gt;

&lt;p&gt;Something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;req-test GET https://api.example.com/users

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

&lt;/div&gt;



&lt;p&gt;And instantly see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Response status&lt;/li&gt;
&lt;li&gt;Headers&lt;/li&gt;
&lt;li&gt;JSON body (pretty-printed)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🎯 Why It Should Exist
&lt;/h2&gt;

&lt;p&gt;Because developers often just need something &lt;strong&gt;fast and minimal&lt;/strong&gt; — no UI overhead, no extra clicks, just type a command and see results.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Lightweight&lt;/strong&gt; compared to &lt;strong&gt;Postman&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native&lt;/strong&gt; to the terminal workflow.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Useful&lt;/strong&gt; for debugging APIs on the fly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This time, unlike NanoNode, it’s going to be &lt;strong&gt;actually useful&lt;/strong&gt;. 😉&lt;/p&gt;

&lt;p&gt;Stay tuned — that’s what my next blog post will be about!&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨ Closing Thought
&lt;/h2&gt;

&lt;p&gt;Building NanoNode taught me that &lt;strong&gt;small projects can unlock big insights&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Sometimes you don’t need to build the next unicorn app. Even a tiny utility can push your understanding to the next level.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://www.npmjs.com/package/@paritoshparashar/nanonode" rel="noopener noreferrer"&gt;NanoNode Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And next time, I’ll share my journey of building Snapi — a CLI Request Tester. Trust me, you’ll actually want to use this one.&lt;/p&gt;

</description>
      <category>node</category>
      <category>learning</category>
      <category>sideprojects</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Finding the Way: My Backend Dev Journey Begins</title>
      <dc:creator>Paritosh Parashar</dc:creator>
      <pubDate>Tue, 05 Aug 2025 17:00:20 +0000</pubDate>
      <link>https://forem.com/paritoshparashar/finding-my-way-in-computer-science-a-public-journey-begins-hpm</link>
      <guid>https://forem.com/paritoshparashar/finding-my-way-in-computer-science-a-public-journey-begins-hpm</guid>
      <description>&lt;p&gt;👋 Hello. I’m &lt;strong&gt;Paritosh&lt;/strong&gt; — a bachelor’s student in Computer Science at &lt;strong&gt;Universität des Saarlandes&lt;/strong&gt;, Germany.&lt;br&gt;
This post is both a &lt;strong&gt;personal milestone&lt;/strong&gt; and a &lt;strong&gt;public declaration&lt;/strong&gt;: I'm starting a journey to go deep into &lt;strong&gt;backend development&lt;/strong&gt; and computer science, with full focus and full honesty.&lt;/p&gt;

&lt;p&gt;But before I talk about where I’m going, I want to share a bit about where I come from.&lt;/p&gt;




&lt;h2&gt;
  
  
  🇮🇳 &lt;strong&gt;From India to Germany — and Into the Unknown&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I moved to Germany from India to study Computer Science.&lt;br&gt;
It wasn't an easy decision. Everything changed — &lt;strong&gt;the country, the language, the food, the people&lt;/strong&gt;, and &lt;strong&gt;the education system&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Doing a CS degree in Germany, especially at &lt;strong&gt;UdS&lt;/strong&gt;, is &lt;strong&gt;tough&lt;/strong&gt;. The university has a strong theoretical foundation, and the courses are far from easy.&lt;/p&gt;

&lt;p&gt;There were semesters where I questioned everything:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Am I good enough? Am I on the right path?&lt;br&gt;
Everyone seemed to have it figured out. I felt stuck.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Despite that, a few subjects made me feel &lt;strong&gt;alive&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;System Architecture&lt;/li&gt;
&lt;li&gt;Build an 8-bit CPU&lt;/li&gt;
&lt;li&gt;Compiler Design&lt;/li&gt;
&lt;li&gt;Anything that touches the &lt;strong&gt;low-level workings of computers&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’ve attended deep seminars, struggled through tough assignments, and applied to thesis opportunities — because deep down, I know this is where I thrive.&lt;/p&gt;

&lt;p&gt;But something was missing.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤯 &lt;strong&gt;Too Much Advice, Not Enough Clarity&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Like many of you reading this, I’ve spent hours consuming:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;YouTube videos&lt;/li&gt;
&lt;li&gt;Twitter threads&lt;/li&gt;
&lt;li&gt;Reddit opinions&lt;/li&gt;
&lt;li&gt;Blog posts about how to “succeed” in tech&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here’s what I kept hearing:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Just do DSA."&lt;br&gt;
"Build projects!"&lt;br&gt;
"No, contribute to open source. Or maybe do CP. Or learn AI now!"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It became a mess — a sea of &lt;strong&gt;conflicting advice&lt;/strong&gt; that left me frozen.&lt;/p&gt;

&lt;p&gt;So I made a decision: &lt;strong&gt;Enough is enough.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 &lt;strong&gt;What This Journey Is About&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This is a &lt;strong&gt;public experiment&lt;/strong&gt;. A journey I’m sharing openly, with no filters.&lt;/p&gt;

&lt;p&gt;I’ve chosen to go deep into backend development, starting with &lt;strong&gt;Node.js&lt;/strong&gt;. My focus is on building &lt;strong&gt;creative, meaningful projects&lt;/strong&gt; — not just to learn, but to &lt;strong&gt;grow into a developer people can’t ignore&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here’s what you can expect:&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ &lt;strong&gt;My Approach:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Project-based learning&lt;/strong&gt; aligned with a clear backend roadmap&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Weekly&lt;/strong&gt; or &lt;strong&gt;milestone-based&lt;/strong&gt; blog updates&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Honest sharing&lt;/strong&gt; of everything I learn, struggle with, break, or build&lt;/p&gt;

&lt;p&gt;A strong focus on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Performance&lt;/li&gt;
&lt;li&gt;Design&lt;/li&gt;
&lt;li&gt;Clean Architecture&lt;/li&gt;
&lt;li&gt;Debugging &amp;amp; Testing&lt;/li&gt;
&lt;li&gt;Scalability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Later on, I also plan to dive into &lt;strong&gt;open source&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I’m doing all this while:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Managing my &lt;strong&gt;CS degree&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Living alone in a &lt;strong&gt;foreign country&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Searching for my &lt;strong&gt;bachelor’s thesis&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m not doing this because it’s easy — I’m doing it because I know this is where my life &lt;strong&gt;turns around&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤝 &lt;strong&gt;Why You Should Follow Along&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you’re someone who’s also:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tired of shallow advice&lt;/li&gt;
&lt;li&gt;Unsure where to focus&lt;/li&gt;
&lt;li&gt;Craving depth and clarity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…then you’re not alone.&lt;br&gt;
This blog is for &lt;strong&gt;people who want to build deep skills&lt;/strong&gt; and &lt;strong&gt;do meaningful work&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This is not a tutorial blog.&lt;br&gt;
It’s not a success story (yet).&lt;br&gt;
It’s a &lt;strong&gt;real, in-progress journey&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Each post will be a snapshot of my:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Progress&lt;/li&gt;
&lt;li&gt;Thinking&lt;/li&gt;
&lt;li&gt;Failures&lt;/li&gt;
&lt;li&gt;Small wins&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As I go from &lt;strong&gt;confused&lt;/strong&gt; to &lt;strong&gt;dangerously good&lt;/strong&gt; — I hope you’ll be there too.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔧 &lt;strong&gt;Let’s Go&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This is &lt;strong&gt;Day 0&lt;/strong&gt;.&lt;br&gt;
I’m starting with &lt;strong&gt;Node.js Fundamentals&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In the next post, I’ll share:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The first project I’m building&lt;/li&gt;
&lt;li&gt;What I’m learning&lt;/li&gt;
&lt;li&gt;The questions shaping my backend thinking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s see where this goes.&lt;br&gt;
I’m all in.&lt;/p&gt;




&lt;h2&gt;
  
  
  📬 &lt;strong&gt;Stay Connected&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Paritosh Parashar&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Student|Builder|Backend Explorer&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;🔗 &lt;a href="https://github.com/paritoshparashar" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; • &lt;a href="https://www.linkedin.com/in/paritosh-parashar-511134208/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; • &lt;a href="https://dev.to/paritoshparashar"&gt;Dev.to&lt;/a&gt;&lt;/p&gt;




</description>
    </item>
  </channel>
</rss>
