<?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: Nibodh Daware</title>
    <description>The latest articles on Forem by Nibodh Daware (@nibodhdaware).</description>
    <link>https://forem.com/nibodhdaware</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%2F696073%2F07cfae10-3f80-4ac4-98f9-b8ac9a651da7.jpeg</url>
      <title>Forem: Nibodh Daware</title>
      <link>https://forem.com/nibodhdaware</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/nibodhdaware"/>
    <language>en</language>
    <item>
      <title>Why "Tutorial Hell" Is Actually Good For You: An Exploration vs Exploitation Approach</title>
      <dc:creator>Nibodh Daware</dc:creator>
      <pubDate>Fri, 05 Sep 2025 07:49:18 +0000</pubDate>
      <link>https://forem.com/nibodhdaware/why-tutorial-hell-is-actually-good-for-you-an-exploration-vs-exploitation-approach-41a6</link>
      <guid>https://forem.com/nibodhdaware/why-tutorial-hell-is-actually-good-for-you-an-exploration-vs-exploitation-approach-41a6</guid>
      <description>&lt;h2&gt;
  
  
  The Contrarian Take
&lt;/h2&gt;

&lt;p&gt;What if I told you that everyone giving you advice about "tutorial hell" is completely wrong?&lt;/p&gt;

&lt;p&gt;For years, developers have been screaming: "Stop watching tutorials! Just build projects!" But here's the thing—I've spent the last five years as a developer, and tutorial hell actually made me better, not worse. The secret lies in understanding when to explore versus when to exploit your learning.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is Tutorial Hell?
&lt;/h2&gt;

&lt;p&gt;Tutorial hell is the habit of endlessly watching coding tutorials without ever building anything yourself. You'll binge React tutorials for weeks but never actually create a React app. You'll watch Python courses but never solve a real problem.&lt;/p&gt;

&lt;p&gt;The conventional wisdom says this is a trap—that you're wasting time and fooling yourself into thinking you're learning. But I disagree, and the key to understanding why lies in a fundamental concept from decision theory: &lt;strong&gt;exploration versus exploitation&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Exploration vs Exploitation Framework
&lt;/h2&gt;

&lt;p&gt;In decision theory, there's a classic dilemma between exploration (trying new things to gather information) and exploitation (using what you know to maximize results). This framework perfectly explains when tutorials help and when they hurt.&lt;/p&gt;

&lt;h3&gt;
  
  
  Exploration Phase: Tutorials Excel Here
&lt;/h3&gt;

&lt;p&gt;When you're &lt;strong&gt;exploring&lt;/strong&gt; new technologies, concepts, or domains, tutorials are incredibly powerful because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;They provide rapid overview of possibilities:&lt;/strong&gt; You can quickly understand what's possible in a new field&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;They reveal the landscape:&lt;/strong&gt; You see different approaches, tools, and methodologies&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;They're low-commitment:&lt;/strong&gt; You can sample many different areas without major time investment&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;They build pattern recognition:&lt;/strong&gt; You start recognizing common solutions and approaches&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is exactly what happened when I needed to learn about building AI agents. I was exploring a completely new domain, so I watched three targeted tutorials to understand the landscape before committing to any particular approach.&lt;/p&gt;

&lt;h3&gt;
  
  
  Exploitation Phase: Documentation Takes Over
&lt;/h3&gt;

&lt;p&gt;Once you've identified what you want to build and have a basic understanding, you need to switch to &lt;strong&gt;exploitation mode&lt;/strong&gt;. This is where tutorials become less effective and documentation becomes king:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Depth over breadth:&lt;/strong&gt; Documentation provides comprehensive details you need for real implementation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Authoritative information:&lt;/strong&gt; Official docs are the source of truth, not someone's interpretation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Edge cases and advanced features:&lt;/strong&gt; Tutorials cover the happy path; docs cover everything else&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Up-to-date information:&lt;/strong&gt; Documentation is typically more current than tutorial content&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Three-Phase Learning System
&lt;/h2&gt;

&lt;p&gt;Here's my refined approach that leverages both exploration and exploitation:&lt;/p&gt;

&lt;h3&gt;
  
  
  Phase 1: Strategic Exploration (20% of learning time)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Find 2-3 high-quality tutorials that cover your target domain&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Follow along actively&lt;/strong&gt;—don't just watch, code along&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Focus on understanding concepts, not memorizing syntax&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Identify which specific areas you need to go deeper on&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Phase 2: Rapid Prototyping (30% of learning time)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Build a simple version of your target project immediately&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use tutorials as reference when you get stuck&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Don't worry about best practices—focus on getting something working&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Document what you don't understand for Phase 3&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Phase 3: Deep Exploitation (50% of learning time)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Switch to official documentation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Refactor your prototype using proper patterns and practices&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dive deep into the areas you identified in Phase 1&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Build production-ready versions&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why This Framework Works
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Tutorials Build Foundation Fast
&lt;/h3&gt;

&lt;p&gt;There's something called Bloom's Taxonomy—a learning framework from educational psychology that shows all learning starts with remembering basic concepts. Tutorials excel at this foundational level, giving you the 20% of knowledge that covers 80% of use cases.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. They Eliminate Analysis Paralysis
&lt;/h3&gt;

&lt;p&gt;When exploring new domains, the sheer volume of information can be overwhelming. Tutorials provide a curated path through the complexity, helping you avoid decision paralysis about where to start.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. They're Perfect for Pattern Recognition
&lt;/h3&gt;

&lt;p&gt;By seeing multiple examples and approaches, you develop intuition about what "good" looks like in a new domain. This pattern recognition becomes invaluable when you switch to exploitation mode.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Documentation Becomes More Accessible
&lt;/h3&gt;

&lt;p&gt;Once you have the basic concepts from tutorials, documentation stops being intimidating. You now have context to understand what you're reading and can focus on the specific details you need.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Real Example
&lt;/h2&gt;

&lt;p&gt;Last month, I needed to build an AI agent to organize my cluttered inbox and send newsletter summaries to Telegram.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exploration phase:&lt;/strong&gt; I spent 2 hours watching three tutorials about AI agents, email automation, and Telegram bots. This gave me the landscape and basic patterns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prototyping phase:&lt;/strong&gt; I immediately built a basic version using the patterns I'd learned. It was messy but worked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exploitation phase:&lt;/strong&gt; I dove into the official documentation for the specific libraries I was using, refactored my code, added error handling, and made it production-ready.&lt;/p&gt;

&lt;p&gt;Total time: One day. Would I have learned faster by jumping straight into documentation? Absolutely not. Would I have built something production-ready by only following tutorials? Also no.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Anti-Pattern: Endless Exploration
&lt;/h2&gt;

&lt;p&gt;The problem isn't tutorials themselves—it's getting stuck in permanent exploration mode. Signs you're in tutorial hell:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You've watched 10+ tutorials on the same topic&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can explain concepts but can't build anything from scratch&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You always need a tutorial to do basic tasks&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You avoid diving into documentation because it "seems too hard"&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  When to Skip Tutorials Entirely
&lt;/h2&gt;

&lt;p&gt;There are times when tutorials aren't helpful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;When you're already experienced&lt;/strong&gt; in a similar domain (exploitation from day one)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;When you need cutting-edge features&lt;/strong&gt; that tutorials haven't covered yet&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;When you're debugging specific issues&lt;/strong&gt; (Stack Overflow and docs are better)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;When you're building something highly custom&lt;/strong&gt; where generic tutorials don't apply&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Making the Switch
&lt;/h2&gt;

&lt;p&gt;The key skill is recognizing when to switch from exploration to exploitation. Ask yourself:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Do I understand what this technology can do?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Do I know the basic patterns and approaches?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Have I identified the specific tools/libraries I want to use?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Can I build a simple version of what I want?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you answered yes to these questions, it's time to close the tutorials and open the documentation.&lt;/p&gt;

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

&lt;p&gt;Tutorials aren't the enemy—endless exploration without exploitation is. Use tutorials to rapidly explore new domains and build foundational knowledge, then switch to documentation and hands-on building to exploit that knowledge deeply.&lt;/p&gt;

&lt;p&gt;The developers who grow fastest aren't those who avoid tutorials or those who only watch tutorials—they're the ones who know when to explore and when to exploit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your action plan:&lt;/strong&gt; Pick one project you want to build this week. Spend 2 hours exploring with tutorials to understand the landscape, then switch to documentation and start building immediately.&lt;/p&gt;

&lt;p&gt;The future belongs to those who can rapidly explore new domains while also diving deep when needed. Master this balance, and you'll learn faster than 90% of developers out there.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;What's your experience with balancing exploration and exploitation in learning? Share your thoughts and examples in the comments below.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>How To Vibe Code Better?</title>
      <dc:creator>Nibodh Daware</dc:creator>
      <pubDate>Tue, 20 May 2025 10:54:14 +0000</pubDate>
      <link>https://forem.com/nibodhdaware/how-to-vibe-code-better-37k3</link>
      <guid>https://forem.com/nibodhdaware/how-to-vibe-code-better-37k3</guid>
      <description>&lt;p&gt;AI is here, it’s in your phone, your laptop, your devices and even your toilet, for that matter, but more importantly, it’s in your code editor, and as a developer, that’s the only thing that is going to matter&lt;/p&gt;

&lt;p&gt;Vibe coding is good and all, but you need to understand how to use AI to your advantage and not to believe all the stupid things it comes up with&lt;/p&gt;

&lt;p&gt;So here are things you should do if you are not when you are coding with AI by your side&lt;/p&gt;

&lt;h1&gt;
  
  
  1. Know your source code
&lt;/h1&gt;

&lt;p&gt;Around 41% of code on Github is AI-generated, and I am sure most of that will be just copy-pasted, generated and never even looked at once by the people who wrote it.&lt;/p&gt;

&lt;p&gt;So, my first advice is to know exactly what your source code does. Many people don’t even know what the AI is telling them, even though they know it can hallucinate.&lt;/p&gt;

&lt;p&gt;So, don’t blindly trust the code the AI gives; know what the source code is about and understand how it works.&lt;/p&gt;

&lt;p&gt;If you are just asking Cursor to build a SaaS app from scratch with just your idea, it’s of course going to choke; understanding the basics is as important as the idea&lt;/p&gt;

&lt;h1&gt;
  
  
  2. Draw it out
&lt;/h1&gt;

&lt;p&gt;Diagram it out. Get a piece of paper and pen and just draw out how exactly the data in the application is going to flow and how the user is going to interact with the website or the project, or if it is a backend application, know-how the data it is going in the database and just work it out.&lt;/p&gt;

&lt;p&gt;This works because diagrams reduce your cognitive load. Your brain can’t multitask, no matter how much coffee you drink, so diagramming it out just lowers the amount of stuff your brain has to juggle. It doesn’t have to store the idea you have, &lt;strong&gt;or what to have for dinner, or why your ex liked that one Reel but didn’t respond to your text.&lt;/strong&gt; Even napkin doodles help.&lt;/p&gt;

&lt;h1&gt;
  
  
  3. Debug Your Brain First
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Curse of False Clarity&lt;/em&gt; plagues all; everyone feels they have understood a particular thing, but the matter of fact is, you know nothing; there is this false sense of hope that your brain wants to latch on to.&lt;/p&gt;

&lt;p&gt;In fact, this is the same feeling you get when you watch a tutorial, even if you followed it along, it won’t matter unless you make a project yourself, solve a problem yourself, or even talk about it to others, you’ll know nothing.&lt;/p&gt;

&lt;p&gt;Try explaining out loud to your pet or a &lt;em&gt;rubber duck&lt;/em&gt; if you know what I mean. If your imaginary cat looks confused, that’s a sign&lt;/p&gt;

&lt;h1&gt;
  
  
  4. Use AI, Don’t Worship It
&lt;/h1&gt;

&lt;p&gt;Treat AI like a caffeinated intern: helpful, fast, and more often than not wrong. Use it to brainstorm ideas, unblock yourself, rephrase confusing code, or even add comments. But if it writes your entire project, you didn’t solve a problem.&lt;/p&gt;

&lt;p&gt;Yes, let it write code. Let it generate helpers, test cases, and boilerplate. But never let it think for you. Ask it questions. Push back. Challenge it. The more intentional you are, the more AI becomes a turbocharger, not a crutch&lt;/p&gt;

&lt;h1&gt;
  
  
  5. Reverse Engineer the Vibe
&lt;/h1&gt;

&lt;p&gt;If you have already vibe-coded something that “works”, don’t stop. Now it’s time to tear up the code and perform a post-mortem. Go line-by-line and ask the following questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;What does this do?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Could I write this myself?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Is this needed, or just AI filler?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s time to become a manager of your code. Break it. Rebuild it. This turns AI gibberish into actual skills&lt;/p&gt;

&lt;h1&gt;
  
  
  6. Vibe Fast, Refactor Slow
&lt;/h1&gt;

&lt;p&gt;Use AI to move fast. That’s the whole point. But don’t ship raw vibe. Your job is to take the chaos it created and sand it down into maintainable code.&lt;/p&gt;

&lt;p&gt;Make an actual checklist:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Is it readable?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Are the variables named like something humans would use?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Do the comments make sense?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Remember this code is going to be on the internet long after and is going to be used for training the model on further code, so the bad the code, the bad the training.&lt;/p&gt;

&lt;h1&gt;
  
  
  7. Make AI Teach You
&lt;/h1&gt;

&lt;p&gt;Before you accept any AI code, ask it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;“Explain this like I am five”&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;“What are the edge cases?”&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;“What are the potential bugs here?”&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Make it justify its answers. Think of it as Socratic coding. You are not a passive student - you’re a slightly annoyed teacher&lt;/p&gt;

&lt;h1&gt;
  
  
  8. Don’t Skip Setup — Scaffold With Intention
&lt;/h1&gt;

&lt;p&gt;Yes, AI can vomit the project structure in 0.4 seconds. But that doesn’t mean you should accept its idea of architecture&lt;/p&gt;

&lt;p&gt;Spend a few minutes planning:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;What goes where?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How will files talk to each other?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Is this over-engineered, or can it be maintained after two days?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you start with chaos, you’ll end with chaos. Vibe responsibly&lt;/p&gt;

&lt;h1&gt;
  
  
  9. Reinvent With Limits
&lt;/h1&gt;

&lt;p&gt;AI makes it feel like you can build everything at once—An entire SaaS platform before breakfast.&lt;/p&gt;

&lt;p&gt;So add constraints:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Set timers&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use MVP thinking&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Force yourself to launch something bad&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s when your vibe hits product velocity&lt;/p&gt;

&lt;h1&gt;
  
  
  10. Reuse Your Vibe Code Bank
&lt;/h1&gt;

&lt;p&gt;Keep your “vibe archive” of every decent snippet AI writes. Save it, categorise it, and make it part of your stack.&lt;/p&gt;

&lt;p&gt;Stop regenerating the same auth boilerplate 15 times for 4 different projects.&lt;/p&gt;

&lt;p&gt;Also, if you liked this post, you can show your support by buying me a book here — &lt;a href="//coff.ee/x2ysmcrylt"&gt;coff.ee/x2ysmcrylt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or leaving a like&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>vibecoding</category>
    </item>
    <item>
      <title>HTMX: The Future of Web</title>
      <dc:creator>Nibodh Daware</dc:creator>
      <pubDate>Thu, 16 Jan 2025 11:46:07 +0000</pubDate>
      <link>https://forem.com/nibodhdaware/htmx-the-future-of-web-4gh2</link>
      <guid>https://forem.com/nibodhdaware/htmx-the-future-of-web-4gh2</guid>
      <description>&lt;p&gt;Recently I have been developing a platform SaaS website and have been using HTMX along with TailwindCSS for my frontend and Python and Flask for my backend I have used most of them earlier but HTMX is the new tool in my tool belt so in this post we will look into how exactly I have implemented it in my web app.&lt;/p&gt;

&lt;h1&gt;
  
  
  JSON Oriented Architecture
&lt;/h1&gt;

&lt;p&gt;Before understanding the points made by HTMX it is important to understand what is HTMX challenging to change. Everyone who has made a full stack app before is familiar to the JSON oriented architecture where the backend sends a json data and the frontend renders the data based on the response.&lt;/p&gt;

&lt;p&gt;This is most commonly known as the it increases interactivity of the website sending data back and forth the client and the server. Even though it is a great way to improve interactivity it also costs on the size of data sent to the client as JSON has size of even 10x of what rendering HTML costs.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1736767269823%2Fe9a87d64-54f7-4eed-9161-4c451dbe8f76.png%2520align%3D" 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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1736767269823%2Fe9a87d64-54f7-4eed-9161-4c451dbe8f76.png%2520align%3D" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Comes in HTMX
&lt;/h1&gt;

&lt;p&gt;HTMX is says that for a server to return JSON is very expensive and leads to a slow and bad user experience so let the server return HTML and do it’s job and all the interaction will be handled right in HTML attributes, HTMX does a lot more than just replacing JSON with HTML but also bring in the server side and client closer leading to much better and faster interactivity.&lt;/p&gt;

&lt;p&gt;HTMX is not replacing Javascript in fact if you want to use HTMX in your web app you need to link it’s Javascript either through a CDN or directly through a file.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1736768099434%2F6e458a90-4d9a-4b7a-9366-07fc7209f84e.png%2520align%3D" 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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1736768099434%2F6e458a90-4d9a-4b7a-9366-07fc7209f84e.png%2520align%3D" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Another benefit of using HTMX over other Javascript frameworks is how you can interact directly through an API right through HTML with out a single line of Javascript&lt;/p&gt;

&lt;p&gt;Example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Nibodhdaware News Blog&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"utf-8"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;script&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://unpkg.com/htmx.org"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;script&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://unpkg.com/htmx.org/dist/ext/client-side-templates.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;script&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://cdn.jsdelivr.net/npm/nunjucks@3.2.4/browser/nunjucks.min.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="c"&gt;&amp;lt;!--The code for rendering--&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the above code we have setup the HTML file by bringing in all the files we are going to need through a CDN the first is of course HTMX.&lt;/p&gt;

&lt;p&gt;Next we have something called &lt;code&gt;client-side-templates&lt;/code&gt; which is a HTMX extension (will explain later in the post) which enables us to get data in a JSON form and render it using HTML directly without making us write Javascript.&lt;/p&gt;

&lt;p&gt;Next is something called &lt;code&gt;nunjucks&lt;/code&gt; which is a templating style engine helping us to write loops, conditional statements, etc directly within HTML&lt;/p&gt;

&lt;p&gt;Within the body we will write the actual code we need to render the posts:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;    &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Nibodhdaware&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;HTMX JSON API Test&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;hx-ext=&lt;/span&gt;&lt;span class="s"&gt;"client-side-templates"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt;
        &lt;span class="na"&gt;hx-get=&lt;/span&gt;&lt;span class="s"&gt;"https://api.spaceflightnewsapi.net/v4/blogs/"&lt;/span&gt;
        &lt;span class="na"&gt;hx-trigger=&lt;/span&gt;&lt;span class="s"&gt;"load"&lt;/span&gt;
        &lt;span class="na"&gt;nunjucks-template=&lt;/span&gt;&lt;span class="s"&gt;"blogs-template"&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;template&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"blogs-template"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
          {% if not previous %}
          &lt;span class="nt"&gt;&amp;lt;i&amp;gt;&lt;/span&gt;Found {{count}} articles.&lt;span class="nt"&gt;&amp;lt;/i&amp;gt;&lt;/span&gt;
          {% endif %}

          {% for blog in results %}
          &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;hr&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;
              &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"{{blog.url}}"&lt;/span&gt; &lt;span class="na"&gt;target=&lt;/span&gt;&lt;span class="s"&gt;"_blank"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                {{blog.title}}
              &lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;h4&amp;gt;&lt;/span&gt;
              Published by {{blog.news_site}}, {{blog.published_at | truncate(10, true, "")}}
            &lt;span class="nt"&gt;&amp;lt;/h4&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;{{blog.summary}}&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
          {% endfor %}
        &lt;span class="nt"&gt;&amp;lt;/template&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We create a &lt;code&gt;div&lt;/code&gt; having attribute &lt;code&gt;hx-ext=’client-side-templates’&lt;/code&gt; which tells HTMX to use the &lt;code&gt;client-side-templates&lt;/code&gt; extension within the div which it is defined in.&lt;/p&gt;

&lt;p&gt;We are using the &lt;a href="https://api.spaceflightnewsapi.net/v4/docs/" rel="noopener noreferrer"&gt;Space Flight News API&lt;/a&gt; that provides space blogs for developers to use. We use the &lt;code&gt;hx-get&lt;/code&gt; attribute to send a &lt;code&gt;GET&lt;/code&gt; request to the url in this case, the Space Flight News API. The &lt;code&gt;hx-trigger=”load”&lt;/code&gt; indicates that the &lt;code&gt;GET&lt;/code&gt; request is sent every time the page loads and &lt;code&gt;nunjucks-template&lt;/code&gt; indicates that the &lt;code&gt;blogs-template&lt;/code&gt; div is a template and we can use nunjucks syntax in the div.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;template&lt;/code&gt; tag crates a template for HTMX to use multiple times in the file when specified. The API schema to be rendered is as given below.&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;"count"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;123&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"next"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"http://api.example.org/accounts/?offset=400&amp;amp;limit=100"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"previous"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"http://api.example.org/accounts/?offset=200&amp;amp;limit=100"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"results"&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="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"string"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"string"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"image_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"string"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"news_site"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"string"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"summary"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"string"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"published_at"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2023-09-12T23:51:31.675Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"updated_at"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2023-09-12T23:51:31.675Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"featured"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"launches"&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;"launch_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;"3fa85f64-5717-4562-b3fc-2c963f66afa6"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"provider"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"string"&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;"events"&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;"event_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2147483647&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"provider"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"string"&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;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;p&gt;The nunjucks templating engine uses a similar syntax if you are familiar with jinja templating engine used in Django and Python, the &lt;code&gt;{% %}&lt;/code&gt; indicates the block of code like the conditional block, loops, etc. The &lt;code&gt;{{ }}&lt;/code&gt; indicate any variable or any value. Note: All blocks must be ended using &lt;code&gt;{% end&amp;lt;blockname&amp;gt; %}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;So using &lt;code&gt;{% if previous %}&lt;/code&gt; we are checking if there is a value for previous in the API response if yes we are displaying the count variable using &lt;code&gt;{{ count }}&lt;/code&gt; and the if block is ended with the &lt;code&gt;{% endif %}&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Using a &lt;code&gt;{% for blog in results %}&lt;/code&gt; loop we are getting info on all the blog posts in the API response and using &lt;code&gt;{{ blog.url }}&lt;/code&gt; we are fetching the blogs url and using &lt;code&gt;{{ blog.title }}&lt;/code&gt; we are fetching the blog’s title. Similarly we can get other info from the API response and end the for block using &lt;code&gt;{% endfor %}&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;And voila we just have to open the webpage and all the blog posts will be loaded from the API.&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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1737025246217%2F1905af00-2cdf-4600-9798-bbbaeb456063.png%2520align%3D" 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%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1737025246217%2F1905af00-2cdf-4600-9798-bbbaeb456063.png%2520align%3D" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The most fascinating thing for me was we can directly use the values from a API without having to use fetch or axios and the get the JSON in a variable and update the &lt;code&gt;innerHTML&lt;/code&gt; using Javascript and all that.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Of course you are going to have to write APIs returning JSON if you want to but you don’t have to write a complete REST API just to get something up on the screen you can directly render HTML and be satisfied that it will just work.&lt;/p&gt;

&lt;p&gt;Also, if you liked this post, you can show your support by buying me a book here — &lt;a href="//coff.ee/x2ysmcrylt"&gt;coff.ee/x2ysmcrylt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or leaving a like&lt;/p&gt;

</description>
      <category>json</category>
      <category>htmx</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>How Deep Learning Works</title>
      <dc:creator>Nibodh Daware</dc:creator>
      <pubDate>Sun, 16 Jun 2024 14:18:38 +0000</pubDate>
      <link>https://forem.com/nibodhdaware/how-deep-learning-works-1dpc</link>
      <guid>https://forem.com/nibodhdaware/how-deep-learning-works-1dpc</guid>
      <description>&lt;p&gt;Deep Learning is the core of a Machine Learning system, it is how a machine actually learns from data without much human intervention. In this post I am going to discuss how Deep Learning actually works with the data you give.&lt;/p&gt;

&lt;p&gt;The basis of a Deep Learning system are Neural Networks, they are the fundamental part of how a machine learns by itself.&lt;/p&gt;

&lt;p&gt;To understand how a Neural Network learns you need to understand how a Neural Network is structured.&lt;/p&gt;

&lt;p&gt;There are mainly 3 (or more) layers in the neural network&lt;br&gt;&lt;br&gt;
1. Input Layer: Where the data to the network is provided.&lt;br&gt;&lt;br&gt;
2. Hidden Layer(s): Where the network learns from the data.&lt;br&gt;&lt;br&gt;
3. Output Layer: Where the network outputs for the particular data.&lt;/p&gt;

&lt;p&gt;There can be more hidden layers depending on how complex you want the network to be.&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%2Fvom5oqdjbffnj9n5reh2.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%2Fvom5oqdjbffnj9n5reh2.png" alt="Image description" width="452" height="596"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Learning in Deep Learning&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Each node in the neural network is assigned some value known as the biases and each edge is assigned a weight known as weights.&lt;br&gt;&lt;br&gt;
Weights: are the value of how important that neuron is&lt;br&gt;&lt;br&gt;
Bias: allows for shifting of the activation function (&lt;a href="https://www.geeksforgeeks.org/activation-functions-neural-networks/" rel="noopener noreferrer"&gt;learn more&lt;/a&gt;) left or right.&lt;/p&gt;

&lt;p&gt;So we do need to know how the network is mathematically represented but the intuition or meaning of the representation is much more important than the equation itself.&lt;/p&gt;

&lt;p&gt;$$y = \sigma(\sum Xw + b)$$&lt;/p&gt;

&lt;p&gt;Where,&lt;br&gt;&lt;br&gt;
y is the output of the network for the particular data&lt;br&gt;&lt;br&gt;
&lt;strong&gt;σ&lt;/strong&gt; is the activation function&lt;br&gt;&lt;br&gt;
X is the value of the current node&lt;br&gt;&lt;br&gt;
w is the weight&lt;br&gt;&lt;br&gt;
b is the bias&lt;/p&gt;

&lt;p&gt;So in short, we need the sum of all multiplications of X and w add some bias to them and pass it to the activation function to generate the value of y.&lt;/p&gt;

&lt;h3&gt;
  
  
  Forward Propagation
&lt;/h3&gt;

&lt;p&gt;This algorithm enables to go through all the nodes in the network starting from the input layer.&lt;/p&gt;

&lt;p&gt;The main goal of this algorithm is to calculate a estimated answer by the network which is wrong so for correction we have something called back propagation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Back Propagation
&lt;/h3&gt;

&lt;p&gt;This algorithm works completely opposite from forward propagation, where in it goes through all the nodes starting from the output layer. The difference between the estimated output and actual output is calculated with the help of a loss function and while going back the weights and biases are updated accordingly.&lt;/p&gt;

&lt;p&gt;The back propagation and forward propagation takes place iteratively until the loss is minumum. This what make the neural network to learn.&lt;/p&gt;

&lt;h1&gt;
  
  
  Loss Functions
&lt;/h1&gt;

&lt;p&gt;These functions calculate the loss or the difference between the actual output from the network and expected output from the data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Optimizers
&lt;/h2&gt;

&lt;p&gt;As the main goal of a neural network is to get the loss as minimum as possible Optimizers help in that, optimizer is a algorithm that will try to minimize the loss as low as possible, the loss function will help the optimizer to reduce the loss and properly allocate values to weights and biases of the network during backpropagation so as to reduce the loss.&lt;/p&gt;

&lt;h3&gt;
  
  
  Learning Rate
&lt;/h3&gt;

&lt;p&gt;Learning Rate is a variable or value very small like 0.01 that when combined with the optimizer function helps to make sure that we do not skip over the value of the optimal data.&lt;/p&gt;

&lt;p&gt;If the Learning Rate is too large, we might skip over the optimum data point.&lt;br&gt;&lt;br&gt;
If the Learning Rate is too small, it might take us long time to find the optimum data.&lt;/p&gt;

&lt;h3&gt;
  
  
  There are mainly 2 types of optimizers
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Gradient Descent
- It is also known as the granddaddy of optimizers.
- In gradient descent the weight is plotted on the x axis and the loss on the y axis and the weight on the gradient (the U curve) is chosen in such a way so as the loss is as minimum as possible so the data point should be as close to the x axis or the weight as possible on the gradient.
- Backpropagation is gradient descent &lt;em&gt;implemented&lt;/em&gt; on a network.
- If you want to learn more about Gradient Descent &lt;a href="https://www.ibm.com/topics/gradient-descent" rel="noopener noreferrer"&gt;read this&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&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%2Fd8f1torl3gzeldhj0sb5.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%2Fd8f1torl3gzeldhj0sb5.png" alt="Image description" width="800" height="465"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Stochastic Gradient Descent
- It is very similar to gradient descent except we use a subset or batches of the entire dataset to calculate the gradient.
- As we use smaller data compared to gradient descent, it is less computationally expensive.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Yes there are more optimizers but for understanding purposes the above are the most commonly used.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;There are indeed more concepts to cover just to understand how deep learning works but this should be a good enough starting point to start to understand how the machine learns.&lt;/p&gt;

&lt;p&gt;Also, if you liked this post, you can show your support by buying me a book here — &lt;a href="//coff.ee/x2ysmcrylt"&gt;coff.ee/x2ysmcrylt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or leaving a like&lt;/p&gt;

</description>
      <category>ai</category>
      <category>deeplearning</category>
      <category>machinelearning</category>
      <category>neuralnetworks</category>
    </item>
    <item>
      <title>Best way to start learning Machine Learning</title>
      <dc:creator>Nibodh Daware</dc:creator>
      <pubDate>Tue, 11 Jun 2024 07:09:33 +0000</pubDate>
      <link>https://forem.com/nibodhdaware/best-way-to-start-learning-machine-learning-16p1</link>
      <guid>https://forem.com/nibodhdaware/best-way-to-start-learning-machine-learning-16p1</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;"As soon as it works, no one calls it AI anymore" - John McCarthy&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Recently I have started to learn a new field of Computer Science, Machine Learning. But there are so many resources on Machine Learning out there it becomes very difficult to filter out what resources to begin with, so in this post I am going to list out ways one can start learning this new exciting field.&lt;/p&gt;

&lt;p&gt;In my opinion, there are 2 kinds of people who want to learn machine learning:&lt;br&gt;
1. People who are interested in maths behind it.&lt;br&gt;&lt;br&gt;
2. People who just want to code and have fun with it.&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%2Fn22ijpxp2mbcsgv1a0yl.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%2Fn22ijpxp2mbcsgv1a0yl.png" alt="Image description" width="800" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I definitely fall in the second category as I can do and understand a little bit of math but when I read equations in a ML book or in a research paper I seem to get a little dizzy.&lt;/p&gt;

&lt;p&gt;For the people in the first category, I will definitely recommend reading books and research papers and try to understand how everything works, especially, &lt;a href="https://www.youtube.com/playlist?list=PLRDl2inPrWQW1QSWhBU0ki-jq_uElkh2a" rel="noopener noreferrer"&gt;this&lt;/a&gt; playlist should help you&lt;/p&gt;

&lt;p&gt;This post is for the people in the second category, people who don't want to know a lot of math.&lt;/p&gt;

&lt;h1&gt;
  
  
  Types in Machine Learning
&lt;/h1&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%2Fa5yafbwfzebxafsgmsk5.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%2Fa5yafbwfzebxafsgmsk5.png" alt="Image description" width="800" height="749"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Machine learning as a whole is divided into 3 types: Unsupervised, Supervised and Reinforcement&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=qDbpYUbf3e0" rel="noopener noreferrer"&gt;This&lt;/a&gt; video explains all the types really well, well here's the gist of it if you don't want to watch the video.&lt;/p&gt;

&lt;p&gt;Any type of Machine Learning needs data to make the machine learn, well you can give just the data and the model will sort and group the similar data together without any external input, this is Unsupervised Learning, where the data is surely provided but the data is not labeled or given any information on how to group or sort the data, it just groups the data based on similar features.&lt;/p&gt;

&lt;p&gt;Supervised Learning is the opposite of it, where we do give the data some labels to nudge the model in the right direction, based on these labels the data is grouped and used by the model.&lt;/p&gt;

&lt;p&gt;Reinforcement Learning is where you teach and train a particular model to behave a certain way, the video you watch on youtube of people teaching AI how to walk or play a game like chess or tick tack toe are using Reinforcement Learning.&lt;/p&gt;

&lt;h1&gt;
  
  
  Ways to start learning ML
&lt;/h1&gt;

&lt;p&gt;First and foremost you need to understand what are you going to learn in ML? From the 3 types elaborated above, For example I am interested in more graphical and fun stuff like teaching AIs how to walk and play, so I am going to go and learn Reinforcement Learning deeply.&lt;/p&gt;

&lt;p&gt;For you it may be you are interested in knowing how ChatGPT works or want to make a OCR system from scratch.&lt;/p&gt;

&lt;p&gt;Knowing why you want to learn anything is a great way to be interested in learning that in the long run.&lt;/p&gt;

&lt;h1&gt;
  
  
  Nailing the basics
&lt;/h1&gt;

&lt;p&gt;Whatever you do you must nail the basics. In ML it is having a little basic understanding of how statistic and probability works, for that I would recommend you to have a shot at doing &lt;a href="https://www.khanacademy.org/math/probability" rel="noopener noreferrer"&gt;High School Statistics by Khan Academy&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Then you must know how to use a library or some ML algorithms, libraries like scikit-learn would be a great start, &lt;a href="https://www.youtube.com/watch?v=0B5eIE_1vpU" rel="noopener noreferrer"&gt;this&lt;/a&gt; crash course should help you get started.&lt;/p&gt;

&lt;p&gt;Then dive deep into one of the types of machine learning. I would recommend start with learning supervised learning as that would cover most of the topics that you would use elsewhere.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Machine Learning is this exciting new field that was growing slowly in the background and has grown to the point that it has started to impact everyone's lives and continuous learning is the only way forward.&lt;/p&gt;

&lt;p&gt;Also, if you liked this post, you can show your support by buying me a book here — &lt;a href="//coff.ee/x2ysmcrylt"&gt;coff.ee/x2ysmcrylt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or leaving a like&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>I Made a Program Using A.I</title>
      <dc:creator>Nibodh Daware</dc:creator>
      <pubDate>Mon, 20 Feb 2023 03:07:48 +0000</pubDate>
      <link>https://forem.com/nibodhdaware/i-made-a-program-using-ai-5b0o</link>
      <guid>https://forem.com/nibodhdaware/i-made-a-program-using-ai-5b0o</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/kVnA4nmQTxk"&gt;
&lt;/iframe&gt;
 &lt;/p&gt;

&lt;h1&gt;
  
  
  Introduction:
&lt;/h1&gt;

&lt;p&gt;I recently discovered ChatGPT, an AI-powered chatbot developed by the ingenious team at OpenAI. As someone who enjoys writing blog posts, I was curious to see how ChatGPT could assist me in creating content. I was blown away by how simple and sweet it was to use. With an interface similar to a chat app, all I had to do was copy and paste my query, and within seconds, ChatGPT generated the answer. In this blog post, I'll share my experience using ChatGPT to build a Lookaway App.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Challenge:
&lt;/h1&gt;

&lt;p&gt;The rules for the challenge were simple: no use of Google or any other search engine besides ChatGPT. I had a few project ideas in mind, but I wanted to keep things simple. I settled on the idea of building a Lookaway App that would remind me to take breaks from my computer screen. However, since I am a Mac user, the app would only be compatible with Macs.&lt;/p&gt;

&lt;h1&gt;
  
  
  Breaking Down the Problem:
&lt;/h1&gt;

&lt;p&gt;I first tried asking ChatGPT to directly make the app, but that didn't work out. So, I came up with a genius strategy: break down the problem, feed it into ChatGPT, and attach the parts myself to make the whole app. I discovered how to run system commands using C and get a popup window using AppleScript.&lt;/p&gt;

&lt;h1&gt;
  
  
  Tackling the Technical Issues:
&lt;/h1&gt;

&lt;p&gt;I encountered some technical issues along the way. For instance, I tried to do a slider, but AppleScript was giving me some errors, so I gave up on that idea. Instead, I focused on getting what button was pressed by asking ChatGPT. I also experimented with using command line arguments to allow users to set the time they want to be reminded to take a break, but I ultimately changed it back to being reminded every hour.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Final Product:
&lt;/h1&gt;

&lt;p&gt;After multiple iterations of the code and making changes with my own hands, I finally completed the Lookaway App. The app is simple yet effective. It pops up on the screen after an hour of computer use to remind you to take a break. The default setting is one hour. I have shared the code on GitHub, which you can find &lt;a href="https://github.com/nibodhdaware/look-away" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion:
&lt;/h1&gt;

&lt;p&gt;In conclusion, ChatGPT is a powerful tool that can assist in creating content and solving technical problems. However, AI is not yet advanced enough to handle everything. I had to take multiple iterations of the code and make changes with my own knowledge to complete the Lookaway App. Nonetheless, I am excited to explore more projects and content using ChatGPT. If you're interested in following my progress, please subscribe to my channel and follow me on Twitter also follow me on this Blog. Thanks for reading, and see you in the next one!&lt;/p&gt;

&lt;p&gt;Believe it or not, the entire blog post is summarised from the video transcript by ChatGPT, Of course not perfect so edited by me (But mostly the exact ctrl-c ctrl-v that ChatGPT spit out).&lt;/p&gt;

&lt;p&gt;Also, if you liked this post, you can show your support by buying me a book here — &lt;a href="//coff.ee/x2ysmcrylt"&gt;coff.ee/x2ysmcrylt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or leaving a like&lt;/p&gt;

</description>
      <category>ai</category>
      <category>coding</category>
      <category>c</category>
      <category>programming</category>
    </item>
    <item>
      <title>What is the difference between Statically and Dynamically Typed Languages</title>
      <dc:creator>Nibodh Daware</dc:creator>
      <pubDate>Sun, 31 Jul 2022 06:32:12 +0000</pubDate>
      <link>https://forem.com/nibodhdaware/what-is-the-difference-between-statically-and-dynamically-typed-languages-ma2</link>
      <guid>https://forem.com/nibodhdaware/what-is-the-difference-between-statically-and-dynamically-typed-languages-ma2</guid>
      <description>&lt;p&gt;There are 2 types of programming languages Statically or Strictly typed and Dynamically typed, but what is the difference between the two, why do programming languages have types anyways?&lt;/p&gt;

&lt;p&gt;If you are wondering about that question, I got you covered, in this post we will be discussing what are the &lt;strong&gt;Differences between Dynamically typed and Statically typed programming languages&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Overview
&lt;/h2&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%2F8bkw9ub7o4mq4vndkuvd.gif" 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%2F8bkw9ub7o4mq4vndkuvd.gif" alt="gif" width="384" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dynamically typed language&lt;/strong&gt;s are languages that go through an interpreter and the types are automatically assigned so you don’t have to worry about what type a particular variable is or what is the return type of a function or a method, it is automatically understood by the interpreter. Some languages in this category are Python and Javascript, they are really easy and fast to write even complex applications.&lt;/p&gt;

&lt;p&gt;On the other hand, Statically or strictly typed languages are where you have to explicitly tell the program what type of a particular variable or a function is so the compiler doesn’t have too much work, and hence the program is faster to compile and run but slow to write. Languages like C, C++, and Java come in this category.&lt;/p&gt;

&lt;h2&gt;
  
  
  Nitty Gritty Details
&lt;/h2&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%2Faqiyucbkxqbl5rw37v2s.gif" 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%2Faqiyucbkxqbl5rw37v2s.gif" alt="gif" width="246" height="340"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Dynamically Typed:
&lt;/h3&gt;

&lt;p&gt;As said earlier these languages are easy to write and fast to develop apps in like I can build Pong in Python in 1 day whereas it will take quite some time to do it in Rust which is also a typed language like C++. As these languages will be easier to write, the market will be a lot more saturated as everybody is learning the same tech, also as apps are made faster in these languages, the business and startup market is in need of developers in such languages, as a good MVP is needed and fast.&lt;/p&gt;

&lt;p&gt;Also, most people who learn languages like Javascript are more likely to start a business or their own thing as the entire stack is theirs and they can move from front end to back end to database in just one language.&lt;/p&gt;

&lt;h3&gt;
  
  
  Statically Typed:
&lt;/h3&gt;

&lt;p&gt;These languages are helpful in getting you a job in Big tech giants like FANG (or MANG now), as these companies care about speed as they have grown so much they need to get faster to keep all the users up to date and for that statically typed languages are way to go, like Google’s servers are written in C++.&lt;/p&gt;

&lt;p&gt;Just don’t get confused by what I say (or write) but these Big Tech companies also use Dynamically Typed languages as the languages might be their original stack or the stack might benefit the company. Like Instagram uses Python for their servers (the Django framework to be exact).&lt;/p&gt;

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

&lt;p&gt;The main point I want you to take away from this post is, that the language you learn at the start does not matter, what matters is you stick to one language and learn it inside out. And once you do that you can start applying to roles in that particular language.&lt;/p&gt;

&lt;p&gt;Also, if you liked this post, you can show your support by buying me a book here — &lt;a href="//coff.ee/x2ysmcrylt"&gt;coff.ee/x2ysmcrylt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or leaving a like&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How I used Hashnode as a CMS</title>
      <dc:creator>Nibodh Daware</dc:creator>
      <pubDate>Wed, 20 Apr 2022 04:52:16 +0000</pubDate>
      <link>https://forem.com/nibodhdaware/how-i-used-hashnode-as-a-cms-2k3n</link>
      <guid>https://forem.com/nibodhdaware/how-i-used-hashnode-as-a-cms-2k3n</guid>
      <description>&lt;p&gt;All of you know I have a blog on &lt;a href="//hashnode.com"&gt;Hashnode&lt;/a&gt; you might be reading this on hashnode too  (unless someone has a hashnode bot to repost this on his own domain, then idk). And I also have it on my own &lt;a href="//nibodhdaware.me"&gt;domain&lt;/a&gt;, so what's the problem?&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem (don't take it as if hashnode has problems, it doesn't these are just my own concerns)
&lt;/h2&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%2F6lx1bb8nqphwscoyk5rz.gif" 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%2F6lx1bb8nqphwscoyk5rz.gif" alt="gif" width="500" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. My content is dependent on some other website
&lt;/h3&gt;

&lt;p&gt;what if hashnode goes down?&lt;/p&gt;

&lt;p&gt;what if the hashnode startup goes out of funding? (clearly, it &lt;a href="https://yourstory.com/2021/08/funding-hashnode-investors-valley-tech-experts-backing-blogging-startup/amp" rel="noopener noreferrer"&gt;won't&lt;/a&gt; also a side note hashnode is Indian I never noticed, good job India)&lt;/p&gt;

&lt;p&gt;These were some of my thoughts that made me want to make this project, cliché right?&lt;/p&gt;

&lt;h3&gt;
  
  
  2. I am a developer
&lt;/h3&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%2F0lmwnldycr2b8rf84wwb.gif" 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%2F0lmwnldycr2b8rf84wwb.gif" alt="gif" width="350" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;what is a better way to increase your skill level than to take on projects like such?&lt;/p&gt;

&lt;h2&gt;
  
  
  The solution
&lt;/h2&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%2Ft450bsxfli21fvhyp4fd.gif" 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%2Ft450bsxfli21fvhyp4fd.gif" alt="gif" width="370" height="319"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(if you want to skip, skip it's a blog post, not a video also there are some links at the end of the post to the code of the project)&lt;/p&gt;

&lt;p&gt;I created a bot-type creature that will grab my posts from hashnode and store it in a database table with all the metadata of the posts like the publishing date, brief, slug, etc. see it in action here&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/m0q4UhwNjrw"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  The steps
&lt;/h2&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%2Fwwepzdyn3qxjszs5fwik.gif" 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%2Fwwepzdyn3qxjszs5fwik.gif" alt="gif" width="480" height="352"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was one of the most fun projects that I have worked on in a long time and of course, it took time for me to learn all these new things.&lt;/p&gt;

&lt;p&gt;first up I had to decide what stack to use, my most prominent and most practiced language is python so I thought of creating this with Flask, not Django as it is only backend related not full-stack.&lt;/p&gt;

&lt;p&gt;but recently I have been having absolute fun making simple backend applications and testing different backend things with Nodejs, also I had just followed a tutorial on how to use Node with a MySQL database. and so with a good enough stack with Node and MySQL I began working on it.&lt;/p&gt;

&lt;p&gt;secondly, I needed to know how to use the hashnode API works to get my posts from hashnode. apparently, hashnode uses Graphql which is a new way to get JSON data from an API after using gql I think you can get data with ease and you don't have to use .then or fetches everywhere it's clean.&lt;/p&gt;

&lt;p&gt;Now as I had the data about my posts I can easily add them to my database I used code from the same tutorial using Node and MySQL together and the final result was the youtube video I have embedded above.&lt;/p&gt;

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

&lt;p&gt;Apparently, this is the best way to learn to code it doesn't matter how many youtube videos you watch, blog posts you read to get better at code, making a small project (by small I mean a good developer can do this in a few hours) I am not a good developer but I am learning so is everyone no developer is best at everything (except ego) everyone is learning so should you.&lt;/p&gt;

&lt;p&gt;Code: &lt;a href="https://github.com/nibodhdaware/automate-blogs" rel="noopener noreferrer"&gt;https://github.com/nibodhdaware/automate-blogs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Gear (New): &lt;a href="https://nibodhdaware.me/gear" rel="noopener noreferrer"&gt;https://nibodhdaware.me/gear&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also, if you liked this post, you can show your support by buying me a book here — &lt;a href="//coff.ee/x2ysmcrylt"&gt;coff.ee/x2ysmcrylt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or leaving a like&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Best Programming Practicing Resources</title>
      <dc:creator>Nibodh Daware</dc:creator>
      <pubDate>Tue, 08 Feb 2022 10:43:01 +0000</pubDate>
      <link>https://forem.com/nibodhdaware/best-programming-practicing-resources-2jpc</link>
      <guid>https://forem.com/nibodhdaware/best-programming-practicing-resources-2jpc</guid>
      <description>&lt;p&gt;In the last &lt;a href="https://nibodhdaware.me/best-programming-learning-resources-1" rel="noopener noreferrer"&gt;post&lt;/a&gt;, I discussed what are my most used resources to learn code or any new technology. But after learning to code you must need to practice them, apply them to real-world problems know how to structure and solve a particular problem, while doing so, these were my most used resources (not in order of usage).&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://codingbat.com/" rel="noopener noreferrer"&gt;CodingBat&lt;/a&gt;
&lt;/h2&gt;




&lt;blockquote&gt;
&lt;p&gt;May look old but is great&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is by far my most used resource out of all these, I've used it for Python practice nearly on a daily basis.&lt;/p&gt;

&lt;p&gt;One thing is that it is only for Java and Python i.e only the real-time coding environments are present for Java and Python so if you are someone learning Javascript or something I will recommend taking a look at other options on this list. But if you are learning Java or Python this is the best recommendation.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://pythonprinciples.com/" rel="noopener noreferrer"&gt;Python Principles&lt;/a&gt;
&lt;/h2&gt;




&lt;blockquote&gt;
&lt;p&gt;Only for python (if you didn't understand given the name)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As the name implies this website is only for Python practicing, I have mentioned this on the list as it has a really great and solid choice of problems (though only 20) that go from least difficult to most difficult.&lt;br&gt;
You will have a very good understanding of Python till you get to the end of the problems. Can't say much it's great and you should definitely use it.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://practice.geeksforgeeks.org/" rel="noopener noreferrer"&gt;Geeks For Geeks&lt;/a&gt;
&lt;/h2&gt;




&lt;blockquote&gt;
&lt;p&gt;Another great one&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Good ol' GFG who doesn't know about GFG this is the best website for developers (don't compare with StackOverflow both are in a completely different realm) it has a huge database of different problems and you will never run out of problems to solve here.&lt;/p&gt;

&lt;p&gt;It also has problems that are asked in all the huge tech companies definitely recommend it if you are applying for jobs or interviews with these companies. (seriously there are a lot of companies)&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%2Fodw4anvpsf2p3zmjff3k.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%2Fodw4anvpsf2p3zmjff3k.png" alt="image.png" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://projecteuler.net/" rel="noopener noreferrer"&gt;Project Euler&lt;/a&gt;
&lt;/h2&gt;




&lt;blockquote&gt;
&lt;p&gt;I'm running out of quotes!!!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There is no "Built-in" coding environment here but there are a heck of a lot of problems to solve and improve but you have to use the environment that you already have set up on your machine (which is fine, I guess) of course if you are going to use the technology you are learning commercially it would already be set up on your machine.&lt;/p&gt;

&lt;p&gt;Anyways, this is a great website I highly recommend for the number of problems it provides for free.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.codechef.com/problems/" rel="noopener noreferrer"&gt;CodeChef&lt;/a&gt;
&lt;/h2&gt;




&lt;blockquote&gt;
&lt;p&gt;One website to rule them all (at least in my opinion)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This one is not a forum website like geeks for geeks but is itch.io of a programming specific website where there are continuous events going on and a lot of competition opportunities on a daily basis which is really great as a beginner as you can grow with accountability in mind that you are competing in something.&lt;/p&gt;

&lt;p&gt;Practicing here feels great there are also a lot of great problems which you can solve in the code environment provided by the website themselves.&lt;/p&gt;

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




&lt;p&gt;I think this list should help you practice the exact thing you are trying to learn so that you can build upon the foundation and be a great programmer as a whole.&lt;/p&gt;

&lt;p&gt;Also, if you liked this post, you can show your support by buying me a book here — &lt;a href="//coff.ee/x2ysmcrylt"&gt;coff.ee/x2ysmcrylt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or leaving a like&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Best Programming Learning Resources</title>
      <dc:creator>Nibodh Daware</dc:creator>
      <pubDate>Mon, 06 Dec 2021 05:49:29 +0000</pubDate>
      <link>https://forem.com/nibodhdaware/best-programming-learning-resources-2f6d</link>
      <guid>https://forem.com/nibodhdaware/best-programming-learning-resources-2f6d</guid>
      <description>&lt;p&gt;When wanting to get into programming there are a ton of learning resources to get your foot in the door but choosing between the right resource to teach yourself code in the right amount of time might be like finding a needle in a haystack.&lt;/p&gt;

&lt;p&gt;So in this post, we will be looking at a few resources that helped me to learn to code and (kinda) helped me get into this industry (might help you too idk), also these are my opinions please I would really like for you to go in the comments and tell what are your favorite and go-to resources.&lt;/p&gt;

&lt;h1&gt;
  
  
  Youtube
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;The most visited place on the planet by me&lt;/p&gt;
&lt;/blockquote&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%2Fkd05kfvv85z2a9t4u817.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%2Fkd05kfvv85z2a9t4u817.png" alt="image.png" width="512" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I noticed the power of youtube when I was trying my hands at game development in Unity and C# when I got to tutorials by of course Brackey's and realized there are so many more topics on which you can find videos for like YT has grown to be the second-largest search engine to be used next to google. I thought myself python from it and it is amazing.&lt;/p&gt;

&lt;p&gt;So, without talking a lot about why I love youtube so much, it is a great platform depending on how you use it and not procrastinate (it has happened to me a lot so don't worry it's normal, it's a social platform it is made for us to procrastinate) but if put in good use it is nothing but an infinite mine of knowledge.&lt;/p&gt;

&lt;h1&gt;
  
  
  Sololearn
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;Free Codecademy alternative&lt;/p&gt;
&lt;/blockquote&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%2F8fcturd1n5hqf00lmk6z.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%2F8fcturd1n5hqf00lmk6z.png" alt="image.png" width="400" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I really like sololearn for its mobile app but recently not going on it anymore. I am loving how many free text-based courses this platform has (and that's I prefer it over Codecademy). Its interface is simple and easy to understand and it also has gamification of the task and making you want to open the app daily, the gamification is not as aggressive as Duolingo's but there it's hidden and you wouldn't even notice it. But that being said the courses are the best they go really in-depth about the topic in a short and sweet manner.&lt;/p&gt;

&lt;h1&gt;
  
  
  Udemy
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;The best one for video watchers&lt;/p&gt;
&lt;/blockquote&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%2Fn5vw7owslnsby1cdiis3.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%2Fn5vw7owslnsby1cdiis3.png" alt="image.png" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are a beginner, this is the best way for you to learn you have loads of video courses on any topic you wanna learn about, just search for that topic and you find many courses by professionals about that topic and they also have really great discounts all the time getting great professional courses for cheap as hell as there is always some offer going around.&lt;/p&gt;

&lt;h1&gt;
  
  
  Honerable Mentions
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;These were great but not as significant as those mentioned above&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The official documentation of the language I am trying to learn
&lt;/h2&gt;

&lt;p&gt;These in my opinion are the best place to start learning whatever you desire especially you are trying to learn some new language or framework which does not have many other resources on things mentioned above like there is a new javascript framework coming out on a daily basis and your boss thinks and always runs behind the shiny new thing then... your out of luck my friend.&lt;/p&gt;

&lt;h2&gt;
  
  
  Books
&lt;/h2&gt;

&lt;p&gt;Reading books on the language you want to learn is also a really good way to learn code. I am not good at reading books but as I am in college we have textbooks about code so I can say they do really impact a lot as they are the only material we have before the lecture about that particular topic.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;as you can see most resources here are based on reading and it is one of the most important skills as you are going to mostly read code, documentation, other people's undocumented code till your eyes go red and you become blind (it's an exaggeration, please don't kill me!!).&lt;/p&gt;

&lt;p&gt;Also, if you liked this post, you can show your support by buying me a book here — &lt;a href="//coff.ee/x2ysmcrylt"&gt;coff.ee/x2ysmcrylt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or leaving a like&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Why Most Programmers Prefer Mac or Linux Over Windows?</title>
      <dc:creator>Nibodh Daware</dc:creator>
      <pubDate>Fri, 01 Oct 2021 12:55:40 +0000</pubDate>
      <link>https://forem.com/nibodhdaware/why-most-programmers-prefer-mac-or-linux-over-windows-3mep</link>
      <guid>https://forem.com/nibodhdaware/why-most-programmers-prefer-mac-or-linux-over-windows-3mep</guid>
      <description>&lt;p&gt;Greetings again!! in the  &lt;a href="https://nibodhdaware.me/hello-world-in-5-languages" rel="noopener noreferrer"&gt;last post&lt;/a&gt; I said I am going to start a new series of posts where I will teach all the basics of code where I will teach all the basic "ABC's" of code like variables, functions, constants, etc... Yeah, we are not gonna do it. reason being:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I got a better idea for this idea (This sentence already makes me laugh 😆) and...&lt;/li&gt;
&lt;li&gt;I got writer's block while writing "variables in 5 different programming languages" and got this idea so I wrote this one.
so I don't think "ABC's of code" will be happening any time soon...&lt;/li&gt;
&lt;/ol&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%2F8wbgpq6mx8fsmsdm1qq0.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%2F8wbgpq6mx8fsmsdm1qq0.png" alt="image.png" width="610" height="457"&gt;&lt;/a&gt;&lt;br&gt;
by the way, the image says it all...&lt;/p&gt;

&lt;h2&gt;
  
  
  So why exactly do programmers prefer Mac's or Linux's(??) over Windows
&lt;/h2&gt;




&lt;p&gt;I personally own a Mac and it's been a few months since I got it and also have been a Windows user for 5 years before the Mac switch so I can say I have used both extensively. To get it straight I love MacOS will do anything to choose it over Windows laptops and will go over everything I love about it (and maybe some to hate but that's highly unlikely as those things are mostly related to gaming and college).&lt;/p&gt;

&lt;h1&gt;
  
  
  Things I love
&lt;/h1&gt;

&lt;h2&gt;
  
  
  The Terminal
&lt;/h2&gt;




&lt;blockquote&gt;
&lt;p&gt;The terminal is the best thing that ever happened to the coding community&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The terminal opened so many possibilities for which we had to rely on third-party tools like vim editor which we can use in place of Visual Studio Code or Sublime or Atom or some million other code editors out there. It also eliminated the use of GUI applications most of the time in a good way, it reduced the time to load the app than just writing a command to do the same work. and it is really one of my favourite utilities on mac as it is nearly everything in one place. And also did I mention that you can manipulate some system commands in Mac and Linux which windows can never imagine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Being Unix
&lt;/h2&gt;




&lt;blockquote&gt;
&lt;p&gt;around 67% of the world is being powered by Unix.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  What is Unix?
&lt;/h3&gt;

&lt;p&gt;Unix is a family of multitasking, multiuser computer operating systems that derive from the original AT&amp;amp;T Unix, whose development started in the 1970s at the Bell Labs research centre by Ken Thompson, Dennis Ritchie, and others (yes, about the same guys who cursed the world with c, &lt;em&gt;of course, kidding&lt;/em&gt;). Basically, Unix is a family (or architecture) (and believe It when I say it, this family is way bigger than anybody can ever imagine) of Operating Systems that includes more types or "casts"(am I in the wrong field) of OSs like macOS and Linux(yes android is a Linux operating system so it is included under Unix). And here it gets weird as Windows is made on the architecture which is called Linux but is not Linux and it all gets weird from there. And did I said that &lt;strong&gt;67%&lt;/strong&gt; of the world is powered by Unix as most of the website servers like this one uses is Linux.&lt;/p&gt;

&lt;p&gt;so, without throwing more technical jargon here programmers prefer Unix architecture over the other one as it is more efficient and easy to use. BTW, it is the same reason most games are not available on macOS or Linux and developers think Windows is better to write games for.&lt;/p&gt;

&lt;h2&gt;
  
  
  The "Apple" Developer
&lt;/h2&gt;




&lt;blockquote&gt;
&lt;p&gt;Apple only allows devs to write apps for their OS on mac only&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;That says it all.&lt;/p&gt;
&lt;/blockquote&gt;


&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Things I don't like
&lt;/h1&gt;

&lt;h2&gt;
  
  
  The Games
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;it's Unix remember?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As I previously mentioned Unix is efficient for programs and productivity and stuff but it doesn't support games as Windows concentrated on games from the start. That's what felt laggy to me (not like I am an extreme gamer or something this guy hasn't played anything except Minecraft since last year). Anyways there's that.&lt;/p&gt;

&lt;h2&gt;
  
  
  College
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Why do colleges use software that are not cross platform&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As I am a college student I have to use Windows almost on a daily basis. Having to switch back and forth from Windows and macOS although it's fast I am into Windows up and running in under 5 minutes (that's why I praise macs, windows works better on Mac hardware than hardware made for Windows)&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;Summarizing....&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I love macs and you might not looking at the prices but if you want smoothness of the fluid OS of macs you would need to spend more than macs and its better off you get a Mac. It might seem like I am biased over Apple products but Linux is also an option being a programmer you would need to know all the OSs as you can't tell what the future will hold and you may be forced to use another OS.&lt;/p&gt;

&lt;p&gt;Also, if you liked this post, you can show your support by buying me a book here — &lt;a href="//coff.ee/x2ysmcrylt"&gt;coff.ee/x2ysmcrylt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or leaving a like&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Hello World! in 5 Different Programming languages</title>
      <dc:creator>Nibodh Daware</dc:creator>
      <pubDate>Thu, 16 Sep 2021 06:46:32 +0000</pubDate>
      <link>https://forem.com/nibodhdaware/hello-world-in-5-different-programming-languages-46ip</link>
      <guid>https://forem.com/nibodhdaware/hello-world-in-5-different-programming-languages-46ip</guid>
      <description>&lt;p&gt;Greetings!! from this blog post, I am starting a new series called the "Basics of Code 5 Different Languages" in this series as the title says we are going to study all the beginner concepts that are necessary to start with code ex. &lt;strong&gt;variables, functions, loops, conditionals&lt;/strong&gt; in 5 different programming languages namely: Python 🐍, Java ☕️, C/C++ (Both are basically the same), C# and Javascript (yes, Java and Javascript are different)&lt;/p&gt;

&lt;p&gt;In this post, we will be learning the cliché "printing the Hello World to the console" in the above-mentioned programming languages&lt;/p&gt;

&lt;h1&gt;
  
  
  Python 🐍
&lt;/h1&gt;




&lt;blockquote&gt;
&lt;p&gt;Python, O Python Near and Dear to my Heart ❤️ - Nibodh Daware&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Python was actually the first programming language that introduced me to this amazing world of programming&lt;br&gt;
Python among all is the most understandable and easy syntax&lt;br&gt;
Create a hello.py file and put the below code in it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;print("Hello World!")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it no semicolons no weird things like importing a print statement from classes inside of classes just plain simple print Hello World. This is the simplicity that python really is famous for.&lt;/p&gt;

&lt;p&gt;Now let's move on to the weird parts,&lt;/p&gt;

&lt;h1&gt;
  
  
  Java ☕️
&lt;/h1&gt;




&lt;blockquote&gt;
&lt;p&gt;BEAN LANGUAGE IS NEXT...🥔🥔🥔&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I haven't programmed in Java for a while last time I did I remember I was trying to make Minecraft mods but never got into my head&lt;br&gt;
I have heard a lot of praise from people who choose Java as their first language that it has basically changed their lives so I don't know.&lt;br&gt;
Create a hello.java file and put the below code in it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!"); 
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Even though it has a long syntax but I love the fact that it was made with Object-Oriented Programming concepts in mind, and I think it is so good for so many people like the fact that it has so many better features as compared to the previous generation la#nguages like C++.&lt;/p&gt;

&lt;h1&gt;
  
  
  C#\
&lt;/h1&gt;




&lt;blockquote&gt;
&lt;p&gt;Took me a long time to learn how to escape the # in markdown.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As you may have guessed I have tried C#\ too as I am way too &lt;em&gt;predictable&lt;/em&gt; it was in theory my first language as nearly everybody wanted to get into programming because of games and what better way to make games than &lt;strong&gt;Unity and C#&lt;/strong&gt;&lt;br&gt;
Create a hello.cs file and put the below code in it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;namespace HelloWorld
{
    class Hello {         
        static void Main(string[] args)
        {
            System.Console.WriteLine("Hello World!");
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Looks really similar to Java in my opinion.&lt;/p&gt;

&lt;h1&gt;
  
  
  C/C++
&lt;/h1&gt;




&lt;blockquote&gt;
&lt;p&gt;Origin of all!!!!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I can't much about it except I have to learn it in college and I don't think it will stop haunting my back anytime soon. I'm kidding I like C.&lt;/p&gt;

&lt;p&gt;This is Hello World in C:&lt;br&gt;
Create a hello.c file and put the below code in it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#include &amp;lt;stdio.h&amp;gt;

void main(){
      printf("Hello World");
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and this in C++&lt;br&gt;
Create a hello.cpp file and put the below code in it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#include &amp;lt;iostream&amp;gt;
using namespace std;

int main(){
    cout &amp;lt;&amp;lt; "Hello World" &amp;lt;&amp;lt; endl;
    return 0;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There are also other ways but this is how I like to write it.&lt;/p&gt;

&lt;h1&gt;
  
  
  Javascript ☕️📄
&lt;/h1&gt;




&lt;blockquote&gt;
&lt;p&gt;Best for beginners&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is also one of my favourite languages out of all the languages I touched the past year. If I start I am not going to stop talking so let's write the Hello World&lt;br&gt;
Create a hello.js file and put the below code in it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log("Hello World");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By now you may know I like simple and easy languages. Here the console doesn't mean by the native command line but the browser inspect window.&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%2Fsgv426eamk9dpf1mr5ib.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%2Fsgv426eamk9dpf1mr5ib.png" alt="image.png" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;




&lt;blockquote&gt;
&lt;p&gt;Choosing your first language is really important as it will predict your experience in this journey.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;All the languages that I have introduced you in this post you can't go wrong with them. I may recommend you to find out more about what these languages can do and then choose one of them.&lt;/p&gt;

&lt;p&gt;Also, if you liked this post, you can show your support by buying me a book here — &lt;a href="//coff.ee/x2ysmcrylt"&gt;coff.ee/x2ysmcrylt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or leaving a like&lt;/p&gt;

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