<?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: Arun Prakash Pandey</title>
    <description>The latest articles on DEV Community by Arun Prakash Pandey (@d32ssv).</description>
    <link>https://dev.to/d32ssv</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%2F1084640%2F4fbbeb1e-7db5-4bc9-ac06-7986bbb66370.png</url>
      <title>DEV Community: Arun Prakash Pandey</title>
      <link>https://dev.to/d32ssv</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/d32ssv"/>
    <language>en</language>
    <item>
      <title>What happened when I used the Web Speech API?</title>
      <dc:creator>Arun Prakash Pandey</dc:creator>
      <pubDate>Sun, 12 Oct 2025 11:16:55 +0000</pubDate>
      <link>https://dev.to/d32ssv/what-happened-when-i-used-the-web-speech-api-3jjl</link>
      <guid>https://dev.to/d32ssv/what-happened-when-i-used-the-web-speech-api-3jjl</guid>
      <description>&lt;h2&gt;
  
  
  Behind the scene : The Goal...
&lt;/h2&gt;

&lt;p&gt;I wanted to make a web app for my personal use, which involved &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Continuously listen to the user’s speech&lt;/li&gt;
&lt;li&gt;Convert it to text in real-time&lt;/li&gt;
&lt;li&gt;Track the frequency of a specific word (e.g., “Shiv”)&lt;/li&gt;
&lt;li&gt;Display that count on screen and store it locally&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Simple idea. Surprisingly tricky to implement.&lt;/p&gt;

&lt;h3&gt;
  
  
  Expectations vs Reality
&lt;/h3&gt;

&lt;p&gt;The app technically worked using the Web Speech API. It listened, transcribed, and returned results. However, instead of processing each word as it was spoken, it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Listened to full chunks of speech&lt;/li&gt;
&lt;li&gt;Waited for pauses or silence&lt;/li&gt;
&lt;li&gt;Then returned a batch of words all at once&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even with &lt;code&gt;{ continuous: true }&lt;/code&gt;, the speech recognition didn’t behave the way I expected — no real-time, word-by-word updates.&lt;/p&gt;

&lt;h3&gt;
  
  
  Findings
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;It is not reliable for low-latency, high-frequency word detection&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;The Web Speech API buffers audio and processes it after short silences. &lt;/li&gt;
&lt;li&gt;It often fails to keep up with fast, continuous speech.&lt;/li&gt;
&lt;li&gt;Repeating the same word (e.g., "Shiv Shiv Shiv Shiv Shiv") often causes the recognizer to combine or ignore duplicates.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Solution
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Stream Audio → Transcribe → Return Text&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Use a Cloud-Based Speech-to-Text API&lt;/li&gt;
&lt;li&gt;Run an OpenAI whisper STT model on a server locally.&lt;/li&gt;
&lt;li&gt;Stream the voice data using a websocket to the backend.&lt;/li&gt;
&lt;li&gt;Backend transcribes the speech and sends reponse to the browser.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Result
&lt;/h3&gt;

&lt;p&gt;Understood the limitations of the web speech api and will work on the project with a fresh start.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>ai</category>
    </item>
    <item>
      <title>Install node js ubuntu</title>
      <dc:creator>Arun Prakash Pandey</dc:creator>
      <pubDate>Sun, 08 Oct 2023 10:30:29 +0000</pubDate>
      <link>https://dev.to/d32ssv/install-node-js-ubuntu-153</link>
      <guid>https://dev.to/d32ssv/install-node-js-ubuntu-153</guid>
      <description>&lt;p&gt;This is a guide to installing node js on a Ubuntu machine. You can keep multiple versions of node simultaneously and switch between them as per the requirement.&lt;br&gt;
Follow the below steps for installation : &lt;/p&gt;

&lt;p&gt;Run the command ensuring your system is up to date.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To install the latest stable version, run the command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo snap install node --classic
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or  Visit the &lt;a href="https://snapcraft.io/node" rel="noopener noreferrer"&gt;Official Snap website&lt;/a&gt; to see the list of available versions.&lt;/p&gt;

&lt;p&gt;To confirm the installed version of node, run the command&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;In case you wish to have more than one version of node installed. Run the command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nvm install v19.9.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here &lt;strong&gt;v19.9.0&lt;/strong&gt; is used as an example and can be replaced by a version of your choice!&lt;/p&gt;

&lt;p&gt;To see all the available versions, use the command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nvm list-remote
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To see the list of node versions that are installed on your pc, run the command&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;A similar result to the below image will appear.&lt;br&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%2Fu0j48nhbpzmhdf5h3l0i.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%2Fu0j48nhbpzmhdf5h3l0i.png" alt="list of node" width="444" height="315"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To switch between the versions of node, run the command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nvm use v19.9.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here &lt;strong&gt;v19.9.0&lt;/strong&gt; can be replaced with any other version of node that is installed on the system.&lt;/p&gt;

&lt;p&gt;Thanks for reading this. I hope this was helpful. Any comments or reactions will be wholeheartedly appreciated. &lt;/p&gt;

</description>
      <category>node</category>
      <category>ubuntu</category>
      <category>linux</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Updating Discord on Ubuntu</title>
      <dc:creator>Arun Prakash Pandey</dc:creator>
      <pubDate>Fri, 06 Oct 2023 11:35:06 +0000</pubDate>
      <link>https://dev.to/d32ssv/updating-discord-on-ubuntu-2npd</link>
      <guid>https://dev.to/d32ssv/updating-discord-on-ubuntu-2npd</guid>
      <description>&lt;p&gt;The Discord app does not get updated automatically. Instead, a copy of .deb file is downloaded and the update needs to be installed manually. If you have come across this image &lt;br&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%2Fjhd2kh45mw3j58dmrg71.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%2Fjhd2kh45mw3j58dmrg71.png" alt="update alert" width="265" height="288"&gt;&lt;/a&gt;&lt;br&gt;
Follow the below simple easy steps : &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Download the .deb file&lt;/li&gt;
&lt;li&gt;Go to the downloads folder and open the terminal. This is to ensure that you have changed your present working directory!&lt;/li&gt;
&lt;li&gt;Type the command &lt;code&gt;sudo apt install ./&lt;/code&gt; make sure to include the .deb file after &lt;strong&gt;./&lt;/strong&gt; as shown in the below image.
&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%2Fprk0d7r7dgqoo2v8h4g0.png" alt="command for updating discord using .deb file" width="463" height="36"&gt;
&lt;/li&gt;
&lt;li&gt;Hit Enter and it's done. You should see the below result after Hitting enter.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhs2rh7c3qp8da3qj172p.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%2Fhs2rh7c3qp8da3qj172p.png" alt="Example image after sunccessful update" width="800" height="180"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>discord</category>
    </item>
    <item>
      <title>Push, Pop, Shift, Unshift : An Easy way to remember</title>
      <dc:creator>Arun Prakash Pandey</dc:creator>
      <pubDate>Wed, 23 Aug 2023 11:22:23 +0000</pubDate>
      <link>https://dev.to/d32ssv/push-pop-shift-unshift-an-easy-way-to-remember-4jg5</link>
      <guid>https://dev.to/d32ssv/push-pop-shift-unshift-an-easy-way-to-remember-4jg5</guid>
      <description>&lt;p&gt;JavaScript can be confusing in the beginning and this article will help you to easily remember &amp;amp; differentiate between the push(), pop(), shift() and unshift() methods.&lt;/p&gt;

&lt;h2&gt;
  
  
  Push() and Unshift()-&amp;gt; 'u' is common
&lt;/h2&gt;

&lt;p&gt;The trick is to observe that the letter &lt;strong&gt;U&lt;/strong&gt; is used to spell push and unshift. Hence, they have similar use cases.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;For &lt;strong&gt;Adding one or more elements&lt;/strong&gt; in the array.&lt;/li&gt;
&lt;li&gt;Returns the length of the new array.&lt;/li&gt;
&lt;li&gt;Push() adds elements to the end.&lt;/li&gt;
&lt;li&gt;Unshift() adds elements to the beginning.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;Now, you know an easier way to remember &lt;strong&gt;push() and unshift() methods&lt;/strong&gt;.&lt;/em&gt; The pop and shift can be easily associated with each other.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pop() and Shift() -&amp;gt;
&lt;/h2&gt;

&lt;p&gt;The trick is to see that unlike push() and unshift() method (where the letter 'u' is common). Nothing is matching here. So, we can keep the pop and shift method in one group. Their use cases are similar as follows: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Both are used for removing.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Returns the item that was removed.&lt;/li&gt;
&lt;li&gt;Pop() removes from the end.&lt;/li&gt;
&lt;li&gt;Shift() removes from the start of the array.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I hope this helps you to easily remember the methods and their uses.&lt;br&gt;
Feel free to reach out for feedback (good or bad), or just to connect.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
