<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Udit Writes]]></title><description><![CDATA[An Engineer's Journey through code, clarity and consciousness. Documenting my journey as I explore Deeper Layers of web development.]]></description><link>https://uditwrites.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 16:14:57 GMT</lastBuildDate><atom:link href="https://uditwrites.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Self-Driving Car Engineer - Introduction]]></title><description><![CDATA[Hello Readers, I am a frontend engineer working in an MNC from past few years as I am doing well in my field, I always want to explore other technologies and domain as well so the most fascinating dom]]></description><link>https://uditwrites.hashnode.dev/self-driving-car-engineer-introduction</link><guid isPermaLink="true">https://uditwrites.hashnode.dev/self-driving-car-engineer-introduction</guid><category><![CDATA[self-driving cars]]></category><category><![CDATA[Mathematics]]></category><dc:creator><![CDATA[Udit Nimbalkar]]></dc:creator><pubDate>Sat, 05 Sep 2026 14:22:10 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/67ae05bde91c0a78d85c8724/7bdd33a4-248b-43c2-92ce-cd8e6a18be96.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello Readers, I am a frontend engineer working in an MNC from past few years as I am doing well in my field, I always want to explore other technologies and domain as well so the most fascinating domain I am excited about is self-driving cars so I decided to learn everything around it in this journey and in the final stages will build something around it.</p>
<p>As of one of my saying: - when we opt for a job as an engineer often, we bind ourselves to specific kind of tool and in our day-to-day life we forgot about real engineering who we are and what we want to build.</p>
<blockquote>
<p>Before Frontend, Backend or Dev Ops we are engineer's reals engineers.</p>
</blockquote>
<p>We have to break the matrix and learn for our own interest as well</p>
<p>So, Let's Join me in this Journey to Learn All about</p>
<p>Self-Driving Cars</p>
<hr />
<p>Before Starting with Self Driving Car first let's move towards normal cars. The first thing which came on my mind while thinking about self-driving cars is how we are going to move our cars without a driver this is the basic question we all would have.</p>
<p>To answer this, we have to go back to our school days (we will require physics, math) where we learned about speed, velocity, acceleration, vectors, equation of motion etc...</p>
<p>And this is the time we have to apply all this logic to move a vehicle.</p>
<p>We have to get all this values and call this doSomething() method as a programmer so our car will move that's it sound simple right??</p>
<p>Let's start with the refresher, firstly we will understand about motion.</p>
<blockquote>
<p>Every object which is in motion will have speed, direction, acceleration, displacement</p>
</blockquote>
<p>In our case our Object is Our beloved Car so whenever our car moves or want to move it should have these properties associated with it (in future we will have more) based on that we know how car is moving.</p>
<p>To move our car to drift it and detect lanes we should know all these fundamentals.</p>
<p>For now don't worry about all this we will cover it whenever we required the concept.</p>
<p>Now in phase 1 we are going to create a vehicle simulator program where we program a car and feed these properties to move.</p>
<p>As first we are doing it in program we will create a 2D plane on which our car will move</p>
<p>we will represent our car or x and y axis.</p>
<p>That's it for today.</p>
<p>We learn the Introduction why we are learning it and how we are going to move forward.</p>
<p>In Next Lesson we will go deep to understand the fundamentals of Physics and math which we will apply to create our vehicle simulator so you will have a enough knowledge to move forward.</p>
<blockquote>
<p>Tip : Try to read and understand coordinate geometry basics</p>
</blockquote>
<p>Happy Learning</p>
<blockquote>
<p><strong><mark class="bg-yellow-200 dark:bg-yellow-500/30">Next Article =&gt; Every Saturday</mark></strong></p>
</blockquote>
]]></content:encoded></item><item><title><![CDATA[My First Web Assembly Program]]></title><description><![CDATA[Let’s Start Decoding….
As someone who loves to tinker with C++, I always thought of it as a language confined to desktop builds and backend power. But Web Assembly (Wasm) changed the rules of the game—and I recently took my first dive into compiling ...]]></description><link>https://uditwrites.hashnode.dev/my-first-web-assembly-program</link><guid isPermaLink="true">https://uditwrites.hashnode.dev/my-first-web-assembly-program</guid><category><![CDATA[Frontend Development]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[webdev]]></category><category><![CDATA[WebAssembly]]></category><category><![CDATA[cpp]]></category><category><![CDATA[Blogging]]></category><dc:creator><![CDATA[Udit Nimbalkar]]></dc:creator><pubDate>Sun, 29 Jun 2025 08:51:29 GMT</pubDate><content:encoded><![CDATA[<hr />
<h1 id="heading-lets-start-decoding">Let’s Start Decoding….</h1>
<p>As someone who loves to tinker with C++, I always thought of it as a language confined to desktop builds and backend power. But Web Assembly (Wasm) changed the rules of the game—and I recently took my first dive into compiling and running C++ code inside a browser. The experience? Magic.</p>
<h2 id="heading-what-is-web-assembly-anyway">🧠 What is Web Assembly, anyway?</h2>
<p>Web Assembly is a binary instruction format that allows code written in languages like C, C++, and Rust to run on the web at near-native speed. It opens doors for building web apps that are fast, efficient, and not limited to JavaScript alone.</p>
<p>In essence, it gives traditional systems programmers a passport into the world of frontend development—with performance that can keep up with native applications.</p>
<h2 id="heading-before-frontend-backend-or-devops-we-are-engineers">🔧 Before Frontend, Backend, or DevOps — We Are Engineers</h2>
<p>In the world of software, titles come and go. Today you might be a frontend wizard, tomorrow a backend architect, and next week knee-deep in CI/CD pipelines. But underneath all that, we're engineers first. That means we solve problems, optimize systems, and build things that matter—regardless of where that code runs. Learning something like Web Assembly isn't just about switching stacks; it’s about sharpening our mindset as creative problem-solvers in an ever-evolving digital landscape.</p>
<h2 id="heading-should-frontend-developers-learn-web-assembly">💻 Should Frontend Developers Learn Web Assembly?</h2>
<p>Short answer: Yes—at least a little.</p>
<p>While Web Assembly doesn’t replace JavaScript or TypeScript, it <em>complements</em> them. If you're a frontend developer working with graphically intensive apps, data visualization, video editing, gaming, or even AI inferencing in the browser, WASM can offer massive performance gains. Plus, understanding how Web Assembly integrates with the DOM and JS makes you a more well-rounded developer.</p>
<p>Even knowing when <strong>not</strong> to use it is a skill in itself.</p>
<h2 id="heading-how-it-sets-you-apart-as-a-frontend-developer">🎯 How It Sets You Apart as a Frontend Developer</h2>
<p>Most Frontend developers are comfortable with HTML, CSS, and JavaScript—but very few venture into low-level performance tuning. By adopting Web Assembly, you place yourself in a unique niche:</p>
<ul>
<li><p>You’re not just styling pixels—you’re optimizing pipelines.</p>
</li>
<li><p>You can bridge native logic into the browser without rewriting legacy code.</p>
</li>
<li><p>You're equipped for hybrid roles at the intersection of frontend, systems, and performance-critical development.</p>
</li>
</ul>
<p>WebAssembly makes you stand out not just in what you build—but in <em>how deeply</em> you understand what powers modern web platforms.</p>
<h2 id="heading-setting-up-the-stage-installing-emscripten">🛠️ Setting Up the Stage: Installing Emscripten</h2>
<p>To compile C++ to WASM, I used the <a target="_blank" href="https://emscripten.org/">Emscripten SDK (emsdk)</a>. Here’s the basic setup:</p>
<pre><code class="lang-bash">git <span class="hljs-built_in">clone</span> https://github.com/emscripten-core/emsdk.git
<span class="hljs-built_in">cd</span> emsdk
emsdk install latest
emsdk activate latest
./emsdk_env.sh   <span class="hljs-comment"># Use emsdk_env.bat on Windows</span>
</code></pre>
<p>Once that’s done, you’ll have access to <code>emcc</code>, the Emscripten compiler.</p>
<h2 id="heading-writing-my-first-program">👨‍💻 Writing My First Program</h2>
<p>Let’s go with the classic:</p>
<pre><code class="lang-cpp"><span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string">&lt;iostream&gt;</span></span>
<span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{
  <span class="hljs-built_in">std</span>::<span class="hljs-built_in">cout</span> &lt;&lt; <span class="hljs-string">"Hello, WebAssembly!"</span> &lt;&lt; <span class="hljs-built_in">std</span>::<span class="hljs-built_in">endl</span>;
  <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;
}
</code></pre>
<p>To compile this into Web Assembly:</p>
<pre><code class="lang-bash">emcc hello.cpp -o hello.html
</code></pre>
<p>This creates:</p>
<ul>
<li><p><code>hello.wasm</code> — your compiled Web Assembly binary</p>
</li>
<li><p><code>hello.js</code> — JavaScript glue code for loading the <code>.wasm</code> module</p>
</li>
<li><p><code>hello.html</code> — a basic HTML page to tie it all together</p>
</li>
</ul>
<h2 id="heading-serving-the-web-assembly-page-with-an-http-server">🌐 Serving the Web Assembly Page with an HTTP Server</h2>
<p>You can’t open <code>hello.html</code> by double-clicking it—browsers will block <code>.wasm</code> file access via <code>file://</code>. You need a proper local HTTP server.</p>
<p>Here are 3 easy options:</p>
<h3 id="heading-option-1-python-if-installed">✅ Option 1: Python (if installed)</h3>
<pre><code class="lang-bash">python -m http.server 8080
</code></pre>
<p>Then visit <code>http://localhost:8080/hello.html</code></p>
<h3 id="heading-option-2-nodejs-with-http-server">✅ Option 2: Node.js with <code>http-server</code></h3>
<pre><code class="lang-bash">npm install -g http-server
http-server .
</code></pre>
<p>This serves your current directory on <code>http://localhost:8080</code></p>
<h3 id="heading-option-3-live-server-in-vs-code">✅ Option 3: Live Server in VS Code</h3>
<p>If you use Visual Studio Code:</p>
<ol>
<li><p>Install the <strong>Live Server</strong> extension.</p>
</li>
<li><p>Right-click <code>hello.html</code> → <strong>Open with Live Server</strong></p>
</li>
</ol>
<p>Super convenient—and it auto-reloads changes while you develop.</p>
<h2 id="heading-real-world-examples-of-web-assembly-in-action">🌍 Real-World Examples of Web Assembly in Action</h2>
<p>Web Assembly is already used in production by global companies:</p>
<ul>
<li><p>🕹️ <strong>Unity</strong>: Runs full 3D games in the browser via Web Assembly export.</p>
</li>
<li><p>✏️ <strong>Figma</strong>: Uses Wasm for real-time collaborative design performance.</p>
</li>
<li><p>📐 <strong>AutoCAD Web</strong>: Autodesk brought its powerful CAD tools to the web using Web Assembly.</p>
</li>
<li><p>🔐 <strong>1Password</strong>: Uses Wasm for secure client-side encryption in-browser.</p>
</li>
<li><p>🧠 <strong>TensorFlow.js</strong>: Leverages Web Assembly for blazing-fast ML model inference.</p>
</li>
<li><p>🧬 <strong>Bam.bio</strong>: In-browser genomics analysis using native tools compiled to Wasm.</p>
</li>
</ul>
<h2 id="heading-why-this-matters">💡 Why This Matters</h2>
<p>Web Assembly opens doors to:</p>
<ul>
<li><p>⚡ High-performance computing in the browser</p>
</li>
<li><p>🔁 Code reuse from native platforms to web</p>
</li>
<li><p>📉 Smaller JavaScript bundles through smart module offloading</p>
</li>
<li><p>🌍 Cross-platform, install-free apps with native-like speed</p>
</li>
</ul>
<p>If you’re building games, simulations, editors, or processing-heavy web apps—Web Assembly is your secret weapon.</p>
<h2 id="heading-whats-next">🧭 What’s Next?</h2>
<p>Now that I’ve dipped my toes in Web Assembly, I’m dreaming big—maybe building a graphical demo, interactive game, or even bringing my old C++ logic to the web with a sleek frontend UI.</p>
<p>I used to think C++ had no business in the browser. Turns out, it just needed a passport—and Web Assembly stamped it in.</p>
<hr />
<p><strong>Thanks for reading!</strong></p>
]]></content:encoded></item></channel></rss>