<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: BALLA NAGA V VENKATA SATYA NARASIMHAMURTHY</title>
    <description>The latest articles on DEV Community by BALLA NAGA V VENKATA SATYA NARASIMHAMURTHY (@narasimhamurthy4616).</description>
    <link>https://dev.to/narasimhamurthy4616</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3665980%2Fd8b6c754-5061-4caa-8b76-64a1f9d975b4.jpeg</url>
      <title>DEV Community: BALLA NAGA V VENKATA SATYA NARASIMHAMURTHY</title>
      <link>https://dev.to/narasimhamurthy4616</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/narasimhamurthy4616"/>
    <language>en</language>
    <item>
      <title>Netra-security</title>
      <dc:creator>BALLA NAGA V VENKATA SATYA NARASIMHAMURTHY</dc:creator>
      <pubDate>Sun, 14 Jun 2026 13:49:18 +0000</pubDate>
      <link>https://dev.to/narasimhamurthy4616/netra-security-3mo9</link>
      <guid>https://dev.to/narasimhamurthy4616/netra-security-3mo9</guid>
      <description>&lt;h1&gt;
  
  
  🔱 Building Netra Security: Creating a Python-Based Static Application Security Testing (SAST) Tool
&lt;/h1&gt;

&lt;p&gt;As a cybersecurity student, I've always been curious about how tools like SonarQube, Semgrep, and other Static Application Security Testing (SAST) platforms identify vulnerabilities before software reaches production.&lt;/p&gt;

&lt;p&gt;Instead of just learning how to use these tools, I wanted to understand how they work internally. That curiosity led me to build &lt;strong&gt;Netra Security&lt;/strong&gt;, a lightweight SAST platform developed using Python.&lt;/p&gt;

&lt;p&gt;In this article, I'll share the motivation behind the project, how it works, and what I learned while building it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Netra Security?
&lt;/h2&gt;

&lt;p&gt;Netra Security is a Python-based static code analysis tool designed to identify common security vulnerabilities directly from source code.&lt;/p&gt;

&lt;p&gt;The name &lt;strong&gt;Netra&lt;/strong&gt; is inspired by the concept of the "third eye," representing the ability to detect hidden security issues before they become exploitable vulnerabilities.&lt;/p&gt;

&lt;p&gt;The goal was not to create a replacement for enterprise security scanners but to learn the fundamentals of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Static code analysis&lt;/li&gt;
&lt;li&gt;Secure coding practices&lt;/li&gt;
&lt;li&gt;Vulnerability detection&lt;/li&gt;
&lt;li&gt;Abstract Syntax Tree (AST) analysis&lt;/li&gt;
&lt;li&gt;Security tooling development&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Many security vulnerabilities are introduced during development.&lt;/p&gt;

&lt;p&gt;Common examples include:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;system&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_input&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;eval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_input&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;exec&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_input&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;pickle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;loads&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;subprocess&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user_input&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;shell&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These patterns can lead to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Command Injection&lt;/li&gt;
&lt;li&gt;Code Injection&lt;/li&gt;
&lt;li&gt;Arbitrary Code Execution&lt;/li&gt;
&lt;li&gt;Insecure Deserialization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The idea behind Netra Security is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Detect insecure coding patterns before they become security incidents.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Version 1: Rule-Based Detection
&lt;/h2&gt;

&lt;p&gt;The first version of Netra Security relied on string matching and regular expressions.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;id&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;NETRA-001&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;pattern&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;os.system(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;issue&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Command Injection&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;severity&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;CRITICAL&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The scanner reads source code line by line and checks whether dangerous patterns appear.&lt;/p&gt;

&lt;p&gt;This approach was easy to implement and worked surprisingly well for basic detection.&lt;/p&gt;

&lt;p&gt;However, it had a major problem.&lt;/p&gt;

&lt;h3&gt;
  
  
  False Positives
&lt;/h3&gt;

&lt;p&gt;Consider:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;message&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Never use eval() in production&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A simple string scanner would incorrectly flag this as a vulnerability even though it is only text.&lt;/p&gt;

&lt;p&gt;This limitation motivated the next step.&lt;/p&gt;




&lt;h2&gt;
  
  
  Introducing AST Analysis
&lt;/h2&gt;

&lt;p&gt;Python provides a built-in module called &lt;code&gt;ast&lt;/code&gt; (Abstract Syntax Tree).&lt;/p&gt;

&lt;p&gt;AST converts source code into a tree structure that represents the actual logic of the program.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;system&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;becomes a function call node.&lt;/p&gt;

&lt;p&gt;Instead of searching for text, we can inspect the code structure itself.&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 python"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;walk&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tree&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Call&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;func&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Attribute&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;func&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;attr&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;system&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

                &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Command Injection Risk&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This significantly reduces false positives and provides more reliable results.&lt;/p&gt;




&lt;h2&gt;
  
  
  Vulnerabilities Currently Detected
&lt;/h2&gt;

&lt;p&gt;Netra Security currently detects:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;ID&lt;/th&gt;
&lt;th&gt;Vulnerability&lt;/th&gt;
&lt;th&gt;Severity&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;NETRA-001&lt;/td&gt;
&lt;td&gt;Command Injection&lt;/td&gt;
&lt;td&gt;Critical&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NETRA-002&lt;/td&gt;
&lt;td&gt;Code Injection&lt;/td&gt;
&lt;td&gt;Critical&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NETRA-003&lt;/td&gt;
&lt;td&gt;Hardcoded Password&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NETRA-004&lt;/td&gt;
&lt;td&gt;Hardcoded API Key&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NETRA-005&lt;/td&gt;
&lt;td&gt;Arbitrary Code Execution&lt;/td&gt;
&lt;td&gt;Critical&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NETRA-006&lt;/td&gt;
&lt;td&gt;Insecure Deserialization&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NETRA-007&lt;/td&gt;
&lt;td&gt;Dangerous Subprocess Usage&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Each finding includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rule ID&lt;/li&gt;
&lt;li&gt;Severity&lt;/li&gt;
&lt;li&gt;Line Number&lt;/li&gt;
&lt;li&gt;Vulnerable Code&lt;/li&gt;
&lt;li&gt;Remediation Recommendation&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Sample Output
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=== NETRA SECURITY REPORT ===

Total Findings: 5

ID       : NETRA-001
Severity : CRITICAL
Issue    : Command Injection
Line     : 13
Code     : os.system(user)

Fix      : Use subprocess.run(..., shell=False)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;p&gt;Building Netra Security taught me several important concepts:&lt;/p&gt;

&lt;h3&gt;
  
  
  Static Analysis Is More Complex Than It Looks
&lt;/h3&gt;

&lt;p&gt;Initially, I assumed security scanning was mostly pattern matching.&lt;/p&gt;

&lt;p&gt;In reality, reducing false positives is one of the hardest challenges.&lt;/p&gt;

&lt;h3&gt;
  
  
  AST Is Extremely Powerful
&lt;/h3&gt;

&lt;p&gt;AST enables analysis based on code behavior rather than raw text.&lt;/p&gt;

&lt;p&gt;This is how many professional security tools achieve better accuracy.&lt;/p&gt;

&lt;h3&gt;
  
  
  Security and Development Are Closely Connected
&lt;/h3&gt;

&lt;p&gt;Developers who understand security can prevent many vulnerabilities before they reach production.&lt;/p&gt;




&lt;h2&gt;
  
  
  Future Improvements
&lt;/h2&gt;

&lt;p&gt;The project is still evolving.&lt;/p&gt;

&lt;p&gt;Planned features include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Additional OWASP Top 10 checks&lt;/li&gt;
&lt;li&gt;Multi-file project scanning&lt;/li&gt;
&lt;li&gt;Folder-level analysis&lt;/li&gt;
&lt;li&gt;Web-based dashboard using Flask&lt;/li&gt;
&lt;li&gt;JSON and CSV report exports&lt;/li&gt;
&lt;li&gt;Risk scoring engine&lt;/li&gt;
&lt;li&gt;CI/CD integration&lt;/li&gt;
&lt;li&gt;GitHub repository scanning&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Building Netra Security gave me a much deeper understanding of how static analysis tools work and how vulnerabilities can be detected before software is deployed.&lt;/p&gt;

&lt;p&gt;The project started as a simple pattern-matching scanner and gradually evolved into an AST-powered security analysis engine.&lt;/p&gt;

&lt;p&gt;There is still a long way to go, but that's what makes cybersecurity and software engineering exciting—there is always something new to learn and improve.&lt;/p&gt;

&lt;p&gt;If you're learning Python, cybersecurity, or application security, I highly recommend building your own security tools. You'll learn far more than simply using existing ones.&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

&lt;p&gt;GitHub Repository:&lt;br&gt;
&lt;a href="https://github.com/NARASIMHAMURTHY4616/Netra-security" rel="noopener noreferrer"&gt;Netra-security&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  python #cybersecurity #appsec #security #sast #flask #beginners #opensource
&lt;/h1&gt;

</description>
      <category>cybersecurity</category>
      <category>python</category>
      <category>showdev</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Phishgaurd</title>
      <dc:creator>BALLA NAGA V VENKATA SATYA NARASIMHAMURTHY</dc:creator>
      <pubDate>Sun, 07 Jun 2026 11:00:00 +0000</pubDate>
      <link>https://dev.to/narasimhamurthy4616/phishgaurd-2m09</link>
      <guid>https://dev.to/narasimhamurthy4616/phishgaurd-2m09</guid>
      <description>&lt;h1&gt;
  
  
  PhishGaurd
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Phishing Awareness Training Platform
&lt;/h2&gt;

&lt;p&gt;An interactive cybersecurity awareness website that teaches users how to identify, avoid, and report phishing attacks through real-world simulations, interactive exercises, quizzes, and verifiable certificates. :contentReference[oaicite:0]{index=0}&lt;/p&gt;




&lt;h2&gt;
  
  
  🌟 Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  📧 Interactive Phishing Demo
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Analyze realistic phishing emails&lt;/li&gt;
&lt;li&gt;Identify suspicious links, fake domains, urgency tactics, and spoofed senders&lt;/li&gt;
&lt;li&gt;Interactive red-flag detection system with explanations for each warning sign :contentReference[oaicite:1]{index=1}&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🕵️ Real-World Attack Examples
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Banking phishing scams&lt;/li&gt;
&lt;li&gt;IT help desk credential theft&lt;/li&gt;
&lt;li&gt;Package delivery scams&lt;/li&gt;
&lt;li&gt;Fake job offers&lt;/li&gt;
&lt;li&gt;Business Email Compromise (BEC) scenarios &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🛡️ Security Best Practices
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Enable Multi-Factor Authentication (MFA)&lt;/li&gt;
&lt;li&gt;Verify sender addresses&lt;/li&gt;
&lt;li&gt;Hover before clicking links&lt;/li&gt;
&lt;li&gt;Verify requests through separate channels&lt;/li&gt;
&lt;li&gt;Use password managers&lt;/li&gt;
&lt;li&gt;Report suspicious emails&lt;/li&gt;
&lt;li&gt;Keep software updated&lt;/li&gt;
&lt;li&gt;Think before acting &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🧠 Knowledge Assessment
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Interactive phishing awareness quiz&lt;/li&gt;
&lt;li&gt;Immediate feedback for every question&lt;/li&gt;
&lt;li&gt;Educational explanations for correct and incorrect answers&lt;/li&gt;
&lt;li&gt;Start button-controlled timer&lt;/li&gt;
&lt;li&gt;Score tracking system :contentReference[oaicite:4]{index=4}&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🏆 Professional Certificate System
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Certificate of Completion&lt;/li&gt;
&lt;li&gt;Unique Certificate ID&lt;/li&gt;
&lt;li&gt;PDF Download&lt;/li&gt;
&lt;li&gt;Professional corporate design&lt;/li&gt;
&lt;li&gt;QR Code verification&lt;/li&gt;
&lt;li&gt;Issue date tracking&lt;/li&gt;
&lt;li&gt;Signature and organization seal areas &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔍 Certificate Verification
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Verify certificates using Certificate ID&lt;/li&gt;
&lt;li&gt;QR-code based verification&lt;/li&gt;
&lt;li&gt;Validation status display&lt;/li&gt;
&lt;li&gt;Verification URL support&lt;/li&gt;
&lt;li&gt;Local certificate records storage :contentReference[oaicite:6]{index=6}&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🎯 Learning Objectives
&lt;/h2&gt;

&lt;p&gt;After completing this training, users will be able to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Recognize phishing emails and malicious websites&lt;/li&gt;
&lt;li&gt;Identify social engineering tactics&lt;/li&gt;
&lt;li&gt;Detect spoofed domains and fraudulent links&lt;/li&gt;
&lt;li&gt;Protect sensitive information online&lt;/li&gt;
&lt;li&gt;Apply cybersecurity best practices&lt;/li&gt;
&lt;li&gt;Respond appropriately to phishing attempts&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🛠️ Built With
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;HTML5&lt;/li&gt;
&lt;li&gt;CSS3&lt;/li&gt;
&lt;li&gt;JavaScript (Vanilla JS)&lt;/li&gt;
&lt;li&gt;Canvas API&lt;/li&gt;
&lt;li&gt;LocalStorage API&lt;/li&gt;
&lt;li&gt;html2canvas&lt;/li&gt;
&lt;li&gt;jsPDF&lt;/li&gt;
&lt;li&gt;QR Code Generator&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📚 Training Modules
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Interactive Demo
&lt;/h3&gt;

&lt;p&gt;Learn how attackers manipulate users through realistic phishing emails.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Attack Examples
&lt;/h3&gt;

&lt;p&gt;Explore common phishing campaigns and understand their warning signs.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Defense Strategies
&lt;/h3&gt;

&lt;p&gt;Master practical techniques for staying secure online.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Awareness Quiz
&lt;/h3&gt;

&lt;p&gt;Test your knowledge with scenario-based cybersecurity questions.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Certification
&lt;/h3&gt;

&lt;p&gt;Generate a professional completion certificate after successfully completing the training.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏅 Certificate Features
&lt;/h2&gt;

&lt;p&gt;Each certificate includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Participant Name&lt;/li&gt;
&lt;li&gt;Certificate ID&lt;/li&gt;
&lt;li&gt;Date of Issue&lt;/li&gt;
&lt;li&gt;Verification URL&lt;/li&gt;
&lt;li&gt;QR Verification Code&lt;/li&gt;
&lt;li&gt;Authorized Signatures&lt;/li&gt;
&lt;li&gt;Organization Seal&lt;/li&gt;
&lt;li&gt;Completion Statement &lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔐 Verification System
&lt;/h2&gt;

&lt;p&gt;Certificates can be verified by:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Entering the Certificate ID.&lt;/li&gt;
&lt;li&gt;Using the Verify Certificate page.&lt;/li&gt;
&lt;li&gt;Scanning the QR code.&lt;/li&gt;
&lt;li&gt;Opening the verification URL.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The system confirms certificate authenticity and displays holder information. :contentReference[oaicite:8]{index=8}&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Getting Started
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Clone the Repository
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/NARASIMHAMURTHY4616/PhishGuard.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Open the Project
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;PhishGuard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;in your browser.&lt;/p&gt;

&lt;p&gt;No installation required.&lt;/p&gt;




&lt;h2&gt;
  
  
  📱 Responsive Design
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Desktop&lt;/li&gt;
&lt;li&gt;Laptop&lt;/li&gt;
&lt;li&gt;Tablet&lt;/li&gt;
&lt;li&gt;Mobile Devices&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🎓 Educational Purpose
&lt;/h2&gt;

&lt;p&gt;This project was developed to promote cybersecurity awareness and educate users about phishing attacks, social engineering techniques, and safe online practices.&lt;/p&gt;




&lt;h2&gt;
  
  
  📸 Screenshots
&lt;/h2&gt;

&lt;p&gt;inprocess&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Homepage -&lt;/li&gt;
&lt;li&gt;Interactive Email Demo&lt;/li&gt;
&lt;li&gt;Attack Examples&lt;/li&gt;
&lt;li&gt;Quiz Interface&lt;/li&gt;
&lt;li&gt;Certificate Generation&lt;/li&gt;
&lt;li&gt;Certificate Verification&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤝 Contributing
&lt;/h2&gt;

&lt;p&gt;Contributions are welcome.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fork the repository&lt;/li&gt;
&lt;li&gt;Create a feature branch&lt;/li&gt;
&lt;li&gt;Commit your changes&lt;/li&gt;
&lt;li&gt;Submit a Pull Request&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  📜 License
&lt;/h2&gt;

&lt;p&gt;This project is intended for educational and cybersecurity awareness purposes.&lt;/p&gt;




&lt;h2&gt;
  
  
  👨‍💻 Author
&lt;/h2&gt;

&lt;p&gt;narasimha balla -A cyber secutiry student&lt;br&gt;
&lt;a href="https://github.com/NARASIMHAMURTHY4616" rel="noopener noreferrer"&gt;github&lt;/a&gt;&lt;br&gt;
Developed as a cybersecurity awareness and phishing prevention training project.&lt;/p&gt;

</description>
      <category>phishguard</category>
      <category>cybersecurity</category>
      <category>phishing</category>
      <category>learning</category>
    </item>
    <item>
      <title>Building Cinemind-AI 🎬 | My First AI Movie Chatbot with Flask, Gemini &amp; MongoDB</title>
      <dc:creator>BALLA NAGA V VENKATA SATYA NARASIMHAMURTHY</dc:creator>
      <pubDate>Sun, 19 Apr 2026 05:05:32 +0000</pubDate>
      <link>https://dev.to/narasimhamurthy4616/building-cinemind-ai-my-first-ai-movie-chatbot-with-flask-gemini-mongodb-12ik</link>
      <guid>https://dev.to/narasimhamurthy4616/building-cinemind-ai-my-first-ai-movie-chatbot-with-flask-gemini-mongodb-12ik</guid>
      <description>&lt;h2&gt;
  
  
  🎬 Cinemind-AI
&lt;/h2&gt;

&lt;p&gt;I recently built my own AI chatbot called &lt;strong&gt;Cinemind-AI&lt;/strong&gt; — a movie-focused assistant that answers questions about films, actors, and directors.&lt;/p&gt;

&lt;p&gt;This project helped me understand how real AI applications work behind the scenes.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 What is Cinemind-AI?
&lt;/h2&gt;

&lt;p&gt;Cinemind-AI is a &lt;strong&gt;movie-only chatbot&lt;/strong&gt; that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Answers questions about movies 🎥
&lt;/li&gt;
&lt;li&gt;Stores chat history 📂
&lt;/li&gt;
&lt;li&gt;Works like ChatGPT 💬
&lt;/li&gt;
&lt;li&gt;Uses AI for intelligent responses 🧠
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🏗️ Architecture
&lt;/h2&gt;

&lt;p&gt;Here’s how the system works:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Frontend (HTML + JavaScript)
        ↓
Backend (Flask API)
        ↓
AI Model (Google Gemini)
        ↓
Database (MongoDB)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  ⚙️ Technologies Used
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Python 🐍
&lt;/li&gt;
&lt;li&gt;Flask 🌐
&lt;/li&gt;
&lt;li&gt;Google Gemini API 🤖
&lt;/li&gt;
&lt;li&gt;MongoDB 🗄️
&lt;/li&gt;
&lt;li&gt;HTML, CSS, JavaScript 💻
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔥 Key Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  💬 ChatGPT-like Interface
&lt;/h3&gt;

&lt;p&gt;Users can chat naturally like they do with AI assistants.&lt;/p&gt;

&lt;h3&gt;
  
  
  🎥 Movie Domain Restriction
&lt;/h3&gt;

&lt;p&gt;The chatbot only answers movie-related questions.&lt;/p&gt;

&lt;p&gt;If a user asks something else:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;⚠ Please ask only movie related questions.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  📂 Chat History
&lt;/h3&gt;

&lt;p&gt;All chats are stored in MongoDB and can be reopened later.&lt;/p&gt;

&lt;h3&gt;
  
  
  🧠 AI-Powered Responses
&lt;/h3&gt;

&lt;p&gt;Using Gemini API, the chatbot generates smart answers.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧩 How It Works
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. User Sends Message
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;polisodu telugu movie
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Flask Backend Receives It
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get_json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;message&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;message&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Domain Filter Applied
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;movie&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Only movie questions allowed&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. AI Generates Response
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. Stored in MongoDB
&lt;/h3&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;"role"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"user"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
 &lt;/span&gt;&lt;span class="nl"&gt;"message"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"polisodu telugu movie"&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;h2&gt;
  
  
  🧪 Challenges I Faced
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;API rate limits (Gemini quota hit 💀)&lt;/li&gt;
&lt;li&gt;JSON parsing errors in frontend&lt;/li&gt;
&lt;li&gt;Handling Markdown formatting in responses&lt;/li&gt;
&lt;li&gt;Managing chat sessions correctly&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 What I Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How frontend talks to backend (fetch API)&lt;/li&gt;
&lt;li&gt;How Flask APIs work&lt;/li&gt;
&lt;li&gt;How AI models are integrated&lt;/li&gt;
&lt;li&gt;How databases store chat data&lt;/li&gt;
&lt;li&gt;Real-world debugging skills 😄&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Future Improvements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Streaming AI responses (typing effect)&lt;/li&gt;
&lt;li&gt;Chat titles like ChatGPT&lt;/li&gt;
&lt;li&gt;Movie posters integration&lt;/li&gt;
&lt;li&gt;Better UI design&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🎯 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Building Cinemind-AI made me realize how modern AI apps are structured.&lt;/p&gt;

&lt;p&gt;This is not just a chatbot — it's a &lt;strong&gt;full-stack AI project&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  👨‍💻 About Me
&lt;/h2&gt;

&lt;p&gt;I'm Nagu, a Cyber Security Engineering student exploring AI + Web Development 🚀 &lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://github.com/NARASIMHAMURTHY4616/cinemind-ai.git" rel="noopener noreferrer"&gt;GITHUB REPO &lt;/a&gt;.
&lt;/h2&gt;




&lt;h2&gt;
  
  
  ⭐ If You Like This
&lt;/h2&gt;

&lt;p&gt;Give your feedback or suggestions!&lt;/p&gt;

&lt;p&gt;And if you're building something similar, let’s connect 🔥&lt;/p&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>webdev</category>
      <category>mongodb</category>
    </item>
    <item>
      <title>ros turtlesim for beginners</title>
      <dc:creator>BALLA NAGA V VENKATA SATYA NARASIMHAMURTHY</dc:creator>
      <pubDate>Wed, 31 Dec 2025 05:57:50 +0000</pubDate>
      <link>https://dev.to/narasimhamurthy4616/ros-turtlesim-for-beginners-1h30</link>
      <guid>https://dev.to/narasimhamurthy4616/ros-turtlesim-for-beginners-1h30</guid>
      <description>&lt;p&gt;ros2 turtlesim&lt;br&gt;
the humble turtlesim is a beginer level simulation tool&lt;/p&gt;

&lt;p&gt;Hey everyone 👋 I’m Nagu, and this is my first blog post on the DEV Community!&lt;br&gt;
In this post, we’ll explore Turtlesim, a fun and simple simulator in ROS 2 (Robot Operating System 2) — perfect for beginners who want to start learning robotics and ROS commands.&lt;/p&gt;

&lt;p&gt;🚀 What is ROS 2 Humble?&lt;/p&gt;

&lt;p&gt;ROS 2 Humble Hawksbill is a popular Long-Term Support (LTS) version of ROS 2.&lt;br&gt;
It’s widely used for building and simulating robots — from simple mobile bots to advanced AI-driven systems.&lt;/p&gt;

&lt;p&gt;🐢 What is Turtlesim?&lt;/p&gt;

&lt;p&gt;Turtlesim is a lightweight simulator that shows a small turtle in a 2D world.&lt;br&gt;
It’s often the first step to understanding ROS concepts such as:&lt;/p&gt;

&lt;p&gt;Nodes 🧩 (independent programs)&lt;/p&gt;

&lt;p&gt;Topics 🗣️ (communication channels)&lt;/p&gt;

&lt;p&gt;Services ⚙️ (request/response system)&lt;/p&gt;

&lt;p&gt;Parameters ⚡ (settings and configurations)&lt;/p&gt;

&lt;p&gt;⚙️ Step 1: Install ROS 2 Humble&lt;/p&gt;

&lt;p&gt;If you haven’t installed ROS 2 yet, open your terminal and run:&lt;/p&gt;

&lt;p&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&lt;br&gt;
sudo apt install ros-humble-desktop&lt;br&gt;
Then source it: &lt;br&gt;
&lt;code&gt;source&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
/opt/ros/humble/setup.bash&lt;br&gt;
(Tip: Add this line to your .bashrc so it auto-loads every time you open a terminal)&lt;/p&gt;

&lt;p&gt;🧩 Step 2: Install Turtlesim&lt;/p&gt;

&lt;p&gt;sudo apt install ros-humble-turtlesim&lt;br&gt;
Check if it’s installed:&lt;/p&gt;

&lt;p&gt;ros2 pkg list | grep turtlesim&lt;br&gt;
note :sometimes ros2 command not found in terminal&lt;br&gt;
in that case it better to switch to root terminal by the below command&lt;/p&gt;

&lt;p&gt;sudo su&lt;br&gt;
🖥️ Step 3: Run Turtlesim&lt;/p&gt;

&lt;p&gt;Launch the turtlesim window:&lt;/p&gt;

&lt;p&gt;ros2 run turtlesim turtlesim_node&lt;br&gt;
A blue window will appear with a turtle in the center 🐢💙&lt;/p&gt;

&lt;p&gt;🎮 Step 4: Control the Turtle&lt;/p&gt;

&lt;p&gt;Open another terminal and run:&lt;/p&gt;

&lt;p&gt;ros2 run turtlesim turtle_teleop_key&lt;br&gt;
after clicks of some keys&lt;br&gt;
⬆️➡️⬇️⬅️&lt;/p&gt;

&lt;p&gt;Now use your arrow keys to move the turtle around.&lt;br&gt;
Congrats — you just published your first commands in ROS 2!&lt;/p&gt;

&lt;p&gt;🧠 Step 5: Explore Basic Commands&lt;/p&gt;

&lt;p&gt;List all active topics:&lt;/p&gt;

&lt;p&gt;ros2 topic list&lt;/p&gt;

&lt;p&gt;See messages being published: while you are controling the turtle by arrow keys&lt;/p&gt;

&lt;p&gt;ros2 topic echo /turtle1/cmd_vel&lt;/p&gt;




&lt;p&gt;linear:&lt;br&gt;
  x: 0.0&lt;br&gt;
  y: 0.0&lt;br&gt;
  z: 0.0&lt;br&gt;
angular:&lt;br&gt;
  x: 0.0&lt;br&gt;
  y: 0.0&lt;/p&gt;

&lt;h2&gt;
  
  
    z: -2.0
&lt;/h2&gt;

&lt;p&gt;linear:&lt;br&gt;
  x: 0.0&lt;br&gt;
  y: 0.0&lt;br&gt;
  z: 0.0&lt;br&gt;
angular:&lt;br&gt;
  x: 0.0&lt;br&gt;
  y: 0.0&lt;/p&gt;

&lt;h2&gt;
  
  
    z: 2.0
&lt;/h2&gt;

&lt;p&gt;WHEN YOU TOUCH THE EDGE OF THE WINDOW it publish to the&lt;/p&gt;

&lt;p&gt;turtlesim_node&lt;br&gt;
terminal&lt;br&gt;
[WARN] [1761550426.649414936] [turtlesim]: Oh no! I hit the wall! (Clamping from [x=11.120421, y=4.634281])&lt;/p&gt;

&lt;p&gt;Clear the screen:&lt;/p&gt;

&lt;p&gt;ros2 service call /clear std_srvs/srv/Empty&lt;br&gt;
Change the background color:&lt;/p&gt;

&lt;p&gt;ros2 param set /turtlesim background_r 200&lt;br&gt;
ros2 param set /turtlesim background_g 100&lt;br&gt;
ros2 param set /turtlesim background_b 150&lt;br&gt;
ros2 service call /clear std_srvs/srv/Empty&lt;br&gt;
💡 What You Learned&lt;/p&gt;

&lt;p&gt;✅ How to install and run ROS 2 Humble&lt;br&gt;
✅ How to launch and control Turtlesim&lt;br&gt;
✅ How to explore topics, services, and parameters&lt;br&gt;
the official website for ros&lt;/p&gt;

&lt;p&gt;This is just the beginning of your ROS 2 journey — next, we’ll write a Python node to move the turtle automatically!&lt;/p&gt;

&lt;p&gt;✍️ Final Words&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;br&gt;
If you enjoyed this post or found it helpful, leave a ❤️ and follow me for more tutorials on ROS 2, Ubuntu, and Ethical Hacking.&lt;br&gt;
and since it is my first ever blog please support me for more info&lt;/p&gt;

&lt;p&gt;“Don’t prove, just improve.” — Nagu&lt;/p&gt;

&lt;p&gt;Would you like me to write your next post script — the one about controlling Turtlesim using Python code&lt;br&gt;
see you soon guys&lt;/p&gt;

</description>
      <category>ros</category>
      <category>ros2</category>
      <category>turtlesim</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
