<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: pranay rauthu</title>
    <description>The latest articles on DEV Community by pranay rauthu (@pranay_rauthu).</description>
    <link>https://dev.to/pranay_rauthu</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%2F57310%2Fdfcc1bdf-2780-48c3-ac9e-9427f1349cf5.jpg</url>
      <title>DEV Community: pranay rauthu</title>
      <link>https://dev.to/pranay_rauthu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pranay_rauthu"/>
    <language>en</language>
    <item>
      <title>We added functionality to store git diffs and preview them!!!</title>
      <dc:creator>pranay rauthu</dc:creator>
      <pubDate>Fri, 22 May 2026 19:58:13 +0000</pubDate>
      <link>https://dev.to/pranay_rauthu/we-added-functionality-to-store-git-diffs-and-preview-them-e0p</link>
      <guid>https://dev.to/pranay_rauthu/we-added-functionality-to-store-git-diffs-and-preview-them-e0p</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/pranay_rauthu/devpen-the-ai-powered-note-taking-app-for-developers-2jb9" class="crayons-story__hidden-navigation-link"&gt;✦ DevPen: The AI-Powered Note-Taking App for Developers 🚀&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/pranay_rauthu" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F57310%2Fdfcc1bdf-2780-48c3-ac9e-9427f1349cf5.jpg" alt="pranay_rauthu profile" class="crayons-avatar__image" width="800" height="1067"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/pranay_rauthu" class="crayons-story__secondary fw-medium m:hidden"&gt;
              pranay rauthu
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                pranay rauthu
                
              
              &lt;div id="story-author-preview-content-3685147" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/pranay_rauthu" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F57310%2Fdfcc1bdf-2780-48c3-ac9e-9427f1349cf5.jpg" class="crayons-avatar__image" alt="" width="800" height="1067"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;pranay rauthu&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/pranay_rauthu/devpen-the-ai-powered-note-taking-app-for-developers-2jb9" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 16&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/pranay_rauthu/devpen-the-ai-powered-note-taking-app-for-developers-2jb9" id="article-link-3685147"&gt;
          ✦ DevPen: The AI-Powered Note-Taking App for Developers 🚀
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/react"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;react&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/opensource"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;opensource&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/pranay_rauthu/devpen-the-ai-powered-note-taking-app-for-developers-2jb9" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt; reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/pranay_rauthu/devpen-the-ai-powered-note-taking-app-for-developers-2jb9#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>ai</category>
      <category>git</category>
      <category>productivity</category>
      <category>showdev</category>
    </item>
    <item>
      <title>✦ DevPen: The AI-Powered Note-Taking App for Developers 🚀</title>
      <dc:creator>pranay rauthu</dc:creator>
      <pubDate>Sat, 16 May 2026 20:46:37 +0000</pubDate>
      <link>https://dev.to/pranay_rauthu/devpen-the-ai-powered-note-taking-app-for-developers-2jb9</link>
      <guid>https://dev.to/pranay_rauthu/devpen-the-ai-powered-note-taking-app-for-developers-2jb9</guid>
      <description>&lt;p&gt;If you’re a developer, your notes are probably a mess of snippets, architectural diagrams, and quick thoughts scattered across different apps. I built &lt;strong&gt;DevPen&lt;/strong&gt; to solve this—a note-taking application designed specifically for the developer workflow.&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;Try it live at: &lt;a href="https://www.devpen.in/" rel="noopener noreferrer"&gt;devpen.in&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this post, I’ll walk through the key features that make DevPen more than just another text editor.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. The Dual-Editor Experience: Markdown + Monaco 💻
&lt;/h2&gt;

&lt;p&gt;Why choose between the speed of Markdown and the power of a real code editor? DevPen gives you both:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Markdown Mode:&lt;/strong&gt; Powered by Lexical, it’s perfect for fast, structured writing.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Rich Text / Code Mode:&lt;/strong&gt; Powered by the Monaco Editor (the same engine behind VS Code). You get proper syntax highlighting and that familiar feel while drafting technical docs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can switch between them seamlessly, and the app preserves your formatting and metadata.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Your AI Sidekick ✨
&lt;/h2&gt;

&lt;p&gt;Taking notes is only half the battle; finding and using them is the other half. DevPen includes an AI Sidekick (powered by OpenAI) that lives in your sidebar to help you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Summarize:&lt;/strong&gt; Turn long brain-dumps into actionable bullet points.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Explain Commands:&lt;/strong&gt; Stuck on a complex regex or shell script? Ask the AI to break it down.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Refine Tone:&lt;/strong&gt; Polish your rough notes into professional updates or documentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Visualizing Logic with Mermaid.js 📊
&lt;/h2&gt;

&lt;p&gt;Sometimes text isn't enough. DevPen supports &lt;strong&gt;Mermaid diagrams&lt;/strong&gt; out of the box. You can write your flowcharts or sequence diagrams in text and have them rendered instantly. It’s perfect for mapping out system architectures or logic flows without leaving your notes.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Developer-First Tech Stack 🛠️
&lt;/h2&gt;

&lt;p&gt;Under the hood, DevPen is built with modern, scalable technologies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Frontend:&lt;/strong&gt; React 19, Tailwind CSS, Shadcn UI, and Jotai for state management.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Backend:&lt;/strong&gt; Node.js / TypeScript running on AWS Lambda.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Storage:&lt;/strong&gt; A smart hybrid approach using DynamoDB for metadata and S3 for note content (ensuring you can save even the largest technical docs without hitches).&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Authentication:&lt;/strong&gt; Secure access via Google Sign-in and OTP validation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. Cloud Sync &amp;amp; Responsive Design ☁️
&lt;/h2&gt;

&lt;p&gt;Inspiration strikes everywhere. DevPen is fully responsive, looking great on both desktop and mobile. All your notes are auto-synced to the cloud, so your thoughts are always where you are.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What do you think?&lt;/strong&gt; &lt;br&gt;
I built this to solve my own pain points, but I'd love to hear your feedback. What features do &lt;em&gt;you&lt;/em&gt; consider absolute must-haves in a developer note-taking app? Let me know in the comments below! 👇&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>react</category>
      <category>opensource</category>
    </item>
    <item>
      <title>boom - command line http tool</title>
      <dc:creator>pranay rauthu</dc:creator>
      <pubDate>Sun, 09 Feb 2020 17:21:43 +0000</pubDate>
      <link>https://dev.to/pranay_rauthu/boom-command-line-http-tool-epj</link>
      <guid>https://dev.to/pranay_rauthu/boom-command-line-http-tool-epj</guid>
      <description>&lt;p&gt;I have published my first npm package. 💃💃💃&lt;/p&gt;

&lt;p&gt;boom is a cli tool built for working with collection of http requests.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/pranayrauthu"&gt;
        pranayrauthu
      &lt;/a&gt; / &lt;a href="https://github.com/pranayrauthu/boom"&gt;
        boom
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      command line http client
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
boom&lt;/h1&gt;
&lt;p&gt;boom is a command line http tool.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://nodei.co/npm/@prauthu/boom/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/eb9e1ff64a28ee62cc96517d89f7dcf8d2d71ab52d6b7304f0635484625cf3d8/68747470733a2f2f6e6f6465692e636f2f6e706d2f40707261757468752f626f6f6d2e706e67" alt="NPM"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
installation&lt;/h2&gt;
&lt;p&gt;boom can be installed globally by&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;npm i @prauthu/boom -g
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;
usage&lt;/h2&gt;
&lt;p&gt;create a file with name &lt;code&gt;file.http&lt;/code&gt; with following content&lt;/p&gt;
&lt;div class="highlight highlight-source-httpspec js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-k"&gt;GET&lt;/span&gt; https://jsonplaceholder.typicode.com/posts/&lt;span class="pl-c1"&gt;1&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&lt;code&gt;boom x file.http&lt;/code&gt; will execute the request in file.http&lt;/p&gt;
&lt;p&gt;&lt;code&gt;boom c file.http&lt;/code&gt; will convert the request in file.http to curl command.&lt;/p&gt;
&lt;h3&gt;
usage with environments&lt;/h3&gt;
&lt;p&gt;create a file with name &lt;code&gt;.boom.json&lt;/code&gt; with environments in following format.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
    "activeEnvironment": "default",
    "enviroments": {
        "default": {
            "host": "https://jsonplaceholder.typicode.com"
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and &lt;code&gt;file.http&lt;/code&gt; with following content&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;GET {{host}}/posts/1
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/pranayrauthu/boom"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


</description>
      <category>productivity</category>
      <category>http</category>
    </item>
    <item>
      <title>Sudoku puzzle with react hooks</title>
      <dc:creator>pranay rauthu</dc:creator>
      <pubDate>Sun, 04 Aug 2019 06:52:55 +0000</pubDate>
      <link>https://dev.to/pranay_rauthu/sudoku-puzzle-with-react-hooks-1122</link>
      <guid>https://dev.to/pranay_rauthu/sudoku-puzzle-with-react-hooks-1122</guid>
      <description>&lt;p&gt;I just got my hands react hooks by creating a sudoku puzzle.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/pranayrauthu"&gt;
        pranayrauthu
      &lt;/a&gt; / &lt;a href="https://github.com/pranayrauthu/pk-sudoku"&gt;
        pk-sudoku
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      sudoku app
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;sudoku puzzle built with react. start playing &lt;a href="https://pk-sudoku.pranayrauthu.now.sh/" rel="nofollow"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/pranayrauthu/pk-sudoku"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;&lt;a href="https://pk-sudoku.pranayrauthu.now.sh"&gt;https://pk-sudoku.pranayrauthu.now.sh&lt;/a&gt;&lt;/p&gt;

</description>
      <category>githunt</category>
      <category>react</category>
    </item>
    <item>
      <title>Snippet Generator</title>
      <dc:creator>pranay rauthu</dc:creator>
      <pubDate>Sun, 06 Jan 2019 15:27:25 +0000</pubDate>
      <link>https://dev.to/pranay_rauthu/snippet-generator-13ie</link>
      <guid>https://dev.to/pranay_rauthu/snippet-generator-13ie</guid>
      <description>&lt;p&gt;&lt;a href="https://snippet-generator.app/"&gt;snippet generator&lt;/a&gt; is a small web app to&lt;br&gt;
quickly generate code snippets for vs code, atom &amp;amp; sublime text.&lt;/p&gt;

&lt;p&gt;It also allows you to share code snippets with the url&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/pawelgrzybek/snippet-generator"&gt;github&lt;/a&gt;&lt;/p&gt;

</description>
      <category>githunt</category>
    </item>
    <item>
      <title>Regex tools</title>
      <dc:creator>pranay rauthu</dc:creator>
      <pubDate>Tue, 25 Dec 2018 16:38:22 +0000</pubDate>
      <link>https://dev.to/pranay_rauthu/regex-tools-538o</link>
      <guid>https://dev.to/pranay_rauthu/regex-tools-538o</guid>
      <description>&lt;h1&gt;
  
  
  Regex - tools
&lt;/h1&gt;

&lt;p&gt;working with regex is always painful. most of the time developers end up in copy pasting regular expressions from stack-overflow or other sites. Although this satisfies the needs of most common requirements, it is good to have an idea of what the regex is doing and testing it.&lt;/p&gt;

&lt;p&gt;I find following tools very helpful while working with regular expressions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Any text editor or IDE&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;most of the modern ides and text editors come with a good regular expression support for searching text.&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F2pjtefpbla64n2xt8ac0.PNG" 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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F2pjtefpbla64n2xt8ac0.PNG" alt="vs code regex"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://jex.im/regulex/#!flags=&amp;amp;re=%5E(a%7Cb)*%3F%24" rel="noopener noreferrer"&gt;Regulex&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is one of my favourite developer tool. Regulex helps to visualize the regular expression&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://regex101.com/" rel="noopener noreferrer"&gt;regex101&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to write, test &amp;amp; play with regex this is a good site. It also has good regex documentation.&lt;/p&gt;

</description>
      <category>regex</category>
      <category>productivity</category>
    </item>
    <item>
      <title>uuid in JavaScript.</title>
      <dc:creator>pranay rauthu</dc:creator>
      <pubDate>Sun, 21 Oct 2018 03:35:35 +0000</pubDate>
      <link>https://dev.to/pranay_rauthu/uuid-in-javascript-obc</link>
      <guid>https://dev.to/pranay_rauthu/uuid-in-javascript-obc</guid>
      <description>&lt;p&gt;while working with array of components in react js application. react complains us to provide a unique value key prop to the list items. we get away with this warning by adding array index as key. But recently I got to know that this will actually lead to errors when you are updating the array(experienced personally in one of my project). so we need set a unique key other than array index. &lt;/p&gt;

&lt;p&gt;After googling about the generating unique id, I got to know few solutions &amp;amp; tricks to generate uids.&lt;br&gt;
I came up with following solution. I believe this will have a very less chance of producing a two unique values.&lt;/p&gt;

&lt;p&gt;I've decided to generate an id based on following parameters.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;time&lt;/li&gt;
&lt;li&gt;randomness&lt;/li&gt;
&lt;li&gt;counter&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;time&lt;/strong&gt;: let's assume that we get a unique value with current time in ms.&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="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;getMilliseconds&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;for a better uniqueness. we can also use &lt;code&gt;performance.now&lt;/code&gt; function. more info about &lt;code&gt;performance.now&lt;/code&gt; can be found &lt;a href="https://developers.google.com/web/updates/2012/08/When-milliseconds-are-not-enough-performance-now?hl=en"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;randomness&lt;/strong&gt;: random number can be generated by calling &lt;code&gt;Math.random()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;counter&lt;/strong&gt;: By any chance if we get two unique numbers successively. Just for safety, we need a counter which resets after certain limit. a circular linked list will be able to to the job.&lt;/p&gt;

&lt;p&gt;so putting all together.&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="nx"&gt;uniqueId&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;firstItem&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
        &lt;span class="p"&gt;};&lt;/span&gt;
        &lt;span class="cm"&gt;/*length can be increased for lists with more items.*/&lt;/span&gt;
        &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;counter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;123456789&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;reduce&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;acc&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;curValue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;curIndex&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;arr&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;curObj&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{};&lt;/span&gt;
                &lt;span class="nx"&gt;curObj&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;curValue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
                &lt;span class="nx"&gt;curObj&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;acc&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

                &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;curObj&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="nx"&gt;firstItem&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="nx"&gt;firstItem&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;counter&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;now&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;performance&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;object&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;performance&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;function&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="nx"&gt;now&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;performance&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;.&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="nx"&gt;counter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;counter&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt;&lt;span class="p"&gt;}${&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;random&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;substr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)}${&lt;/span&gt;&lt;span class="nx"&gt;counter&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="s2"&gt;`&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;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;randomIdGenerator&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;uniqueId&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

    &lt;span class="nx"&gt;randomIdGenerator&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;// 3519936476425aaa4f2a048 &lt;/span&gt;
    &lt;span class="nx"&gt;randomIdGenerator&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;// 3519936472474f1e8119427&lt;/span&gt;
    &lt;span class="nx"&gt;randomIdGenerator&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;// 35199364800000017a40a2d1eaa226&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;this &lt;a href="https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript"&gt;stackoverflow&lt;/a&gt; thread has many more solutions.&lt;/p&gt;

&lt;p&gt;Please comment below if you know any other techniques to generate uuid.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
    </item>
    <item>
      <title>Webin - html, javascript, css playground</title>
      <dc:creator>pranay rauthu</dc:creator>
      <pubDate>Sat, 06 Oct 2018 17:42:01 +0000</pubDate>
      <link>https://dev.to/pranay_rauthu/webin---html-javascript-css-playground-2a1e</link>
      <guid>https://dev.to/pranay_rauthu/webin---html-javascript-css-playground-2a1e</guid>
      <description>&lt;p&gt;I recently started working on a simple web playground.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&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%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/pranayrauthu" rel="noopener noreferrer"&gt;
        pranayrauthu
      &lt;/a&gt; / &lt;a href="https://github.com/pranayrauthu/webin" rel="noopener noreferrer"&gt;
        webin
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      html, css &amp;amp; javascript playground
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Webin&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;webin is web playground to work with html, css &amp;amp; javascript.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: This app is still in beta stage. try it for free &lt;a href="https://pranayrauthu.github.io/webin" rel="nofollow noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/pranayrauthu/webin" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


</description>
      <category>showdev</category>
      <category>html</category>
      <category>css</category>
      <category>javascript</category>
    </item>
    <item>
      <title>correct way to request user permissions in browser?</title>
      <dc:creator>pranay rauthu</dc:creator>
      <pubDate>Sun, 09 Sep 2018 07:04:35 +0000</pubDate>
      <link>https://dev.to/pranay_rauthu/correct-way-to-request-user-permissions-in-browser-1gmd</link>
      <guid>https://dev.to/pranay_rauthu/correct-way-to-request-user-permissions-in-browser-1gmd</guid>
      <description>&lt;p&gt;This is what happens when I navigate to any website these days.&lt;/p&gt;

&lt;p&gt;I open the website. &lt;br&gt;
boom we use cookies is that ok.&lt;br&gt;
me: yes (as if I have a choice)&lt;br&gt;
do you want to enable push notifications.&lt;br&gt;
me: no&lt;br&gt;
add to home scre...&lt;/p&gt;

&lt;p&gt;me: close the browser. &lt;/p&gt;

&lt;p&gt;any ideas/suggestions how to request permissions without annoying the user?&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>help</category>
      <category>web</category>
    </item>
    <item>
      <title>customizing chrome devtools</title>
      <dc:creator>pranay rauthu</dc:creator>
      <pubDate>Wed, 13 Jun 2018 15:09:19 +0000</pubDate>
      <link>https://dev.to/pranay_rauthu/customizing-chrome-devtools-343o</link>
      <guid>https://dev.to/pranay_rauthu/customizing-chrome-devtools-343o</guid>
      <description>&lt;p&gt;for frontend developers, devtools is as important as IDE or text editor. Personally, I change my IDE theme frequently &amp;amp; always try to experiment with different fonts. Chrome devtools offer two themes(light &amp;amp; dark). you can try different devtools themes from chrome webstore.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://chrome.google.com/webstore/detail/devtools-theme-zero-dark/bomhdjeadceaggdgfoefmpeafkjhegbo"&gt;Zero Dark Matrix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chrome.google.com/webstore/detail/material-design-theme-for/bhhaihcbledolbbigofbpegdbomoimfa?hl=en"&gt;Material Design Theme&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chrome.google.com/webstore/detail/devtools-theme-nightlion/nmiejanhomgcihofiaipfpgenalpjnmp"&gt;NightLion Dark&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of the annoying things to me about chrome devtools is it doesn't allow you to change devtools font. Luckily we can override it with extensions. I have created an &lt;a href="https://chrome.google.com/webstore/detail/devtools-font-changer/fikbcnlbgoafooldbkgikejejhaddajg"&gt;extension&lt;/a&gt; for customizing devtools fonts.&lt;/p&gt;

&lt;p&gt;To use above mentioned extensions. you need to follow below steps.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to &lt;a href="https://dev.tochrome://flags"&gt;chrome://flags&lt;/a&gt; and enable &lt;em&gt;Developer Tools Experiments&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Enable &lt;em&gt;Allow custom UI themes&lt;/em&gt; in &lt;em&gt;Experiments tab&lt;/em&gt; of chrome devtools settings.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>productivity</category>
    </item>
    <item>
      <title>.bashrc alternative in windows</title>
      <dc:creator>pranay rauthu</dc:creator>
      <pubDate>Sat, 09 Jun 2018 17:42:13 +0000</pubDate>
      <link>https://dev.to/pranay_rauthu/bashrc-alternative-in-windows-kib</link>
      <guid>https://dev.to/pranay_rauthu/bashrc-alternative-in-windows-kib</guid>
      <description>&lt;p&gt;&lt;em&gt;.bashrc&lt;/em&gt; is a very useful file in Linux environments. It basically runs every time a new Linux shell is opened &amp;amp; you can add commands like aliases. I wanted to have something similar in windows. After searching over internet I have found the following technique.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;create a .bat file with the command name in a directory. (for example if you want to use &lt;code&gt;ls&lt;/code&gt; to list directories create a file with the name &lt;em&gt;ls.bat&lt;/em&gt; in &lt;em&gt;C:\myBatCommands&lt;/em&gt; with &lt;code&gt;dir&lt;/code&gt; in it.)&lt;/li&gt;
&lt;li&gt;add the folder(&lt;em&gt;C:\myBatCommands&lt;/em&gt;) to &lt;em&gt;PATH&lt;/em&gt; environment variable&lt;/li&gt;
&lt;li&gt;you can start using the commands.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This looks simple but every time you want to add a command you need to create a new file with the name in the folder. so create a .bat file(something like &lt;em&gt;cmdrc.bat&lt;/em&gt;) to simplify this with following content.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;
@echo &lt;span class="na"&gt;off&lt;/span&gt;

&lt;span class="kd"&gt;set&lt;/span&gt; &lt;span class="kd"&gt;filename&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;span class="kd"&gt;set&lt;/span&gt; &lt;span class="kd"&gt;command&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt;%&lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;

&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;%command%&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;C&lt;/span&gt;:\myBatCommands\&lt;span class="nv"&gt;%filename%&lt;/span&gt;.bat

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

&lt;/div&gt;



&lt;p&gt;Anytime you want to add a command to the folder run the following command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;
#cmdrc &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kd"&gt;alias&lt;/span&gt;&lt;span class="na"&gt;-name&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kd"&gt;command&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kd"&gt;cmdrc&lt;/span&gt; &lt;span class="kd"&gt;ls&lt;/span&gt; &lt;span class="nb"&gt;dir&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;There are couple of other ways listed &lt;a href="https://superuser.com/questions/144347/is-there-windows-equivalent-to-the-bashrc-file-in-linux?utm_medium=organic&amp;amp;utm_source=google_rich_qa&amp;amp;utm_campaign=google_rich_qa"&gt;here&lt;/a&gt;. If there are any others ways of achieving the same please post in comments.&lt;/p&gt;

&lt;p&gt;EDIT: 4-11-2018&lt;/p&gt;

&lt;p&gt;If you are using powershell you can use profile.ps1 with all the aliases. for more &lt;a href="https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-6"&gt;info&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>tips</category>
      <category>discuss</category>
    </item>
    <item>
      <title>How to generate code for http requests</title>
      <dc:creator>pranay rauthu</dc:creator>
      <pubDate>Thu, 10 May 2018 18:52:22 +0000</pubDate>
      <link>https://dev.to/pranay_rauthu/how-generate-code-for-http-requests-2c7b</link>
      <guid>https://dev.to/pranay_rauthu/how-generate-code-for-http-requests-2c7b</guid>
      <description>&lt;p&gt;check &lt;a href="https://pranayrauthu.github.io/fetcher/"&gt;this&lt;/a&gt; webapp to generate code for http requests.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/pranayrauthu"&gt;
        pranayrauthu
      &lt;/a&gt; / &lt;a href="https://github.com/pranayrauthu/fetcher"&gt;
        fetcher
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      http request code generator
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
Fetcher&lt;/h1&gt;
&lt;p&gt;generate HTTP request code for various languages. try it for free &lt;a href="https://pranayrauthu.github.io/fetcher/" rel="nofollow"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Generates Snippets for&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;JavaScript Fetch&lt;/li&gt;
&lt;li&gt;cURL&lt;/li&gt;
&lt;li&gt;HTTP&lt;/li&gt;
&lt;li&gt;C#&lt;/li&gt;
&lt;li&gt;PowerShell&lt;/li&gt;
&lt;li&gt;Java&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Other Features&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTTP Response (beta)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;License&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;MIT&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/pranayrauthu/fetcher"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;UPDATE: 22-06-2019&lt;/p&gt;

&lt;p&gt;following features are added in recent updates&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;request sharing (with permalink)&lt;/li&gt;
&lt;li&gt;response preview&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>http</category>
      <category>javascript</category>
      <category>curl</category>
      <category>githunt</category>
    </item>
  </channel>
</rss>
