<?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: Anant Mishra</title>
    <description>The latest articles on DEV Community by Anant Mishra (@anantmishra1729).</description>
    <link>https://dev.to/anantmishra1729</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%2F729719%2Fe38f01b9-da69-4653-8874-8ed923d0781b.png</url>
      <title>DEV Community: Anant Mishra</title>
      <link>https://dev.to/anantmishra1729</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/anantmishra1729"/>
    <language>en</language>
    <item>
      <title>uv - faster pip written in Rust 🦀</title>
      <dc:creator>Anant Mishra</dc:creator>
      <pubDate>Mon, 02 Mar 2026 03:23:20 +0000</pubDate>
      <link>https://dev.to/anantmishra1729/uv-faster-pip-written-in-rust-32ek</link>
      <guid>https://dev.to/anantmishra1729/uv-faster-pip-written-in-rust-32ek</guid>
      <description>&lt;p&gt;If you’ve been working with Python for a while, chances are you’ve used &lt;code&gt;pip&lt;/code&gt; more times than you can count. &lt;/p&gt;

&lt;p&gt;Python packaging has historically been fragmented in pip, virtualenv, poetry, conda ... uv aims to unify much of that experience into one consistent tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Can uv Do?
&lt;/h2&gt;

&lt;p&gt;uv isn’t just a faster pip. It’s more like a unified Python packaging tool.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;What &lt;code&gt;uv&lt;/code&gt; Does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pip&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Install packages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pip-tools&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Compile lock files&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;pipx&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Install CLI tools&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;virtualenv&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create and manage environments&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;poetry&lt;/code&gt; (partially)&lt;/td&gt;
&lt;td&gt;Project + dependency management&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Insallation
&lt;/h2&gt;

&lt;p&gt;Visit &lt;a href="https://docs.astral.sh/uv/#highlights" rel="noopener noreferrer"&gt;Astral-uv&lt;/a&gt; before running these commands just in-case they have changed them.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MacOS and Linux
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-LsSf&lt;/span&gt; https://astral.sh/uv/install.sh | sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Windows
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;powershell&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-ExecutionPolicy&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;ByPass&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-c&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"irm https://astral.sh/uv/install.ps1 | iex"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Working with uv
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Creating a FastAPI project
&lt;/h3&gt;

&lt;p&gt;There are so many commands integrated with &lt;code&gt;uv&lt;/code&gt; that I can’t cover in this article. So instead, let’s build a simple project with a &lt;code&gt;virtual environment&lt;/code&gt;, &lt;code&gt;specific python version&lt;/code&gt;, &lt;code&gt;project metadata&lt;/code&gt; and &lt;code&gt;dependencies&lt;/code&gt; all in few commands.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv init my-app &lt;span class="nt"&gt;--python&lt;/span&gt; 3.12
&lt;span class="nb"&gt;cd &lt;/span&gt;my-app
uv add fastapi uvicorn
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What &lt;code&gt;uv&lt;/code&gt; did ?
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv init my-app &lt;span class="nt"&gt;--python&lt;/span&gt; 3.12
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;uv init initializes a brand-new Python project and configures it to use a specific Python version (3.12 in this case).&lt;/p&gt;

&lt;p&gt;Behind the scenes, it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;📁 Creates the project directory (my-app) (with version-control .git) and generates a pyproject.toml (managing dependendicies)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sets requires-python = "&amp;gt;=3.12" and depending resoution with locking support.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No manual setup. No boilerplate. No extra tooling.&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%2F3fuw9jpt4htywzcq0j1o.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%2F3fuw9jpt4htywzcq0j1o.png" alt="File structure" width="386" height="163"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv add fastapi uvicorn
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On adding the dependencies, it automatically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📦 Creates a virtual environment (.venv/) if it doesn't already exist and installs the packages inside that environment&lt;/li&gt;
&lt;li&gt;Updates pyproject.toml - resolves dependencies and generates a uv.lock file for reproducible installs&lt;/li&gt;
&lt;/ul&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%2Fa8zkemepxfviw4dpzzy7.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%2Fa8zkemepxfviw4dpzzy7.png" alt="File structure" width="369" height="212"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Running the app - &lt;code&gt;uv run&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;Updating &lt;code&gt;main.py&lt;/code&gt; with&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;fastapi&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;FastAPI&lt;/span&gt;

&lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;FastAPI&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="nd"&gt;@app.get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;read_root&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hello&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;World&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run it with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv run uvicorn main:app &lt;span class="nt"&gt;--reload&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;uv run&lt;/code&gt; ensures the command executes inside the managed environment — no activation needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning &lt;code&gt;uv&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;Nothing better than reading their documentation - &lt;a href="https://docs.astral.sh/uv/" rel="noopener noreferrer"&gt;Astral - UV docs&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;That’s the beauty of uv - it removes the initial setup and keeps the workflow focused on building, not managing tools, another great tool built with rust 🦀&lt;/p&gt;

</description>
      <category>python</category>
      <category>rust</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Wakadash: Showcase your wakatime stats on your Github profile</title>
      <dc:creator>Anant Mishra</dc:creator>
      <pubDate>Thu, 17 Jul 2025 17:57:14 +0000</pubDate>
      <link>https://dev.to/anantmishra1729/wakadash-showcase-your-wakatime-stats-on-your-github-profile-17mn</link>
      <guid>https://dev.to/anantmishra1729/wakadash-showcase-your-wakatime-stats-on-your-github-profile-17mn</guid>
      <description>&lt;p&gt;If you enjoy tracking your coding stats or contributing regularly to open source, you've probably heard of &lt;a href="https://wakatime.com/" rel="noopener noreferrer"&gt;WakaTime&lt;/a&gt; — a tool that tracks how much time you spend coding, in which language, and on which project...&lt;/p&gt;

&lt;p&gt;But wouldn't it be cool if you could display those stats directly on your GitHub profile?&lt;/p&gt;

&lt;p&gt;That's exactly what Wakadash is for.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Anant-mishra1729" rel="noopener noreferrer"&gt;
        Anant-mishra1729
      &lt;/a&gt; / &lt;a href="https://github.com/Anant-mishra1729/WakaDash" rel="noopener noreferrer"&gt;
        WakaDash
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Your wakatime visualization tool
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/Anant-mishra1729/WakaDash/raw/main/media/Wakadash.png"&gt;&lt;img width="1000" height="353" alt="Wakadash (2)" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FAnant-mishra1729%2FWakaDash%2Fraw%2Fmain%2Fmedia%2FWakadash.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;WakaDash&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Tool that fetches your weekly &lt;a href="https://wakatime.com/" rel="nofollow noopener noreferrer"&gt;WakaTime&lt;/a&gt; coding statistics and generates charts. You can embed this visual breakdown anywhere - from your GitHub profile README to a personal portfolio.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Language stats&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/Anant-mishra1729/WakaDash/raw/main/results/lang_stats.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FAnant-mishra1729%2FWakaDash%2Fraw%2Fmain%2Fresults%2Flang_stats.svg" alt="WakaTime Language Usage Chart" width="800" height="400"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Weekly stats&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/Anant-mishra1729/WakaDash/raw/main/results/day_wise_stats.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FAnant-mishra1729%2FWakaDash%2Fraw%2Fmain%2Fresults%2Fday_wise_stats.svg" alt="Weekly usage summary Chart" width="1000"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Badges&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/Anant-mishra1729/WakaDash/raw/main/results/best_badge.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FAnant-mishra1729%2FWakaDash%2Fraw%2Fmain%2Fresults%2Fbest_badge.svg" alt="Best badge" width="430"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/Anant-mishra1729/WakaDash/raw/main/results/daily_avg_badge.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FAnant-mishra1729%2FWakaDash%2Fraw%2Fmain%2Fresults%2Fdaily_avg_badge.svg" alt="Daily avg badge" width="300"&gt;&lt;/a&gt;
&lt;/p&gt;



&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Use This in Your Own Profile&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;You can use WakaDash to show your own coding activity by just forking this repo and connecting your WakaTime account. Here's how:&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Step 1: Create a Waktime account&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;Go to &lt;a href="https://wakatime.com/" rel="nofollow noopener noreferrer"&gt;WakaTime&lt;/a&gt;, create your account and get your API Key.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Step 2:  Fork This Repo&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;Click the "Fork" button in the top right of this page and fork it to your account.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Step 3: Add Your WakaTime API Key as a Secret&lt;/h3&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Go to your forked repo’s &lt;code&gt;Settings&lt;/code&gt; → &lt;code&gt;Secrets and variables&lt;/code&gt; → &lt;code&gt;Actions&lt;/code&gt; → &lt;code&gt;New repository secret&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Name the secret exactly: &lt;strong&gt;&lt;code&gt;WAKATIME_API_KEY&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Paste your WakaTime API Key&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Step 4: Enable GitHub Actions&lt;/h3&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Go to the &lt;code&gt;Actions&lt;/code&gt; tab in your…&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Anant-mishra1729/WakaDash" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h2&gt;
  
  
  What you can do with it?
&lt;/h2&gt;

&lt;p&gt;You can showcase:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your top programming languages&lt;/li&gt;
&lt;/ul&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%2F8ldemzlde77mprdps1p8.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%2F8ldemzlde77mprdps1p8.png" alt="Top 5 programming languages"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your weekly coding stats&lt;/li&gt;
&lt;/ul&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%2Flwj111gythczikndw1cp.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%2Flwj111gythczikndw1cp.png" alt="Weekly coding stats"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your daily average coding time and best coding day badges&lt;/li&gt;
&lt;/ul&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%2Fnynkae0yx8eznm8rrxxf.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%2Fnynkae0yx8eznm8rrxxf.png" alt="Best coding day and avg time spent badges"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And more coming soon...&lt;/p&gt;


&lt;h2&gt;
  
  
  How To Use It
&lt;/h2&gt;

&lt;p&gt;Getting started is super simple, you just need a &lt;a href="https://wakatime.com/" rel="noopener noreferrer"&gt;WakaTime&lt;/a&gt; account, create it and get your API Key.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For detailed setup instructions, please visit the &lt;a href="https://github.com/Anant-mishra1729/WakaDash" rel="noopener noreferrer"&gt;project repository&lt;/a&gt;. Below is a brief overview.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Fork this repository&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Anant-mishra1729" rel="noopener noreferrer"&gt;
        Anant-mishra1729
      &lt;/a&gt; / &lt;a href="https://github.com/Anant-mishra1729/WakaDash" rel="noopener noreferrer"&gt;
        WakaDash
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Your wakatime visualization tool
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/Anant-mishra1729/WakaDash/raw/main/media/Wakadash.png"&gt;&lt;img width="1000" height="353" alt="Wakadash (2)" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FAnant-mishra1729%2FWakaDash%2Fraw%2Fmain%2Fmedia%2FWakadash.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;WakaDash&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Tool that fetches your weekly &lt;a href="https://wakatime.com/" rel="nofollow noopener noreferrer"&gt;WakaTime&lt;/a&gt; coding statistics and generates charts. You can embed this visual breakdown anywhere - from your GitHub profile README to a personal portfolio.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Language stats&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/Anant-mishra1729/WakaDash/raw/main/results/lang_stats.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FAnant-mishra1729%2FWakaDash%2Fraw%2Fmain%2Fresults%2Flang_stats.svg" alt="WakaTime Language Usage Chart" width="800" height="400"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Weekly stats&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/Anant-mishra1729/WakaDash/raw/main/results/day_wise_stats.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FAnant-mishra1729%2FWakaDash%2Fraw%2Fmain%2Fresults%2Fday_wise_stats.svg" alt="Weekly usage summary Chart" width="1000"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Badges&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/Anant-mishra1729/WakaDash/raw/main/results/best_badge.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FAnant-mishra1729%2FWakaDash%2Fraw%2Fmain%2Fresults%2Fbest_badge.svg" alt="Best badge" width="430"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/Anant-mishra1729/WakaDash/raw/main/results/daily_avg_badge.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FAnant-mishra1729%2FWakaDash%2Fraw%2Fmain%2Fresults%2Fdaily_avg_badge.svg" alt="Daily avg badge" width="300"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;br&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Use This in Your Own Profile&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;You can use WakaDash to show your own coding activity by just forking this repo and connecting your WakaTime account. Here's how:&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Step 1: Create a Waktime account&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;Go to &lt;a href="https://wakatime.com/" rel="nofollow noopener noreferrer"&gt;WakaTime&lt;/a&gt;, create your account and get your API Key.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Step 2:  Fork This Repo&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;Click the "Fork" button in the top right of this page and fork it to your account.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Step 3: Add Your WakaTime API Key as a Secret&lt;/h3&gt;

&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Go to your forked repo’s &lt;code&gt;Settings&lt;/code&gt; → &lt;code&gt;Secrets and variables&lt;/code&gt; → &lt;code&gt;Actions&lt;/code&gt; → &lt;code&gt;New repository secret&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Name the secret exactly: &lt;strong&gt;&lt;code&gt;WAKATIME_API_KEY&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Paste your WakaTime API Key&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Step 4: Enable GitHub Actions&lt;/h3&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Go to the &lt;code&gt;Actions&lt;/code&gt; tab in your…&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Anant-mishra1729/WakaDash" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add your WakaTime API Key&lt;br&gt;
Go to &lt;code&gt;Settings&lt;/code&gt; &amp;gt; &lt;code&gt;Secrets and variables&lt;/code&gt; &amp;gt; &lt;code&gt;Actions&lt;/code&gt; in your forked repo and add a new secret:&lt;br&gt;
&lt;code&gt;WAKATIME_API_KEY&lt;/code&gt; → your personal WakaTime API key&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Customize your workflow (optional)&lt;br&gt;
The default GitHub Action runs daily and updates the lang_stats.svg, daily_stats.svg, and your badge files.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Embed the generated images using image links in your Github profile readme.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For example,&lt;/p&gt;

&lt;p&gt;For language stats, in your Profile Readme.md, paste this:&lt;/p&gt;

&lt;p&gt;Replace  with your user-name.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;![&lt;/span&gt;&lt;span class="nv"&gt;WakaTime Stats&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://raw.githubusercontent.com/&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;your-username&amp;gt;&lt;/span&gt;/WakaDash/main/lang_stats.png)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🙌 Contributions Welcome!
&lt;/h2&gt;

&lt;p&gt;This is an open-source passion project. If you have ideas, feel free to fork, contribute, and raise an issue or PR.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Hashing Pairs Like a Pro in C++</title>
      <dc:creator>Anant Mishra</dc:creator>
      <pubDate>Fri, 20 Oct 2023 03:26:31 +0000</pubDate>
      <link>https://dev.to/anantmishra1729/placeholder-contributor-3gb6</link>
      <guid>https://dev.to/anantmishra1729/placeholder-contributor-3gb6</guid>
      <description>&lt;p&gt;Let's say you are writing a code which include mapping of pairs (let's say coordinates in a grid) in C++.&lt;/p&gt;

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

&lt;p&gt;If you try to do this directly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;unordered_map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;pair&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;gridMap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You’ll get a compiler error. Why?&lt;/p&gt;

&lt;p&gt;Because C++ (before C++20) doesn’t know how to hash a std::pair.&lt;/p&gt;




&lt;h2&gt;
  
  
  Solution: Custom Hash Function 😏
&lt;/h2&gt;

&lt;p&gt;Let's create a &lt;code&gt;pair hash&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;unordered_map&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;
&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="k"&gt;namespace&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="nc"&gt;pair_hash&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;template&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;T1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;T2&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kt"&gt;size_t&lt;/span&gt; &lt;span class="k"&gt;operator&lt;/span&gt;&lt;span class="p"&gt;()(&lt;/span&gt;&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="n"&gt;pair&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;T1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;T2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;const&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;hash&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;T1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{}(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;first&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;^&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hash&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;T2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{}(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;second&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;1&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="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;unordered_map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;pair&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;pair_hash&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;gridMap&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="n"&gt;gridMap&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"START"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;gridMap&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="mi"&gt;1&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="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Bomb 💣"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;gridMap&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="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Treasure 💰"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;gridMap&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"END"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;gridMap&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;"("&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;first&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;", "&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;pos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;second&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;") -&amp;gt; "&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;label&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&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;(5, 5) -&amp;gt; END
(2, 3) -&amp;gt; Treasure 💰
(1, 2) -&amp;gt; Bomb 💣
(0, 0) -&amp;gt; START
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>cpp</category>
      <category>programming</category>
      <category>datastructures</category>
    </item>
    <item>
      <title>Introducing Operator-Caska: The Perfect Blend of CaskaydiaCove and Operator Mono</title>
      <dc:creator>Anant Mishra</dc:creator>
      <pubDate>Tue, 04 Jul 2023 11:40:46 +0000</pubDate>
      <link>https://dev.to/anantmishra1729/introducing-operator-caska-the-perfect-blend-of-caskaydiacove-and-operator-mono-4o0b</link>
      <guid>https://dev.to/anantmishra1729/introducing-operator-caska-the-perfect-blend-of-caskaydiacove-and-operator-mono-4o0b</guid>
      <description>&lt;p&gt;Fonts play a crucial role in the coding and development process, making the text more readable and aesthetically pleasing. Today, I am excited to introduce &lt;strong&gt;Operator-Caska&lt;/strong&gt;, a unique cursive font which combines the elegance of CaskaydiaCove Nerd Font with the sophistication of Operator Mono.&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%2Fht03br55fau2d1l0rrsw.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%2Fht03br55fau2d1l0rrsw.png" alt="Operator-Caska" width="800" height="838"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Operator-Caska offers &lt;strong&gt;ligature and cursive support&lt;/strong&gt;, making it an excellent choice for developers who appreciate both style and functionality in their coding environment. In this blog post, we'll delve into how you can integrate it into your preferred code editor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation and Usage:
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Download Operator-Caska
&lt;/h3&gt;

&lt;p&gt;Visit the &lt;a href="https://github.com/Anant-mishra1729/Operator-caska-Font" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt; and download the Operator-Caska font files.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Anant-mishra1729" rel="noopener noreferrer"&gt;
        Anant-mishra1729
      &lt;/a&gt; / &lt;a href="https://github.com/Anant-mishra1729/Operator-caska-Font" rel="noopener noreferrer"&gt;
        Operator-caska-Font
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Operator-caska Cursive font with ligature support.
    &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;Operator-caska Cursive Font&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Font with ligature and cursive support, combination of both &lt;strong&gt;CaskaydiaCove Nerd Font&lt;/strong&gt; and &lt;strong&gt;Operator Mono&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/84588156/250889863-bb718779-5a6f-44e5-8c05-313c67b583e8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTIyOTgxNDQsIm5iZiI6MTc1MjI5Nzg0NCwicGF0aCI6Ii84NDU4ODE1Ni8yNTA4ODk4NjMtYmI3MTg3NzktNWE2Zi00NGU1LThjMDUtMzEzYzY3YjU4M2U4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTA3MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwNzEyVDA1MjQwNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRkNWRkMjViNjcyYmJkYTM3MWM3ODMzNzZhMTEzZjFjY2U4OGI0YjQ0ZTZkMTM3OGIzZTIwOTZjZDIyNDk4MjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.aC2DCApE3Gij5yIvU5LT-mSrrncRmkjgOtsGnZyhZj0"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F84588156%2F250889863-bb718779-5a6f-44e5-8c05-313c67b583e8.png%3Fjwt%3DeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTIyOTgxNDQsIm5iZiI6MTc1MjI5Nzg0NCwicGF0aCI6Ii84NDU4ODE1Ni8yNTA4ODk4NjMtYmI3MTg3NzktNWE2Zi00NGU1LThjMDUtMzEzYzY3YjU4M2U4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTA3MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwNzEyVDA1MjQwNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRkNWRkMjViNjcyYmJkYTM3MWM3ODMzNzZhMTEzZjFjY2U4OGI0YjQ0ZTZkMTM3OGIzZTIwOTZjZDIyNDk4MjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.aC2DCApE3Gij5yIvU5LT-mSrrncRmkjgOtsGnZyhZj0" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Operator-caskabold&lt;/b&gt; with &lt;a href="https://vscodethemes.com/e/iamkd.one-monokai-italics/one-monokai-italics" rel="nofollow noopener noreferrer"&gt;One Monokai Theme with Italics - Danyil Karuna&lt;/a&gt; &lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Usage&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Use a theme that supports italics, such as &lt;strong&gt;Monokai Pro&lt;/strong&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;📖 Book italics (Default)&lt;/h3&gt;
&lt;/div&gt;
&lt;p&gt;Font family: &lt;strong&gt;&lt;code&gt;Operator-caska&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;💪 Bold italics&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;Font family: &lt;strong&gt;&lt;code&gt;Operator-caskabold&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Installation&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Clone this repo:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;git clone https://github.com/Anant-mishra1729/Operator-caska-Font.git
&lt;span class="pl-c1"&gt;cd&lt;/span&gt; Operator-caska-Font&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Linux&lt;/h3&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Create a directory named &lt;strong&gt;&lt;code&gt;.fonts&lt;/code&gt;&lt;/strong&gt; in your HOME directory:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;mkdir -p &lt;span class="pl-k"&gt;~&lt;/span&gt;/.fonts&lt;/pre&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Copy the .ttf files in your ~/.fonts directory&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;cp -r &lt;span class="pl-k"&gt;*&lt;/span&gt;.ttf &lt;span class="pl-k"&gt;~&lt;/span&gt;/.fonts/&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Windows&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;Install the fonts by right-clicking the .ttf files.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Issues&lt;/h3&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Operator-caskabold in Windows&lt;/strong&gt;: VScode font is not cursive (Issue only with Windows)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You'll have to &lt;strong&gt;&lt;a href="https://code.visualstudio.com/api/language-extensions/syntax-highlight-guide" rel="nofollow noopener noreferrer"&gt;modify the textmate rules&lt;/a&gt;&lt;/strong&gt;, here's an example, paste this in &lt;strong&gt;settings.json&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight highlight-source-js notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-s"&gt;"editor.tokenColorCustomizations"&lt;/span&gt;: &lt;span class="pl-kos"&gt;{&lt;/span&gt;
    &lt;span class="pl-s"&gt;"textMateRules"&lt;/span&gt;: &lt;span class="pl-kos"&gt;[&lt;/span&gt;
      &lt;span class="pl-kos"&gt;{&lt;/span&gt;
        &lt;span class="pl-s"&gt;"scope"&lt;/span&gt;: &lt;span class="pl-kos"&gt;[&lt;/span&gt;
          &lt;span class="pl-s"&gt;"comment"&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;
          &lt;span class="pl-s"&gt;"entity.name.type.class"&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt; &lt;span class="pl-c"&gt;// class names&lt;/span&gt;
          &lt;span class="pl-s"&gt;"keyword"&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;&lt;/pre&gt;…
&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Anant-mishra1729/Operator-caska-Font" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Anant-mishra1729/Operator-caska-Font.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Linux
&lt;/h4&gt;

&lt;p&gt;Move both files &lt;code&gt;Operator-Caska Italic.ttf&lt;/code&gt; and &lt;code&gt;Operator-Caska Regular.ttf&lt;/code&gt; fonts inside directory &lt;code&gt;~/.fonts&lt;/code&gt;, create &lt;code&gt;.fonts&lt;/code&gt; directory in your HOME if it does not exists.&lt;/p&gt;

&lt;h4&gt;
  
  
  Windows
&lt;/h4&gt;

&lt;p&gt;Right click both .ttf files and install them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Configure your Code Editor
&lt;/h3&gt;

&lt;p&gt;Open your preferred code editor and navigate to the settings or preferences menu. Locate the "Font" or "Typography" section and set the font family to &lt;strong&gt;&lt;code&gt;Operator-Caska&lt;/code&gt;&lt;/strong&gt;. Adjust the font size and line spacing to your liking.&lt;/p&gt;

&lt;h3&gt;
  
  
  Enable Ligatures
&lt;/h3&gt;

&lt;p&gt;If your code editor supports ligatures, ensure that the ligature option is enabled.&lt;/p&gt;

&lt;p&gt;In VsCode you can paste this in &lt;em&gt;settings.json&lt;/em&gt; to activate both features:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nl"&gt;"editor.fontFamily"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"'Operator-Caska'"&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"editor.fontLigatures"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Apply theme
&lt;/h3&gt;

&lt;p&gt;If you haven't already, install and apply the Monokai Pro/One monokai italic or any other theme with supports italics in your code editor. Configure the theme's settings to match your preferences, and enjoy the perfect combination of Operator-Caska's elegance.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>ui</category>
      <category>vscode</category>
      <category>design</category>
    </item>
    <item>
      <title>Simplify Password Management with the 'pass' Command-Line Password Manager</title>
      <dc:creator>Anant Mishra</dc:creator>
      <pubDate>Fri, 30 Jun 2023 01:47:15 +0000</pubDate>
      <link>https://dev.to/anantmishra1729/simplify-password-management-with-the-pass-command-line-password-manager-2pbg</link>
      <guid>https://dev.to/anantmishra1729/simplify-password-management-with-the-pass-command-line-password-manager-2pbg</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;In this blog post, we will explore the &lt;strong&gt;Pass - command-line password manager&lt;/strong&gt;, which provides a secure and convenient way to manage your passwords. We will start with the initial setup, including generating a GPG key, and then proceed to cover storing, retrieving, and removing passwords using 'pass'. We will also discuss additional tips and best practices for using 'pass' effectively.&lt;/p&gt;

&lt;h3&gt;
  
  
  Initial setup
&lt;/h3&gt;

&lt;h4&gt;
  
  
  🔑 Generating a GPG Key
&lt;/h4&gt;

&lt;p&gt;The first step to setting up the 'pass' password manager is generating a &lt;strong&gt;GPG (GNU Privacy Guard) key&lt;/strong&gt;. GPG provides encryption and decryption functionality, securing your passwords in the 'pass' password store. To generate a GPG key, use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;gpg &lt;span class="nt"&gt;--gen-key&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;You will be prompted to enter your name and email address. Additionally, you will be asked to set a &lt;strong&gt;&lt;code&gt;passphrase&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Note&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
This passphrase is crucial as it acts as the master password for all your passwords, so make sure to choose a strong and memorable passphrase.&lt;/p&gt;

&lt;p&gt;Copy your GPG Key &lt;code&gt;6G5E33C8EDF352343243256F23FW23A06C20&lt;/code&gt; from the output&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pub ...
6G5E33C8EDF352343243256F23FW23A06C20
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  🔒 Installing pass
&lt;/h4&gt;

&lt;p&gt;Next, you need to install the 'pass' password manager on your system. The installation process may vary depending on your distribution. Here are a few examples:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;dnf &lt;span class="nb"&gt;install &lt;/span&gt;pass &lt;span class="c"&gt;# Fedora&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;pass &lt;span class="c"&gt;# Debian/Ubuntu/PopOS!&lt;/span&gt;
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Now your 🔒 + 🔑 are ready, so create a 'password-store'&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;pass init &amp;lt;GPG KEY&amp;gt;
&lt;span class="c"&gt;# pass init 6G5E33C8EDF352343243256F23FW23A06C20&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;a directory &lt;code&gt;.password-store&lt;/code&gt; will be created in your HOME, this dir stores all your passwords (that simple it is!)&lt;/p&gt;
&lt;h3&gt;
  
  
  Storing passwords
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Inserting your own password&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You want to store your Github password but you have two personal and work accounts, do this&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;pass insert github/personal
Enter password &lt;span class="k"&gt;for &lt;/span&gt;github/personal: ...
&lt;span class="nv"&gt;$ &lt;/span&gt;pass insert github/work
Enter password &lt;span class="k"&gt;for &lt;/span&gt;github/work: ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Checkout &lt;code&gt;.password-store&lt;/code&gt;, it'll look like this&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;📂  .password-store
└── 📂 github
   ├── 🔑 personal.gpg
   └── 🔑 work.gpg
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Generating random password
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;pass generate github/personal
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;A random password will be generated and stored under the specified label.&lt;/p&gt;
&lt;h3&gt;
  
  
  Retrieving passwords
&lt;/h3&gt;

&lt;p&gt;To retrieve your stored passwords, you will need to provide the passphrase you set during the GPG key generation. Here are two ways to retrieve passwords:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Show password in terminal
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;pass show github/personal
YOUR_PASSWORD
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Copy password in clipboard for 45 seconds
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;pass show &lt;span class="nt"&gt;-c&lt;/span&gt; github/personal
Copied github/personal to clipboard. Will clear &lt;span class="k"&gt;in &lt;/span&gt;45 seconds.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Removing passwords
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;pass &lt;span class="nb"&gt;rm &lt;/span&gt;github/personal
Are you sure you would like to delete github/personal? &lt;span class="o"&gt;[&lt;/span&gt;y/N]
removed &lt;span class="s1"&gt;'/home/USER/.password-store/github/personal.gpg'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

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

&lt;p&gt;Checkout offical website for pass  &lt;a href="https://www.passwordstore.org/" rel="noopener noreferrer"&gt;https://www.passwordstore.org/&lt;/a&gt; to learn more.&lt;/p&gt;

&lt;p&gt;There are many UI interfaces available for pass, if you use GNOME I have one for you...&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Anant-mishra1729" rel="noopener noreferrer"&gt;
        Anant-mishra1729
      &lt;/a&gt; / &lt;a href="https://github.com/Anant-mishra1729/Pass-zenity" rel="noopener noreferrer"&gt;
        Pass-zenity
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Simple GUI interface of pass linux with zenity gui
    &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;Pass-zenity&lt;/h1&gt;

&lt;/div&gt;

&lt;p&gt;Simple GUI interface of &lt;code&gt;pass&lt;/code&gt; linux command with zenity gui
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/84588156/248631413-8634cb3c-e8ab-4495-b40f-bb0851df50a3.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzI0MjI2MjcsIm5iZiI6MTc3MjQyMjMyNywicGF0aCI6Ii84NDU4ODE1Ni8yNDg2MzE0MTMtODYzNGNiM2MtZThhYi00NDk1LWI0MGYtYmIwODUxZGY1MGEzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzAyVDAzMzIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWIxNmNiMzZiN2JhNDdmNzMwOGNiOWZhOGJkYjZjNzc0MWFhYmFkMmM3NTVjYjk0Y2U0NmNkMGQwZDg3MmY2ZGYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.hcPVPx3BsEv6YQQF-Rg3b-mgwoq45mTfGHYNNeWBq4s"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F84588156%2F248631413-8634cb3c-e8ab-4495-b40f-bb0851df50a3.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzI0MjI2MjcsIm5iZiI6MTc3MjQyMjMyNywicGF0aCI6Ii84NDU4ODE1Ni8yNDg2MzE0MTMtODYzNGNiM2MtZThhYi00NDk1LWI0MGYtYmIwODUxZGY1MGEzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzAyVDAzMzIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWIxNmNiMzZiN2JhNDdmNzMwOGNiOWZhOGJkYjZjNzc0MWFhYmFkMmM3NTVjYjk0Y2U0NmNkMGQwZDg3MmY2ZGYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.hcPVPx3BsEv6YQQF-Rg3b-mgwoq45mTfGHYNNeWBq4s" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Installation&lt;/h1&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Clone this repository&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;git clone https://github.com/Anant-mishra1729/Pass-zenity.git
cd Pass-zenity
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Make all files executable&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;chmod u+x pass*
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Place all the files except README.md in &lt;code&gt;~/.local/bin&lt;/code&gt;, create &lt;code&gt;~/.local/bin&lt;/code&gt; directory if it doesn't exist&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;mv pass* ~/.local/bin/
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Add keyboard shortcuts for easy access
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/84588156/248630428-f5e843a6-d224-481b-a3b0-cc8fa84c7f93.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzI0MjI2MjcsIm5iZiI6MTc3MjQyMjMyNywicGF0aCI6Ii84NDU4ODE1Ni8yNDg2MzA0MjgtZjVlODQzYTYtZDIyNC00ODFiLWEzYjAtY2M4ZmE4NGM3ZjkzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzAyVDAzMzIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI0NTAwNjA2ZWU3ZGZkYWVjODgyM2NhMTUzNTc5M2VkMzY3MGQzMzFkMjVhZTQzMWJmZmUxYzhiNTEzZTQ0ODcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.oKju0vc8pA6P8XsBecvNqNpHyiTichLaenu6vBoh4wU"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F84588156%2F248630428-f5e843a6-d224-481b-a3b0-cc8fa84c7f93.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzI0MjI2MjcsIm5iZiI6MTc3MjQyMjMyNywicGF0aCI6Ii84NDU4ODE1Ni8yNDg2MzA0MjgtZjVlODQzYTYtZDIyNC00ODFiLWEzYjAtY2M4ZmE4NGM3ZjkzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzAyVDAzMzIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI0NTAwNjA2ZWU3ZGZkYWVjODgyM2NhMTUzNTc5M2VkMzY3MGQzMzFkMjVhZTQzMWJmZmUxYzhiNTEzZTQ0ODcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.oKju0vc8pA6P8XsBecvNqNpHyiTichLaenu6vBoh4wU" alt="image"&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;About&lt;/h1&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;pass-plugin&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;To access all the 3 plugins (generate, show, remove)&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;pass-generate&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;Generates password for username&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If password is not provided random password is generated for that username.&lt;/li&gt;
&lt;li&gt;If username already exists the ui will ask for whether to overwrite the password or not.
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/84588156/248629505-c1f7c16e-cdb2-451c-8138-9336039c12f6.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzI0MjI2MjcsIm5iZiI6MTc3MjQyMjMyNywicGF0aCI6Ii84NDU4ODE1Ni8yNDg2Mjk1MDUtYzFmN2MxNmUtY2RiMi00NTFjLTgxMzgtOTMzNjAzOWMxMmY2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzAyVDAzMzIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA5OTZiZWQ5MGZiM2NmYjI3YjljZjVhMmNmYzg4YjFiYWE1ZDhlMjI3NmM1NmE2NTBkZTVmZGJhNDI0NmU1MjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.9oitVEE726i99oBgQiBLR2yr8mnoaHkIcftviqsKVsI"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F84588156%2F248629505-c1f7c16e-cdb2-451c-8138-9336039c12f6.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzI0MjI2MjcsIm5iZiI6MTc3MjQyMjMyNywicGF0aCI6Ii84NDU4ODE1Ni8yNDg2Mjk1MDUtYzFmN2MxNmUtY2RiMi00NTFjLTgxMzgtOTMzNjAzOWMxMmY2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzAyVDAzMzIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA5OTZiZWQ5MGZiM2NmYjI3YjljZjVhMmNmYzg4YjFiYWE1ZDhlMjI3NmM1NmE2NTBkZTVmZGJhNDI0NmU1MjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.9oitVEE726i99oBgQiBLR2yr8mnoaHkIcftviqsKVsI" alt="image"&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;pass-show&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;Gives a list preview of all usernames&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Usernames are searchable&lt;/li&gt;
&lt;li&gt;After selecting usernames, the password will be copied to clipboard for 45 seconds.
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/84588156/248631795-55d3d6e7-b2cc-4b0b-bb2f-df455bb84cbb.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzI0MjI2MjcsIm5iZiI6MTc3MjQyMjMyNywicGF0aCI6Ii84NDU4ODE1Ni8yNDg2MzE3OTUtNTVkM2Q2ZTctYjJjYy00YjBiLWJiMmYtZGY0NTViYjg0Y2JiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzAyVDAzMzIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA5Mjg5MjI5NDliMDNlNjFjZjZjMGIyMTU3MjgyZTc2ZDYyOTAxZWM0NWI0Njc3YTE5ZjQ2Mzc5NDY0YWVkNjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.xW0Z2qNkKNagSVkncF2ega5GJ3hdD4sjkjkCTwzMGog"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F84588156%2F248631795-55d3d6e7-b2cc-4b0b-bb2f-df455bb84cbb.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzI0MjI2MjcsIm5iZiI6MTc3MjQyMjMyNywicGF0aCI6Ii84NDU4ODE1Ni8yNDg2MzE3OTUtNTVkM2Q2ZTctYjJjYy00YjBiLWJiMmYtZGY0NTViYjg0Y2JiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzAyVDAzMzIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA5Mjg5MjI5NDliMDNlNjFjZjZjMGIyMTU3MjgyZTc2ZDYyOTAxZWM0NWI0Njc3YTE5ZjQ2Mzc5NDY0YWVkNjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.xW0Z2qNkKNagSVkncF2ega5GJ3hdD4sjkjkCTwzMGog" alt="image"&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;pass-remove&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/84588156/248630917-47024eac-eeb3-4280-a350-9a66527b538a.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzI0MjI2MjcsIm5iZiI6MTc3MjQyMjMyNywicGF0aCI6Ii84NDU4ODE1Ni8yNDg2MzA5MTctNDcwMjRlYWMtZWViMy00MjgwLWEzNTAtOWE2NjUyN2I1MzhhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzAyVDAzMzIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVhMTQ1OTM1MzQwNTk2MWFkY2I2NWVlZTk4YmYyN2E0NDFiMmFjNTNkYjMwOWRjNDdiOWQ2ODQ5MTNmMTRmNzMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.PwOI6fJ4Scv4jjfUOSl8tZ0SETUkcjJjmVT8QJpGUdo"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F84588156%2F248630917-47024eac-eeb3-4280-a350-9a66527b538a.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzI0MjI2MjcsIm5iZiI6MTc3MjQyMjMyNywicGF0aCI6Ii84NDU4ODE1Ni8yNDg2MzA5MTctNDcwMjRlYWMtZWViMy00MjgwLWEzNTAtOWE2NjUyN2I1MzhhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzAyVDAzMzIwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVhMTQ1OTM1MzQwNTk2MWFkY2I2NWVlZTk4YmYyN2E0NDFiMmFjNTNkYjMwOWRjNDdiOWQ2ODQ5MTNmMTRmNzMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.PwOI6fJ4Scv4jjfUOSl8tZ0SETUkcjJjmVT8QJpGUdo" alt="image"&gt;&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/Anant-mishra1729/Pass-zenity" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;Remember to refer to the 'pass' documentation or run man pass in the terminal for more detailed information on additional features and advanced usage of the 'pass' command-line password manager.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>beginners</category>
      <category>security</category>
    </item>
  </channel>
</rss>
