<?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: Baivab Sarkar</title>
    <description>The latest articles on Forem by Baivab Sarkar (@thisisdeveloper).</description>
    <link>https://forem.com/thisisdeveloper</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%2F983923%2Ff65b4dec-d2fc-4e11-b68e-251a12279040.jpeg</url>
      <title>Forem: Baivab Sarkar</title>
      <link>https://forem.com/thisisdeveloper</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/thisisdeveloper"/>
    <language>en</language>
    <item>
      <title>🚀 Introducing Markdown Viewer v2.0</title>
      <dc:creator>Baivab Sarkar</dc:creator>
      <pubDate>Wed, 14 May 2025 19:06:23 +0000</pubDate>
      <link>https://forem.com/thisisdeveloper/introducing-markdown-viewer-v20-com</link>
      <guid>https://forem.com/thisisdeveloper/introducing-markdown-viewer-v20-com</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A complete overhaul of your favorite Markdown tool — now with more power, better design, and features developers will love.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Markdown has become indispensable for developers, writers, and teams alike. After a year of feedback and iteration, &lt;a href="https://markdownviewer.pages.dev/" rel="noopener noreferrer"&gt;Markdown Viewer&lt;/a&gt; is here to elevate your Markdown experience—delivering a professional, GitHub-style editor and previewer that’s as powerful as it is intuitive.&lt;/p&gt;

&lt;p&gt;Let’s take a look at what’s new!&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨ What’s New?
&lt;/h2&gt;

&lt;p&gt;Markdown Viewer has been redesigned from the ground up to offer a seamless and professional experience. Below are the key features and enhancements added in this major update.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔍 GitHub-Style Markdown Rendering
&lt;/h3&gt;

&lt;p&gt;See exactly how your Markdown would look on GitHub. From headings and tables to task lists and emoji shortcodes, the rendering engine closely mirrors GitHub’s own Markdown parser — perfect for developers and open-source contributors.&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%2Fxib4ovoo81tmtatds2sq.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%2Fxib4ovoo81tmtatds2sq.png" alt="GitHub-style rendering" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  ⚡ Live Preview with Sync Scrolling
&lt;/h3&gt;

&lt;p&gt;The dual-pane interface gives you a live HTML preview as you type. And with &lt;strong&gt;sync scrolling&lt;/strong&gt;, your editor and preview stay perfectly aligned — making writing and proofreading incredibly smooth.&lt;/p&gt;




&lt;h3&gt;
  
  
  🎨 Dark Mode Toggle
&lt;/h3&gt;

&lt;p&gt;Whether you’re coding at midnight or just love a sleek interface, the built-in &lt;strong&gt;dark mode&lt;/strong&gt; has you covered. Toggle between light and dark themes anytime with a single click.&lt;/p&gt;




&lt;h3&gt;
  
  
  📊 Content Statistics
&lt;/h3&gt;

&lt;p&gt;Keep track of your writing with &lt;strong&gt;word count&lt;/strong&gt;, &lt;strong&gt;character count&lt;/strong&gt;, and &lt;strong&gt;estimated reading time&lt;/strong&gt;. Great for content creators, bloggers, and technical writers who want to meet specific writing goals.&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%2Fhfo4g1n4npjqzwo6ap0n.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%2Fhfo4g1n4npjqzwo6ap0n.png" alt="Statistics" width="637" height="119"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🧠 LaTeX Math Support
&lt;/h3&gt;

&lt;p&gt;For academics, scientists, and engineers — Markdown Viewer now supports &lt;strong&gt;LaTeX-style math expressions&lt;/strong&gt; using MathJax. Both inline and block-level equations are rendered beautifully.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;Inline equation: $$E = mc^2$$

Display equations:
$$&lt;span class="se"&gt;\i&lt;/span&gt;nt_{-&lt;span class="se"&gt;\i&lt;/span&gt;nfty}^{&lt;span class="se"&gt;\i&lt;/span&gt;nfty} e^{-x^2} dx = &lt;span class="se"&gt;\s&lt;/span&gt;qrt{&lt;span class="se"&gt;\p&lt;/span&gt;i}$$

$$&lt;span class="se"&gt;\f&lt;/span&gt;rac{&lt;span class="se"&gt;\p&lt;/span&gt;artial f}{&lt;span class="se"&gt;\p&lt;/span&gt;artial x} = &lt;span class="se"&gt;\l&lt;/span&gt;im_{h &lt;span class="se"&gt;\t&lt;/span&gt;o 0} &lt;span class="se"&gt;\f&lt;/span&gt;rac{f(x+h) - f(x)}{h}$$

$$&lt;span class="se"&gt;\s&lt;/span&gt;um_{i=1}^{n} i^2 = &lt;span class="se"&gt;\f&lt;/span&gt;rac{n(n+1)(2n+1)}{6}$$
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fsiorr282433lxreshjl7.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%2Fsiorr282433lxreshjl7.png" alt="Math support" width="800" height="304"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🧾 Mermaid Diagrams
&lt;/h3&gt;

&lt;p&gt;Markdown Viewer integrates &lt;strong&gt;Mermaid.js&lt;/strong&gt; for generating flowcharts, sequence diagrams, Gantt charts, and more — directly inside your Markdown.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR
    A[Start] --&amp;gt; B{Is it working?}
    B --&amp;gt;|Yes| C[Great!]
    B --&amp;gt;|No| D[Debug]
    C --&amp;gt; E[Deploy]
    D --&amp;gt; B
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fx6b2xepndufq73capukk.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%2Fx6b2xepndufq73capukk.png" alt="Mermaid " width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  📥 Import &amp;amp; 📤 Export Options
&lt;/h3&gt;

&lt;p&gt;Now you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Import&lt;/strong&gt; &lt;code&gt;.md&lt;/code&gt; files via drag &amp;amp; drop or file picker&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Export&lt;/strong&gt; your content as:

&lt;ul&gt;
&lt;li&gt;Markdown (&lt;code&gt;.md&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;HTML (&lt;code&gt;.html&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;PDF (&lt;code&gt;.pdf&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;It’s fast, secure, and 100% client-side — &lt;strong&gt;no data leaves your browser&lt;/strong&gt;.&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%2Fanhq2psio4e6nrwjkzqj.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%2Fanhq2psio4e6nrwjkzqj.png" alt="Import &amp;amp; Export Options" width="563" height="189"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔠 Syntax Highlighting for Code Blocks
&lt;/h3&gt;

&lt;p&gt;Code blocks are rendered with beautiful, multi-language &lt;strong&gt;syntax highlighting&lt;/strong&gt; powered by &lt;code&gt;highlight.js&lt;/code&gt;. Your technical documentation will look as sharp as your code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;  &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;renderMarkdown&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;markdown&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;markdownEditor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;html&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;marked&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;markdown&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;sanitizedHtml&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;DOMPurify&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sanitize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;html&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nx"&gt;markdownPreview&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerHTML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;sanitizedHtml&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="c1"&gt;// Apply syntax highlighting to code blocks&lt;/span&gt;
    &lt;span class="nx"&gt;markdownPreview&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelectorAll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;pre code&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;block&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;hljs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;highlightElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;block&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fbawzasq1cc7o9eog1uo4.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%2Fbawzasq1cc7o9eog1uo4.png" alt="Code Blocks" width="800" height="261"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  😊 Emoji Support
&lt;/h3&gt;

&lt;p&gt;Write with personality! Emoji shortcodes like &lt;code&gt;:sparkles:&lt;/code&gt; or &lt;code&gt;:rocket:&lt;/code&gt; are automatically converted into visual emojis using JoyPixels.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;:sparkles: Welcome to Markdown Viewer! :rocket:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fc6bm1flqjsx457fy4n0d.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%2Fc6bm1flqjsx457fy4n0d.png" alt="Emoji Support" width="800" height="322"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💻 Tech Stack Overview
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: HTML5, CSS3, JavaScript, Bootstrap&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Libraries&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;marked.js&lt;/code&gt; - Markdown parsing&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;highlight.js&lt;/code&gt; - Code syntax highlighting&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;MathJax&lt;/code&gt; - LaTeX rendering&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Mermaid.js&lt;/code&gt; - Diagram rendering&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;html2canvas.js&lt;/code&gt; + &lt;code&gt;jsPDF&lt;/code&gt; - PDF generation&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;DOMPurify&lt;/code&gt; - HTML sanitization&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;JoyPixels&lt;/code&gt; - Emoji parsing&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;FileSaver.js&lt;/code&gt; - File Handling&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧪 How to Try It Out
&lt;/h2&gt;

&lt;p&gt;Getting started with Markdown Viewer is super simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/ThisIs-Developer/Markdown-Viewer.git
&lt;span class="nb"&gt;cd &lt;/span&gt;Markdown-Viewer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then open &lt;code&gt;index.html&lt;/code&gt; in your browser — no installation required!&lt;/p&gt;

&lt;p&gt;Or skip all that and try the &lt;strong&gt;&lt;a href="https://markdownviewer.pages.dev/" rel="noopener noreferrer"&gt;Live Demo&lt;/a&gt;&lt;/strong&gt; now!&lt;/p&gt;




&lt;h2&gt;
  
  
  📈 A Look Back: The Evolution of Markdown Viewer
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;From basic previewer to fully-featured editor.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This journey started with a minimal editor. Over time, through iteration, feedback, and a passion for improvement, Markdown Viewer has become a powerful writing and visualization tool.&lt;/p&gt;

&lt;p&gt;Compare it yourself:&lt;br&gt;
🎯 &lt;strong&gt;Current version&lt;/strong&gt;: &lt;a href="https://markdownviewer.pages.dev/" rel="noopener noreferrer"&gt;markdownviewer.pages.dev&lt;/a&gt;&lt;br&gt;
🕰️ &lt;strong&gt;Original version&lt;/strong&gt;: &lt;a href="https://a1b91221.markdownviewer.pages.dev/" rel="noopener noreferrer"&gt;v1 demo&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;Whether you're a student, developer, blogger, or technical writer, Markdown Viewer v2.0 is built to support your workflow — fast, flexible, and fully featured.&lt;/p&gt;

&lt;p&gt;If you find this project useful, don’t forget to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⭐ Star it on GitHub: &lt;a href="https://github.com/ThisIs-Developer/Markdown-Viewer" rel="noopener noreferrer"&gt;ThisIs-Developer/Markdown-Viewer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🗣️ Share it with your network&lt;/li&gt;
&lt;li&gt;💬 Drop your feedback or feature suggestions in the comments!&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Thanks for reading, and happy writing in Markdown!📝✨&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🚀 How to change visibility in massive GitHub organizations like EpicGames? (Step-by-Step Guide)</title>
      <dc:creator>Baivab Sarkar</dc:creator>
      <pubDate>Fri, 27 Sep 2024 08:55:14 +0000</pubDate>
      <link>https://forem.com/thisisdeveloper/epic-games-membership-on-github-3ml</link>
      <guid>https://forem.com/thisisdeveloper/epic-games-membership-on-github-3ml</guid>
      <description>&lt;p&gt;&lt;a href="https://media.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%2Ff8ajfmtu01mae6qsqta9.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Ff8ajfmtu01mae6qsqta9.gif" alt="GitHub Fun Gif" width="500" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ever wondered what it's like being part of a massive GitHub organization like Epic Games? With over 498,800 members, it's not just about the cool access to private repos and source codes—it’s also about the sheer scale of it all. But here's where it gets interesting: GitHub's web interface wasn’t exactly built to handle this many people.&lt;/p&gt;

&lt;p&gt;So, you might run into trouble if you're trying to tweak something simple—like hiding or showing Epic Games' logo on your profile. The filter function times out, and with the member list capped at 50,000, good luck finding your account! Even clever tricks like changing the URL for an alphabetical search can leave you stuck.&lt;/p&gt;

&lt;p&gt;Well, fret not! I’ll walk you through how to publicize your membership using &lt;strong&gt;cURL&lt;/strong&gt; and &lt;strong&gt;GitHub’s REST API&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media.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%2F4k2jpsb6a23p496jekho.png" alt="Image description" width="586" height="391"&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🧐 Why Make Your Membership Public?
&lt;/h3&gt;

&lt;p&gt;Because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🏆 &lt;strong&gt;Bragging Rights&lt;/strong&gt;: Who wouldn’t want to show off being part of something cool like &lt;strong&gt;Epic Games&lt;/strong&gt;?&lt;/li&gt;
&lt;li&gt;📈 &lt;strong&gt;Networking&lt;/strong&gt;: Let employers, collaborators, and random cool coders know you're part of something BIG.&lt;/li&gt;
&lt;li&gt;👀 &lt;strong&gt;Credibility&lt;/strong&gt;: When people see &lt;strong&gt;Epic Games&lt;/strong&gt; on your GitHub, they'll know you're not messing around!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, the GitHub UI can struggle with big orgs (409k members 😳), so you’ll need to use some API magic 🧙‍♂️ to do this!&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 How to Make Your GitHub Membership Public with cURL
&lt;/h2&gt;

&lt;p&gt;Follow these steps and become the public face of your GitHub org in no time:&lt;/p&gt;




&lt;h3&gt;
  
  
  Step 1: Create a Personal Access Token (PAT) 🔐
&lt;/h3&gt;

&lt;p&gt;First things first, you'll need to generate a &lt;strong&gt;PAT&lt;/strong&gt; to access the GitHub API. Here's how:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Go to Your GitHub Settings&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Developer settings&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Head to &lt;strong&gt;Personal access tokens&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Generate a New Token&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click on &lt;strong&gt;Generate new token&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Ensure you check the &lt;code&gt;read:org&lt;/code&gt; scope.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Copy That Token!&lt;/strong&gt;: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Be quick! Once generated, &lt;strong&gt;copy it&lt;/strong&gt; because you won’t see it again. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  Step 2: Use cURL to Make Your Membership Public 📡
&lt;/h3&gt;

&lt;p&gt;Now, time to flex those &lt;strong&gt;cURL&lt;/strong&gt; muscles 💪! Open your terminal and run this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; PUT &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Accept: application/vnd.github.v3+json"&lt;/span&gt; &lt;span class="nt"&gt;-u&lt;/span&gt; YOUR_GITHUB_USERNAME:YOUR_PAT_TOKEN https://api.github.com/orgs/ORGANIZATION_NAME/public_members/YOUR_GITHUB_USERNAME
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Example:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; PUT &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Accept: application/vnd.github.v3+json"&lt;/span&gt; &lt;span class="nt"&gt;-u&lt;/span&gt; ThisIs-Developer:ghp_12345MYTOKEN https://api.github.com/orgs/EpicGames/public_members/ThisIs-Developer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Don’t forget to replace the placeholders with your real username and token! 😜&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media.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%2F1ksvoxkhh8nmshhqy48y.png" alt="Image description" width="730" height="144"&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 3: Check Out Your Public Membership 🎉
&lt;/h3&gt;

&lt;p&gt;Done with the cURL command? Head over to your GitHub profile and check out your shiny new &lt;strong&gt;public membership&lt;/strong&gt; under the &lt;strong&gt;Organizations&lt;/strong&gt; section. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fv51y6e5kgi7krbqqrqrw.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fv51y6e5kgi7krbqqrqrw.gif" alt="Mission Accomplished Gif" width="320" height="240"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🚀 Quick Tip: Running cURL Commands
&lt;/h3&gt;

&lt;h4&gt;
  
  
  For Windows Users:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Open &lt;strong&gt;Command Prompt&lt;/strong&gt; or &lt;strong&gt;PowerShell&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Paste the command, hit &lt;strong&gt;Enter&lt;/strong&gt;, and you’re done!&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  For macOS/Linux Users:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Open &lt;strong&gt;Terminal&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Paste and execute that command!&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🛡️ A Word of Caution: Protect Your PAT!
&lt;/h3&gt;

&lt;p&gt;Your &lt;strong&gt;PAT&lt;/strong&gt; is like your GitHub password 🔑. Keep it safe and &lt;strong&gt;never&lt;/strong&gt; share it publicly. If it gets leaked, revoke it through GitHub settings to keep your account secure.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fencycjuf082rep793p8k.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fencycjuf082rep793p8k.gif" alt="PAT Warning Gif" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🤔 Wrapping Up: Flaunt Your GitHub Membership!
&lt;/h3&gt;

&lt;p&gt;Making your GitHub membership public is super easy and a great way to build your personal brand 💼. It lets the world know you're part of the epic developer community. Plus, you can flex about being in orgs like &lt;strong&gt;Epic Games&lt;/strong&gt;! 🕹️&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Found this helpful?&lt;/strong&gt; 💬 Drop a comment, give it a thumbs up 👍, and share this post with your fellow developers! If you run into any issues, feel free to reach out—I’ve got your back 💪!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Flwbpi9qjhs2t6nqb52sq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Flwbpi9qjhs2t6nqb52sq.gif" alt="Success Gif" width="480" height="334"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>git</category>
      <category>epicgames</category>
      <category>github</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Getting Verified on GitHub! 🔐✨</title>
      <dc:creator>Baivab Sarkar</dc:creator>
      <pubDate>Sun, 15 Sep 2024 19:51:18 +0000</pubDate>
      <link>https://forem.com/thisisdeveloper/secure-your-github-commits-with-verification-3hja</link>
      <guid>https://forem.com/thisisdeveloper/secure-your-github-commits-with-verification-3hja</guid>
      <description>&lt;h3&gt;
  
  
  &lt;strong&gt;How to Set Up a GPG Key for Signed Git Commits: A Step-by-Step Guide&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Signing your commits with a GPG key is a great way to ensure authenticity and trust on GitHub. Let’s dive into the steps to generate and configure a GPG key for your Git commits! 🚀&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 1: Generate a GPG Key 🛠️&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Open Git Bash&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Launch Git Bash from your applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Generate a GPG Key&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Run the following command:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   gpg &lt;span class="nt"&gt;--full-generate-key&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Choose Key Type&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Opt for the default option: &lt;code&gt;(9) ECC (sign and encrypt) *default*&lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw6mmy46tts1zi1hypyy4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw6mmy46tts1zi1hypyy4.png" alt="Choose Key Type" width="565" height="281"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Select Elliptic Curve&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Stick with the default: &lt;code&gt;(1) Curve 25519 *default*&lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj2dx982jrppg7196295i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj2dx982jrppg7196295i.png" alt="Select Elliptic Curve" width="567" height="115"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Set Key Expiry Date&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Enter &lt;code&gt;0&lt;/code&gt; for no expiration.&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdiv7ueif0p748v806y2a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdiv7ueif0p748v806y2a.png" alt="Set Key Expiry Date" width="562" height="123"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Confirm Key Details&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Type &lt;code&gt;y&lt;/code&gt; and press &lt;em&gt;Enter&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Enter User Information&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Provide your name and email, then press &lt;em&gt;Enter&lt;/em&gt; after each.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   Real name: Your Name  
   Email address: example@gmail.com  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Final Confirmation&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Type &lt;code&gt;o&lt;/code&gt; to confirm.&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqjo3260jaxafc01nx379.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqjo3260jaxafc01nx379.png" alt="Final Confirmation" width="554" height="162"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Set Passphrase&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
When prompted, just click &lt;strong&gt;OK&lt;/strong&gt; without entering anything.&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy024orqi7bey9cvdv4o9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy024orqi7bey9cvdv4o9.png" alt="Set Passphrase" width="454" height="274"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Step 2: Locate Your GPG Key 🔍&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;List Secret Keys&lt;/strong&gt;
Run:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   gpg &lt;span class="nt"&gt;--list-secret-keys&lt;/span&gt; &lt;span class="nt"&gt;--keyid-format&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;long
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Identify Key ID&lt;/strong&gt;
Copy the key ID from the line starting with &lt;code&gt;sec&lt;/code&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   sec   4096R/12345678 2024-09-15 [expires: 2025-09-15]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F551eamtybmsb44s45fgy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F551eamtybmsb44s45fgy.png" alt="Identify Key ID" width="562" height="232"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Update Git Configuration&lt;/strong&gt;
Edit your &lt;code&gt;.gitconfig&lt;/code&gt; file and add:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ini"&gt;&lt;code&gt;   &lt;span class="nn"&gt;[user]&lt;/span&gt;
     &lt;span class="py"&gt;signingkey&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;12345678&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3nf5iqp4ipl8fy5gmlal.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3nf5iqp4ipl8fy5gmlal.png" alt="Update Git Configuration" width="371" height="173"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Step 3: Export Your Public Key 📤&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Export Public Key&lt;/strong&gt;
Run:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   gpg &lt;span class="nt"&gt;--armor&lt;/span&gt; &lt;span class="nt"&gt;--export&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Copy Public Key&lt;/strong&gt;
Copy everything between the lines:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   -----BEGIN PGP PUBLIC KEY BLOCK-----
   ...
   -----END PGP PUBLIC KEY BLOCK-----
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsijv0x0qnfzs2lruf9rt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsijv0x0qnfzs2lruf9rt.png" alt="Export Public Key" width="557" height="276"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Step 4: Add Your GPG Key to GitHub 🌐&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Log in to GitHub&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Go to your GitHub account.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Navigate to SSH and GPG Keys&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Click your profile picture &amp;gt; &lt;em&gt;Settings&lt;/em&gt; &amp;gt; &lt;em&gt;SSH and GPG keys&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Add New GPG Key&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Click &lt;em&gt;New GPG Key&lt;/em&gt; and paste the public key.&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmpf27ujsanip3q63m35g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmpf27ujsanip3q63m35g.png" alt="Add New GPG Key" width="586" height="453"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Authenticate&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Enter your GitHub password if prompted.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Step 5: Enable Commit Signing in Git ✅&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Configure Git&lt;/strong&gt;
Enable signing by running:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git config &lt;span class="nt"&gt;--global&lt;/span&gt; commit.gpgsign &lt;span class="nb"&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffepmbaip5k2rk4xf92uw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffepmbaip5k2rk4xf92uw.png" alt="Enable Commit Signing" width="606" height="141"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Verify Configuration&lt;/strong&gt;
Check that signing is enabled:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git config &lt;span class="nt"&gt;--global&lt;/span&gt; &lt;span class="nt"&gt;--get&lt;/span&gt; commit.gpgsign
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It should return &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Step 6: Test Signing Your Commits 📝&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create a Test Repository&lt;/strong&gt;
Run:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git init test-repo
   &lt;span class="nb"&gt;cd &lt;/span&gt;test-repo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Make a Test Commit&lt;/strong&gt;
Add a file and commit:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Test file"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; test.txt
   git add test.txt
   git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Test commit"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Verify Signed Commit&lt;/strong&gt;
Run:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git log &lt;span class="nt"&gt;--show-signature&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see a message confirming the good signature.&lt;br&gt;&lt;br&gt;
   &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvsvrlvnvrk6ovv24kvyl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvsvrlvnvrk6ovv24kvyl.png" alt="Verify Signed Commit" width="620" height="269"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Congratulations! 🎉&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;By following these steps, you can securely sign your Git commits, ensuring that your work is authenticated and trusted! If you have any questions or run into any issues, feel free to reach out. Happy coding! 💻✨&lt;/p&gt;

&lt;h2&gt;
  
  
  ❤️ Show Some Love!
&lt;/h2&gt;

&lt;p&gt;Found this helpful? 💬 Drop a comment, hit the like button, and share it with your friends! Let’s build cool stuff together! #ShareYourThoughts #EngageAndConnect&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9u55mxhl6k992lmnfte8.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9u55mxhl6k992lmnfte8.gif" alt="Image description" width="220" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>bash</category>
      <category>git</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>🚀 Building a Markdown Viewer Web App: A Fun &amp; Simple Guide</title>
      <dc:creator>Baivab Sarkar</dc:creator>
      <pubDate>Fri, 30 Aug 2024 13:01:55 +0000</pubDate>
      <link>https://forem.com/thisisdeveloper/building-a-markdown-viewer-web-application-a-comprehensive-guide-to-development-and-features-4gpf</link>
      <guid>https://forem.com/thisisdeveloper/building-a-markdown-viewer-web-application-a-comprehensive-guide-to-development-and-features-4gpf</guid>
      <description>&lt;p&gt;Markdown is everywhere these days—whether you're writing blogs, creating documentation, or even formatting your to-do list. It's lightweight, easy to read, and perfect for anyone who wants to format text without diving into complex markup languages. So, let's jump into how you can create your own &lt;strong&gt;Markdown Viewer&lt;/strong&gt; web app with some cool features that’ll make your app stand out!&lt;/p&gt;




&lt;h2&gt;
  
  
  🤔 What Exactly is Markdown?
&lt;/h2&gt;

&lt;p&gt;Markdown is like the &lt;strong&gt;secret sauce&lt;/strong&gt; of formatting. Invented by John Gruber in 2004, it's a super simple way to convert plain text into beautiful HTML (or other formats) without dealing with complicated tags like in HTML or LaTeX.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📝 &lt;strong&gt;Documentation&lt;/strong&gt;? ✔️&lt;/li&gt;
&lt;li&gt;🖊️ &lt;strong&gt;Blogging&lt;/strong&gt;? ✔️&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;To-do lists&lt;/strong&gt;? ✔️&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Basically, it's all about simplicity and flexibility!&lt;/p&gt;




&lt;h3&gt;
  
  
  🛠️ Markdown Essentials You Should Know:
&lt;/h3&gt;

&lt;p&gt;Markdown is easy to use once you know the basic elements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Headings&lt;/strong&gt;: &lt;code&gt;# Big Title&lt;/code&gt; (Use &lt;code&gt;#&lt;/code&gt; for levels of headings)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lists&lt;/strong&gt;: &lt;code&gt;* Bullet Points&lt;/code&gt; or &lt;code&gt;1. Numbered Lists&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Links&lt;/strong&gt;: &lt;code&gt;[Click Here](https://example.com)&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Images&lt;/strong&gt;: &lt;code&gt;![Alt text](https://image.url)&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Pro tip: Keep your Markdown clean and readable for the best results.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For more fun syntax tips: 👉 &lt;a href="https://markdownviewer.pages.dev/tips" rel="noopener noreferrer"&gt;Check this out!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9udwbfe2mx7ebz08okhy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9udwbfe2mx7ebz08okhy.jpg" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🔑 Key Features Every Markdown Viewer Should Have:
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. ⚡ Real-Time Preview
&lt;/h3&gt;

&lt;p&gt;Seeing your edits live as you write? Total game changer! With &lt;strong&gt;real-time preview&lt;/strong&gt;, users can instantly check how their Markdown will render. Make sure your app refreshes the view dynamically so that users don’t even have to blink. 💥&lt;/p&gt;

&lt;h3&gt;
  
  
  2. 📤 Export Options
&lt;/h3&gt;

&lt;p&gt;Users love flexibility. Offer multiple export options like &lt;strong&gt;HTML&lt;/strong&gt;, &lt;strong&gt;PDF&lt;/strong&gt;, and even &lt;strong&gt;DOCX&lt;/strong&gt;. This way, your Markdown viewer becomes a &lt;strong&gt;Swiss army knife&lt;/strong&gt; for writers and coders alike. 🖨️&lt;/p&gt;

&lt;h3&gt;
  
  
  3. ✏️ Enhanced Editing Tools
&lt;/h3&gt;

&lt;p&gt;Power up your viewer with &lt;strong&gt;syntax highlighting&lt;/strong&gt;, &lt;strong&gt;error checking&lt;/strong&gt;, and &lt;strong&gt;keyboard shortcuts&lt;/strong&gt; to keep the workflow smooth and fast. Speed + convenience = happy users!&lt;/p&gt;




&lt;h2&gt;
  
  
  🎨 Designing a Great User Interface (UI)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. 💡 Keep It Simple, Keep It Smart
&lt;/h3&gt;

&lt;p&gt;Design your UI with &lt;strong&gt;simplicity&lt;/strong&gt; in mind. A clean, user-centered design with intuitive navigation makes it easy for anyone to use. Don’t forget to make it &lt;strong&gt;responsive&lt;/strong&gt; so it works beautifully on all devices! 📱💻&lt;/p&gt;

&lt;h3&gt;
  
  
  2. 🎨 Add a Splash of Style
&lt;/h3&gt;

&lt;p&gt;Make your app visually appealing! Use a modern color scheme and typography to create a delightful experience. Don’t shy away from branding—make your app &lt;strong&gt;memorable&lt;/strong&gt;! &lt;/p&gt;

&lt;h3&gt;
  
  
  3. 🎉 Add Interactive Elements
&lt;/h3&gt;

&lt;p&gt;Tooltips, quick help menus, and even a &lt;strong&gt;dark mode&lt;/strong&gt; toggle can take your app from “meh” to “whoa!” Small, thoughtful additions like these make users want to stick around.&lt;/p&gt;




&lt;h2&gt;
  
  
  💻 Behind the Scenes: Technical Stuff
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. 🧰 Choose the Right Tech Stack
&lt;/h3&gt;

&lt;p&gt;Your stack matters! Popular frontend frameworks like &lt;strong&gt;React&lt;/strong&gt; or &lt;strong&gt;Vue.js&lt;/strong&gt; are excellent choices for building an interactive Markdown viewer. Pair this with a powerful backend for data storage, and you’re set.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. 🔍 Markdown Parsing
&lt;/h3&gt;

&lt;p&gt;Use existing Markdown parsing libraries like &lt;strong&gt;markdown-it&lt;/strong&gt; to handle all the heavy lifting. These will simplify converting user input into HTML, so you don’t have to reinvent the wheel.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. ✅ Testing
&lt;/h3&gt;

&lt;p&gt;Good apps are built on &lt;strong&gt;solid testing&lt;/strong&gt;. Make sure to test your app thoroughly for bugs and glitches before launching. User feedback is gold, so don’t hesitate to iterate based on what your users want.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 The Future of Markdown Viewers
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. 🤖 AI-Powered Markdown
&lt;/h3&gt;

&lt;p&gt;AI is here, and it's not just for chatbots. Imagine auto-suggesting content, grammar checks, and intelligent formatting options in your Markdown viewer. The future is bright!&lt;/p&gt;

&lt;h3&gt;
  
  
  2. 👥 Team Collaboration
&lt;/h3&gt;

&lt;p&gt;With remote work becoming the norm, real-time collaboration features—like &lt;strong&gt;shared editing&lt;/strong&gt; and &lt;strong&gt;version control&lt;/strong&gt;—are in demand. Markdown viewers are about to get even more collaborative! 🧑‍🤝‍🧑&lt;/p&gt;




&lt;h2&gt;
  
  
  🔍 Spotlight: My Markdown Viewer Project
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyar2c7i7v27f913p3lha.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyar2c7i7v27f913p3lha.jpg" alt="Image description" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let’s talk about my very own &lt;strong&gt;Markdown Viewer&lt;/strong&gt;. It’s packed with all the features we just discussed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Real-time preview&lt;/strong&gt; with sync scroll 🎯&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multiple export options&lt;/strong&gt; (HTML, PDF) 📤&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Responsive design&lt;/strong&gt; for all devices 📱💻&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Import and export Markdown/HTML&lt;/strong&gt; files seamlessly 🛠️&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Try it out live: &lt;a href="https://markdownviewer.pages.dev/" rel="noopener noreferrer"&gt;markdownviewer.pages.dev&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Code on GitHub: &lt;a href="https://github.com/ThisIs-Developer/Markdown-Viewer" rel="noopener noreferrer"&gt;Markdown-Viewer&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfa19jh8u3zh98x1eh6b.jpg" alt="Image description" width="800" height="405"&gt;
&lt;/h2&gt;
&lt;h2&gt;
  
  
  ⚡ Quick Setup Guide:
&lt;/h2&gt;

&lt;p&gt;Want to try it out yourself? Follow these steps to get started with my Markdown Viewer:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Clone the repo:&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/ThisIs-Developer/Markdown-Viewer.git
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Open &lt;code&gt;index.html&lt;/code&gt; in your browser and start exploring!&lt;/p&gt;&lt;/li&gt;

&lt;/ol&gt;




&lt;h2&gt;
  
  
  ❤️ Show Some Love!
&lt;/h2&gt;

&lt;p&gt;Found this helpful? 💬 Drop a comment, hit the like button, and share it with your friends! Let’s build cool stuff together! #ShareYourThoughts #EngageAndConnect&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi8b8wt2junnj7790zule.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi8b8wt2junnj7790zule.gif" alt="Image description" width="220" height="239"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>markdown</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Do you Know! Llama ?</title>
      <dc:creator>Baivab Sarkar</dc:creator>
      <pubDate>Thu, 11 Apr 2024 19:03:06 +0000</pubDate>
      <link>https://forem.com/thisisdeveloper/do-you-know-llama--3c2d</link>
      <guid>https://forem.com/thisisdeveloper/do-you-know-llama--3c2d</guid>
      <description>&lt;h1&gt;
  
  
  Llama2 CSV ChatBot
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;It's a conversational tool powered by a fine-tuned large language model (LLM) known as &lt;em&gt;Llama-2 7B&lt;/em&gt;. This chatbot utilizes CSV retrieval capabilities, enabling users to engage in multi-turn interactions based on uploaded CSV data.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ppzywy5tqfubjw8coqj.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ppzywy5tqfubjw8coqj.gif" alt="Image description" width="320" height="256"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Suuuuuuu Want to try: 👇👇👇
&lt;/h1&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://huggingface.co/spaces/ThisIs-Developer/Llama-2-GGML-CSV-Chatbot" rel="noopener noreferrer"&gt;huggingface.co/Llama-2-GGML-CSV-Chatbot&lt;/a&gt;
&lt;/h3&gt;

&lt;h2&gt;
  
  
  📖 ChatBot Conversession
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9t20r8sxqd0bwx6knq41.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9t20r8sxqd0bwx6knq41.gif" alt="Image description" width="200" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚡Streamlit ver. on &lt;a href="https://github.com/ThisIs-Developer/Llama-2-GGML-CSV-Chatbot/releases/tag/v2.0.2.dev20240102" rel="noopener noreferrer"&gt;#v2.0.2.dev20240102&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyrlerose1zv4ua5bjpp2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyrlerose1zv4ua5bjpp2.png" alt="ChatBot Conversession img-1 png" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Development Specs
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Utilizes &lt;a href="https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGML/tree/main" rel="noopener noreferrer"&gt;Llama-2 7B&lt;/a&gt; and &lt;a href="https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2" rel="noopener noreferrer"&gt;Sentence Transformers&lt;/a&gt; for robust functionality.&lt;/li&gt;
&lt;li&gt;Developed using &lt;a href="https://github.com/langchain-ai/langchain" rel="noopener noreferrer"&gt;Langchain&lt;/a&gt; and &lt;a href="https://github.com/streamlit/streamlit" rel="noopener noreferrer"&gt;Streamlit&lt;/a&gt; technologies for enhanced performance.&lt;/li&gt;
&lt;li&gt;Cross-platform compatibility with Linux, macOS, or Windows OS.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🛠️ Try it on your 💻
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Clone the Repository:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/ThisIs-Developer/Llama-2-GGML-CSV-Chatbot.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install Dependencies:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install -r requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Download the Llama 2 Model:
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Download the Llama 2 model file named &lt;code&gt;llama-2-7b-chat.ggmlv3.q4_0.bin&lt;/code&gt; from the following link:&lt;br&gt;
&lt;a href="https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGML/tree/main" rel="noopener noreferrer"&gt;🔗Download Llama 2 Model&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feupx6i9zaqhxwrej134l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feupx6i9zaqhxwrej134l.png" alt="Image description" width="238" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Llama 2 Model Information
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Quant method&lt;/th&gt;
&lt;th&gt;Bits&lt;/th&gt;
&lt;th&gt;Size&lt;/th&gt;
&lt;th&gt;Max RAM required&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;llama-2-7b-chat.ggmlv3.q4_0.bin&lt;/td&gt;
&lt;td&gt;q4_0&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;3.79 GB&lt;/td&gt;
&lt;td&gt;6.29 GB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; After downloading the model, add the model file to the &lt;code&gt;models&lt;/code&gt; directory. The file should be located at &lt;code&gt;models\llama-2-7b-chat.ggmlv3.q4_0.bin&lt;/code&gt;, in order to run the code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  📝 Usage
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Run the Application:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;streamlit run app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Access the Application:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Once the application is running, access it through the provided URL.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F82ch9xxdd9l0ewjv2pn8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F82ch9xxdd9l0ewjv2pn8.jpg" alt="Image description" width="630" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  System Requirements
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CPU:&lt;/strong&gt; Intel® Core™ i5 or equivalent.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RAM:&lt;/strong&gt; 8 GB.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Disk Space:&lt;/strong&gt; 7 GB.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hardware:&lt;/strong&gt; Operates on CPU; no GPU required.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh4exsdxvymcbo4m9hfnz.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh4exsdxvymcbo4m9hfnz.gif" alt="Image description" width="640" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  📌 Important Notes
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;While robust, this chatbot is not a substitute for professional advice.&lt;/li&gt;
&lt;li&gt;Ensure the CSV file adheres to the expected format for optimal performance.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>python</category>
      <category>chatgpt</category>
    </item>
    <item>
      <title>Llama2 Chatbot esay-to-build ? 🦙😱</title>
      <dc:creator>Baivab Sarkar</dc:creator>
      <pubDate>Wed, 10 Apr 2024 14:32:30 +0000</pubDate>
      <link>https://forem.com/thisisdeveloper/llama-2-ggml-medical-chatbot-5043</link>
      <guid>https://forem.com/thisisdeveloper/llama-2-ggml-medical-chatbot-5043</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;It's a repository for a medical chatbot that uses the &lt;em&gt;Llama-2-7B-Chat-GGML&lt;/em&gt; model and the pdf &lt;em&gt;The Gale Encyclopedia of Medicine&lt;/em&gt;. The chatbot is still under development, but it has the potential to be a valuable tool for patients, healthcare professionals, and researchers. The chatbot can be used to answer questions about medical topics, provide summaries of medical articles, and generate medical text. However, it is important to note that the chatbot is not a substitute for medical advice from a qualified healthcare professional.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.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%2F6bnsp26ybt6y68570sv5.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F6bnsp26ybt6y68570sv5.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Try it for FREE👉👉👉: &lt;a href="https://huggingface.co/spaces/ThisIs-Developer/Llama-2-GGML-Medical-Chatbot" rel="noopener noreferrer"&gt;huggingface.co/Llama-2-GGML-Medical-Chatbot&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fws7py7bz0kkph1csoppe.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fws7py7bz0kkph1csoppe.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;
  
  
  📚 Here are some of the features of the Llama-2-7B-Chat-GGML-Medical-Chatbot:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It uses the &lt;em&gt;Llama-2-7B-Chat-GGML&lt;/em&gt; model, which is a &lt;strong&gt;large language model (LLM)&lt;/strong&gt; that has been fine-tuned.

&lt;ul&gt;
&lt;li&gt;Name - &lt;strong&gt;llama-2-7b-chat.ggmlv3.q2_K.bin&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Quant method - q2_K&lt;/li&gt;
&lt;li&gt;Bits - 2&lt;/li&gt;
&lt;li&gt;Size - &lt;strong&gt;2.87 GB&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Max RAM required - 5.37 GB&lt;/li&gt;
&lt;li&gt;Use case - New k-quant method. Uses GGML_TYPE_Q4_K for the attention.vw and feed_forward.w2 tensors, GGML_TYPE_Q2_K for the other tensors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model:&lt;/strong&gt; Know more about model &lt;strong&gt;&lt;a href="https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGML" rel="noopener noreferrer"&gt;Llama-2-7B-Chat-GGML&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;It is trained on the pdf &lt;strong&gt;&lt;a href="https://github.com/ThisIs-Developer/Llama-2-GGML-Medical-Chatbot/blob/main/data/71763-gale-encyclopedia-of-medicine.-vol.-1.-2nd-ed.pdf" rel="noopener noreferrer"&gt;The Gale Encyclopedia of Medicine, Volume 1, 2nd Edition, 637-page PDF&lt;/a&gt;&lt;/strong&gt;, which is a comprehensive medical reference that provides information on a wide range of medical topics. This means that the chatbot is able to answer questions about a variety of medical topics.&lt;/li&gt;

&lt;li&gt;This is a sophisticated medical chatbot, developed using Llama-2 7B and Sentence Transformers. Powered by &lt;strong&gt;&lt;a href="https://python.langchain.com/docs/get_started/introduction" rel="noopener noreferrer"&gt;Langchain&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a href="https://docs.chainlit.io/overview" rel="noopener noreferrer"&gt;Chainlit&lt;/a&gt;&lt;/strong&gt;, This bot operates on a powerful CPU computer that boasts a minimum of

&lt;ul&gt;
&lt;li&gt;Operating system: Linux, macOS, or Windows&lt;/li&gt;
&lt;li&gt;CPU: Intel® Core™ i3&lt;/li&gt;
&lt;li&gt;RAM: &lt;strong&gt;8 GB&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Disk space: 7 GB&lt;/li&gt;
&lt;li&gt;GPU: None &lt;strong&gt;(CPU only)&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;It is still under development, but it has the potential to be a valuable tool for patients, healthcare professionals, and researchers.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fpflbqrv6klj4ppvxl9sb.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fpflbqrv6klj4ppvxl9sb.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Quickstart
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open Git Bash.&lt;/li&gt;
&lt;li&gt;Change the current working directory to the location where you want the cloned directory.&lt;/li&gt;
&lt;li&gt;Type &lt;code&gt;git clone&lt;/code&gt;, and then paste the URL you copied earlier.
```
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;git clone &lt;a href="https://github.com/ThisIs-Developer/Llama-2-GGML-Medical-Chatbot.git" rel="noopener noreferrer"&gt;https://github.com/ThisIs-Developer/Llama-2-GGML-Medical-Chatbot.git&lt;/a&gt;&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Press Enter to create your local clone.
4. Install the pip packages in requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;pip install -r requirements.txt&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;5. Now run it!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;chainlit run model.py -w&lt;/p&gt;



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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5ff39l5g3if62ftm0lr9.jpeg)
## 📖 ChatBot Conversession
### ⛓️Chainlit ver. on [#v1.0.1.dev20230913](https://github.com/ThisIs-Developer/Llama-2-GGML-Medical-Chatbot/releases/tag/v1.0.1.dev20230913)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rlafb9c4mxegzahjrbxg.png)

### ⚡Streamlit ver. on [#v2.0.1.dev20231230](https://github.com/ThisIs-Developer/Llama-2-GGML-Medical-Chatbot/releases/tag/v2.0.1.dev20231230)
![ChatBot Conversession img-4](https://github.com/ThisIs-Developer/Llama-2-GGML-Medical-Chatbot/assets/109382325/583002bd-22a7-4ff0-8982-6067c1bcaade)

### Video of Conversation
https://github.com/ThisIs-Developer/Llama-2-GGML-Medical-Chatbot/assets/109382325/6756fb69-40c0-4d49-b392-aa6906dca786

### Long Chats
![ChatBot Conversession img-2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7vidnv2djynyvkzxhmkh.png)

![ChatBot Conversession img-3](https://github.com/ThisIs-Developer/Llama-2-GGML-Medical-Chatbot/assets/109382325/d10d949f-37e5-4ec4-868d-2e62d8ad69dc)

### PDF 
https://github.com/ThisIs-Developer/Llama-2-GGML-Medical-Chatbot/blob/main/conversession%20e.g/ChatBot%20Conversession%20img-3.pdf


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g0fttj6hsaebhvht0h61.gif)
## 📌 Important Notes

- While powerful, this chatbot isn't a substitute for professional medical advice.


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

&lt;/div&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>python</category>
      <category>opensource</category>
    </item>
    <item>
      <title>📸OpenCV🔮the Enchanted Palette 🎨✨Part: 2</title>
      <dc:creator>Baivab Sarkar</dc:creator>
      <pubDate>Sun, 06 Aug 2023 08:12:25 +0000</pubDate>
      <link>https://forem.com/thisisdeveloper/opencvthe-enchanted-palette-part-2-424k</link>
      <guid>https://forem.com/thisisdeveloper/opencvthe-enchanted-palette-part-2-424k</guid>
      <description>&lt;p&gt;🔍📸 Embark on a Visual Journey: Explore the &lt;strong&gt;OpenCV&lt;/strong&gt; Chronicles in my &lt;strong&gt;GitHub Repository&lt;/strong&gt;! 🚀🌄 #OpenCVMagic #ImageAlchemy #CodeCanvas 🎨✨&lt;br&gt;
Source GitHub: &lt;a href="https://github.com/ThisIs-Developer/AI-Development/tree/main/OpenCV" rel="noopener noreferrer"&gt;ThisIs-Developer/Python/OpenCV/Image Processing&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4mfpfn81lphamyxidqu1.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4mfpfn81lphamyxidqu1.gif" alt="Image description" width="498" height="280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Ready, Set, Let's Do It! 💪
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;!pip install opencv-python
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Image Resizing
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Source Code: &lt;a href="https://github.com/ThisIs-Developer/AI-Development/blob/main/OpenCV/Image%20Processing/OpenCV.ipynb" rel="noopener noreferrer"&gt;OpenCV/OpenCV.ipynb&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnkuuvwkbvcktu5pytvw0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnkuuvwkbvcktu5pytvw0.png" alt="Image Resizing" width="640" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Morphological Image Processing
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Source Code: &lt;a href="https://github.com/ThisIs-Developer/AI-Development/blob/main/OpenCV/Image%20Processing/OpenCV.ipynb" rel="noopener noreferrer"&gt;OpenCV/OpenCV.ipynb&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F581ootsuq5b9ku47vdfz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F581ootsuq5b9ku47vdfz.png" alt="Image description" width="700" height="700"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Find Co-ordinates of Contours
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Source Code: &lt;a href="https://github.com/ThisIs-Developer/AI-Development/blob/main/OpenCV/Image%20Processing/OpenCV.ipynb" rel="noopener noreferrer"&gt;OpenCV/OpenCV.ipynb&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6p3p4jc98g8hgvkfo96q.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6p3p4jc98g8hgvkfo96q.jpg" alt="Image description" width="613" height="510"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjfoje7yt0pglkkt2dij5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjfoje7yt0pglkkt2dij5.png" alt="Image description" width="660" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Bilateral Filtering
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Source Code: &lt;a href="https://github.com/ThisIs-Developer/AI-Development/blob/main/OpenCV/Image%20Processing/OpenCV.ipynb" rel="noopener noreferrer"&gt;OpenCV/OpenCV.ipynb&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjej4cc26719ug7jdc864.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjej4cc26719ug7jdc864.png" alt="Image description" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Grayscaling of Images
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Source Code: &lt;a href="https://github.com/ThisIs-Developer/AI-Development/blob/main/OpenCV/Image%20Processing/OpenCV.ipynb" rel="noopener noreferrer"&gt;OpenCV/OpenCV.ipynb&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmsw5848699gqqdbyalu4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmsw5848699gqqdbyalu4.png" alt="Image description" width="626" height="626"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Visualizing image in different color spaces
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Source Code: &lt;a href="https://github.com/ThisIs-Developer/AI-Development/blob/main/OpenCV/Image%20Processing/OpenCV.ipynb" rel="noopener noreferrer"&gt;OpenCV/OpenCV.ipynb&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmqn0w2gyuiiv4kl73eum.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmqn0w2gyuiiv4kl73eum.png" alt="Image description" width="626" height="626"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ful8r9zam145bjbpn92zf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ful8r9zam145bjbpn92zf.png" alt="Image description" width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Simple, Adaptive, Otsu, Segmentation using Thresholding
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Source Code: &lt;a href="https://github.com/ThisIs-Developer/AI-Development/blob/main/OpenCV/Image%20Processing/OpenCV.ipynb" rel="noopener noreferrer"&gt;OpenCV/OpenCV.ipynb&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpi67ftynqokgvrlxlskd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpi67ftynqokgvrlxlskd.png" alt="Image description" width="800" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Analyze an image using Histogram
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Source Code: &lt;a href="https://github.com/ThisIs-Developer/AI-Development/blob/main/OpenCV/Image%20Processing/OpenCV.ipynb" rel="noopener noreferrer"&gt;OpenCV/OpenCV.ipynb&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fagxvyh68tlddz4uhf45d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fagxvyh68tlddz4uhf45d.png" alt="Image description" width="640" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftmgju8j0ejuda0l7c4ba.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftmgju8j0ejuda0l7c4ba.gif" alt="Image description" width="498" height="445"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;📸✨ Unlock the World of &lt;strong&gt;Image Processing with OpenCV!&lt;/strong&gt; 🚀 Explore Countless Possibilities in *&lt;em&gt;My Repository GitHub: *&lt;/em&gt;&lt;a href="https://github.com/ThisIs-Developer/AI-Development/blob/main/OpenCV/Image%20Processing" rel="noopener noreferrer"&gt;ThisIs-Developer/Python/OpenCV/Image Processing&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  If You Love It, &lt;strong&gt;Show Some ❤️!&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Feel Free to &lt;strong&gt;Comment&lt;/strong&gt; Your &lt;strong&gt;Thoughts or Ask Questions&lt;/strong&gt;.&lt;br&gt;
Let's Dive In Together! 💬🔍 #OpenCVAdventures #RepoExploration&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ldncx3r1jx1e91bnw55.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ldncx3r1jx1e91bnw55.gif" alt="Image description" width="480" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>github</category>
      <category>opensource</category>
      <category>opencv</category>
    </item>
    <item>
      <title>🌟OpenCV🎨the Magic of Images✨Part: 1</title>
      <dc:creator>Baivab Sarkar</dc:creator>
      <pubDate>Tue, 01 Aug 2023 19:57:30 +0000</pubDate>
      <link>https://forem.com/thisisdeveloper/opencvunleashing-the-magic-of-images-1kdb</link>
      <guid>https://forem.com/thisisdeveloper/opencvunleashing-the-magic-of-images-1kdb</guid>
      <description>&lt;p&gt;🎨✨ Dive into my &lt;strong&gt;OpenCV GitHub repo&lt;/strong&gt; and witness the captivating world of Working with Images!#OpenCV #ImageProcessing #GitHubRepository🚀🌌&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;!pip install opencv-python
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Source GitHub:&lt;/strong&gt; &lt;a href="https://github.com/ThisIs-Developer/AI-Development/blob/main/OpenCV/Working%20with%20Images" rel="noopener noreferrer"&gt;ThisIs-Developer/Python/OpenCV/Working with Images&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fplv7sfwbvj4pyk68v290.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fplv7sfwbvj4pyk68v290.png" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fth6tqkcuf6teqphxgtbf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fth6tqkcuf6teqphxgtbf.png" alt="Image description" width="640" height="480"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg5e1esylcmkydpwxphgq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg5e1esylcmkydpwxphgq.png" alt="Image description" width="640" height="480"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjicxjg5gc9fxu7m4meva.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjicxjg5gc9fxu7m4meva.png" alt="Image description" width="640" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>github</category>
      <category>opensource</category>
      <category>opencv</category>
    </item>
    <item>
      <title>🎤🎶 Elevate Your Sound Game: Recording and Processing Audio with Python! 🎧🔊</title>
      <dc:creator>Baivab Sarkar</dc:creator>
      <pubDate>Mon, 31 Jul 2023 03:12:42 +0000</pubDate>
      <link>https://forem.com/thisisdeveloper/record-and-process-audio-with-python-2a3b</link>
      <guid>https://forem.com/thisisdeveloper/record-and-process-audio-with-python-2a3b</guid>
      <description>&lt;p&gt;🎵Explore functionalities like &lt;strong&gt;recording voice, applying filters, visualizing waveforms, and more&lt;/strong&gt;!&lt;br&gt;
Check out my GitHub repo for a collection of &lt;strong&gt;Python scripts&lt;/strong&gt; for &lt;strong&gt;audio recording, playback, and processing&lt;/strong&gt;. 🚀 #Python #AudioProcessing &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/ThisIs-Developer/Python/tree/main/Audio%20Recorder" rel="noopener noreferrer"&gt;Python/Audio Recorder&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3dsemu5elpa0fgwv15ou.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3dsemu5elpa0fgwv15ou.png" alt="Image description" width="800" height="320"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Source Code:&lt;/strong&gt; &lt;a href="https://github.com/ThisIs-Developer/Python/blob/main/Audio%20Recorder/record%20audio.ipynb" rel="noopener noreferrer"&gt;Python/Audio Recorder/record audio.ipynb&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import os
import librosa
import librosa.display
import matplotlib.pyplot as plt
import warnings
import numpy as np
warnings.filterwarnings("ignore", category=RuntimeWarning)

def load_audio(file_path, duration=None, offset=0):
    audio_data, sample_rate = librosa.load(file_path, duration=duration, offset=offset)
    return audio_data, sample_rate

def plot_waveform(audio_data, sample_rate, output_path):
    plt.figure(figsize=(10, 4))
    librosa.display.waveshow(audio_data, sr=sample_rate)
    plt.title("Waveform")
    plt.xlabel("Time (seconds)")
    plt.ylabel("Amplitude")
    plt.savefig(os.path.join(output_path, "waveform.png"))
    plt.show()
    plt.close()

def plot_spectrogram(audio_data, sample_rate, output_path):
    plt.figure(figsize=(10, 4))
    spectrogram = librosa.feature.melspectrogram(y=audio_data, sr=sample_rate)
    librosa.display.specshow(librosa.power_to_db(spectrogram, ref=np.max), y_axis='mel', x_axis='time')
    plt.colorbar(format='%+2.0f dB')
    plt.title("Spectrogram")
    plt.savefig(os.path.join(output_path, "spectrogram.png"))
    plt.show()
    plt.close()

if __name__ == "__main__":
    input_file = "recorded_voice_sounddevice.wav"
    output_path = "."  # You can change this to the desired output directory

    audio_data, sample_rate = load_audio(input_file)

    # Print some information about the audio file
    print(f"Audio data shape: {audio_data.shape}")
    print(f"Sample rate: {sample_rate} Hz")

    # Plot the audio waveform and spectrogram
    plot_waveform(audio_data, sample_rate, output_path)
    plot_spectrogram(audio_data, sample_rate, output_path)

    print("Plots saved as 'waveform.png' and 'spectrogram.png' in the current directory.")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>python</category>
      <category>opensource</category>
      <category>audioprocessing</category>
      <category>github</category>
    </item>
    <item>
      <title>📂Portfolio using JavaScript (ES6) Magic✨ | Google Apps Script Sorcery🚀</title>
      <dc:creator>Baivab Sarkar</dc:creator>
      <pubDate>Tue, 25 Jul 2023 07:57:54 +0000</pubDate>
      <link>https://forem.com/thisisdeveloper/portfolio-thisis-developer-56bf</link>
      <guid>https://forem.com/thisisdeveloper/portfolio-thisis-developer-56bf</guid>
      <description>&lt;h3&gt;
  
  
  Website is &lt;strong&gt;Live:&lt;/strong&gt; &lt;a href="https://baivabsarkar-old.vercel.app/" rel="noopener noreferrer"&gt;baivabsarkar-old.vercel.app&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;🚀 Explore the &lt;strong&gt;Simplicity of HTML, CSS, and a Touch of JS&lt;/strong&gt; in Building Your Unique Showcase. Let's Elevate Your &lt;strong&gt;Portfolio Game&lt;/strong&gt; Together! 💼❤️ #InteractiveLearning #CodeYourDreams #ShareTheLove 💬👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjhj9b6jaqh0rduc2dea2.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjhj9b6jaqh0rduc2dea2.gif" alt="Image description" width="220" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Source Code&lt;/em&gt; &lt;strong&gt;GithHub:&lt;/strong&gt;&lt;a href="https://github.com/iam-baivab/Portfolio-old" rel="noopener noreferrer"&gt;ThisIs-Developer/Portfolio-old&lt;/a&gt;
&lt;/h3&gt;

&lt;h2&gt;
  
  
  Key Feature
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Submit a Form to Google Sheets&lt;/strong&gt;
&lt;strong&gt;This Portfolio Contact form can stores the submitted form data in Google Sheets using plain 'ol JavaScript (ES6), &lt;a href="https://www.google.com/script/start/" rel="noopener noreferrer"&gt;Google Apps Script&lt;/a&gt;.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Discover the Process: Learn from &lt;a href="https://github.com/jamiewilson" rel="noopener noreferrer"&gt;@jamiewilson&lt;/a&gt; &lt;a href="https://github.com/jamiewilson/form-to-google-sheets/tree/master" rel="noopener noreferrer"&gt;Form-to-Google-Sheets Repository&lt;/a&gt; 📝🔗 #OpenSource"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Layout of Contact form:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz5s3dii6yanjk6b83csx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz5s3dii6yanjk6b83csx.png" alt="Image description" width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SCRIPT in the HTML file:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script&amp;gt;
        const scriptURL = 'https://script.google.com/macros/s/AKfycbzwGkCv4dbdFpYjSYbThchpqYSgudoYmK_KtdmS6RkK-vyFqgPCKwxicx0xdmTErDjM/exec'
        const form = document.forms['submit-to-google-sheet']
        const msg = document.getElementById("msg")
        const waitMsg = document.getElementById("wait-msg")
        form.addEventListener('submit', e =&amp;gt; {
            e.preventDefault();
            waitMsg.innerHTML = "Please wait...";
            fetch(scriptURL, { method: 'POST', body: new FormData(form) })
                .then(response =&amp;gt; {
                    waitMsg.innerHTML = "";
                    msg.innerHTML = "Message sent successfully";
                    setTimeout(function () {
                        msg.innerHTML = "";
                    }, 5000);
                    form.reset();
                })
                .catch(error =&amp;gt; {
                    waitMsg.innerHTML = "";
                    console.error('Error!', error.message);
                });
        });
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  After clicking the "Submit" buttom.
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Please wait..."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fovwwxlkcmowzvc79x0wp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fovwwxlkcmowzvc79x0wp.png" alt="Image description" width="760" height="527"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  After sending Message.
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Message sent successfully"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flxy0c0ti95zfq7hezv4u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flxy0c0ti95zfq7hezv4u.png" alt="Image description" width="800" height="498"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  If You Love It, Show Some ❤️!
&lt;/h1&gt;

&lt;p&gt;Drop a &lt;strong&gt;Comment&lt;/strong&gt; to Show &lt;em&gt;Your Support and Connect.&lt;/em&gt; Let's Make Learning and Creating Together! 💬❤️ #ShareYourThoughts #EngageAndConnect&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faoo89p2qrigo90d86wub.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faoo89p2qrigo90d86wub.gif" alt="Image description" width="500" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>portfolio</category>
      <category>website</category>
      <category>javascript</category>
      <category>googleappsscript</category>
    </item>
  </channel>
</rss>
