teleren/devto huggingface dataset:
"Most Useless Demo Ever" Deepgram Hackathon Submission
Tags: hackwithdg, speechrecognition, javascript, virtualdesktop
Published: 2022-04-11 12:49:00

### Overview of My Submission
#### Utilizing Deepgram as a virtual speech input in a web desktop.

https://github.com/zenOSmosis/reshell


### Submission Category: 

Wacky Wildcards


### Link to Code on GitHub

https://github.com/zenOSmosis/reshell


### Additional Resources / Info

Video of the most useless demo ever: https://user-images.githubusercontent.com/1139657/162651792-32cb216c-2257-40f5-a75d-0b2062b65897.mov

### Introduction

This is a project that I actually take great pride in, however, when trying to balance development time with my full-time job as well as spending time with my family, I wasn't able to complete the project to my satisfaction, so I called it, "The Most Useless Demo Ever."

### My Deepgram Use-Case

For several years some buddies and I have been talking about using virtual speech inputs in some programs that we are writing.  And we've done that with varying degrees of success.

I've personally had a strong desire to make a web desktop over the past 10 years or so which is inspired by many concepts in Unix-based operating systems.

So I'm presenting the largely incomplete ReShell desktop system which features mobile and desktop paradigm support.

There are several variants of this desktop, some of which are dedicated for peer-to-peer (P2P) calling.

In time, these multiple variants will converge into a single "portal" and become decentralized, where users can bring their own backends.

This Deepgram submission is basically my way of saying, "we support voice, are supporting multiple input interfaces, and we have a long road ahead."


### Conclusion

In our UI, I've integrated Deepgram and Azure's speech recognition services, and they can be run concurrently.  If wanting more feedback as to the pros / cons of each and what I have experienced, feel free to reach out to me.

You can find me on LinkedIn at: https://www.linkedin.com/in/jeremyharrisconsultant/
Living with Imposter Syndrome
Tags: mentalhealth, webdev, womenintech, discuss
Published: 2022-04-11 12:34:37

Imposter syndrome, that annoying devil on your shoulder telling you you’re a fraud 🙊

I unfortunately am too familiar with this devil on my shoulder. Whenever I can’t figure out a piece of code, ask for help, get a compliment or have a personal one 2 one. Under the belief I actually have no idea what I’m doing, how am I even here? Does everyone else think I’m useless too? 

Being a self taught developer it can be daunting working with some incredible people and developers, people with uni qualifications, YEARS of experience, people who are just incredible at what they do. Sometimes this truly inspires me, sometimes this makes me feel more of a fraud. Constantly feeling like I have to prove myself and what I’m capable of. 

There’s a few things I do that help me with this and I would recommend too if you also have this little devil on your shoulder. 
⭐️ If I get an email or message saying something positive about myself or a piece of work I’ve done, I save it, screenshot it and have it on my computer for any moment I’m feeling down. 
⭐️ I ask my boss for feedback on my work and how I can improve. 
⭐️ I try not to compare myself to my colleagues but ask them for advice or help if I need. 
⭐️ I try to look at my future and where I want to be and set goals of how I’m going to get there, accepting I’m not there now but I will be. 

The little devil may never go away but he doesn’t have to be as scary as he seems. Have faith in what you do, believe in yourself, enjoy the good days.
Lorita Bot 🦜 helps you to transcribe audio messages to text
Tags: hackwithdg, deepgram, deeplearning, ai
Published: 2022-04-11 12:27:18

---
title: Lorita Bot 🦜 helps you to transcribe audio messages to text
published: true
description: My submission to the Deepgram Hackathon on DEV!
tags: hackwithdg, deepgram, deeplearning, ai
---

### Overview of My Submission
How many times you're in a meeting and receives and Audio Message? you can't take your phone and listen it, needs to finish the meeting and then listen.

Lorita-Bot transcribe that Audio Message to text, and you cand read it without listen it.


### Submission Category: 
Wacky Wildcards


### Link to Code on GitHub
{% embed https://github.com/olidroide/lorita-bot %}


### Additional Resources / Info
Demo available https://lorita-bot.olidroide.es


### Introduction

I found this Hackathon on DEV and I decide to participate because I never do any before. So... why not? I'm very happy to participate and share my experience with this small POC.

### My Deepgram Use-Case

As you can see on the README of the project, my main inspiration is the audios received in messaging app, and that's moments than you can't listen it but need to check the content of that audio because the sender is someone important for you.


### Dive into Details

The main challenge here is use a WhatsApp bot, because this platform doesn't offer a developers tools to make one. So I decide to use Twilio platform, also I started with the idea of use other API messaging like MessageBird, but I leave this idea for improvements.
For this reason I implement also a Telegram Bot, because is more developer friendly to do this kind of stuff.

Another challenge is learn some of next.js framework, and offer this solution to anyone in a multiplatform Docker image (Arm & Intel/AMD64 because is the main architecture of backend) and learn how to GitHub Actions work to do a CI/CD.

### Conclusion

A small demo in production is available here:
https://lorita-bot.olidroide.es
Read your Favorite Podcasts - PodText
Tags: hackwithdg, nextjs, react, showdev
Published: 2022-04-11 11:58:59

Hello folks, this post is regarding my submission for **Deepgram Hackathon**. 


### Idea

So many of us wants to listen to various amazing podcasts out there, but due to time constraints we are not able to give so much time and attention to listen to them. What if its possible to read the transcript of the podcast in a text version, that's struck my mind. 
I decided to create an web app to **Read the podcasts - PodText**. 

---

### Overview of My Submission
**PodText** will allow us to browse through **Top Podcasts** of various genres and read transcripts for each episode of a podcast.
Podcast metadata and audio has been fetched using Podcast API by **Listennotes**. Audio to Text transcription is done using **Deepgram**'s API.

**Link:** [podtext.amitwani.dev](podtext.amitwani.dev)

_Note: Currently, Podcasts are served from Mock server of Listennotes to avoid exhaustion of API quota_


### Submission Category 
Accessibility Advocates 

---

### Tech Stack
- NextJS
- NextUI
- Docker
- Railway.app
- Listennotes
- Deepgram

### Details

I have created a NextJS app along with NextUI as a UI library.
Created pages for showing Genres (`genres/[id]`), Podcasts (`podcasts/[id]`), Episodes (`episodes/[id]`) details. 
Created an API route `api/transcribe` which is used to transcribe the audio of Podcast to text using Deepgram. Podcast audio will be fetched from Listennotes' CDN on the fly itself.

---

### Link to Code on GitHub
{% embed https://github.com/mtwn105/podtext %}

### Screenshots/Demo
{% embed https://www.loom.com/embed/46c09374980f4bc28c5cb983373e75ac %}

### Future Improvements
There's always room for improvement, here are some things which can be added or done better in this
- Better UI/UX
- Ability to Play Podcast
- Ability to search podcasts
- Caching podcast transcriptions
- Improved SEO

---

### Conclusion
I have learned a lot while making this project. This has been my first proper project on NextJS, still much improvement is needed on this front. Had fun with using Deepgram's API very easy to use and straight forward. 
Looking forward to everyone's submissions and more such hackathons.

Till next time, peace!
Status Saver For Whatsapp 2022
Published: 2022-04-11 12:00:01

Do you want to save images and videos from your WhatsApp stories and look for an app to [save WhatsApp stories](https://play.google.com/store/apps/details?id=statussaverforwhatsapp.statussaverwhatsapp.statussaverapp)? Then our status saver for WhatsApp 2022 and downloader is just what you're looking for!
Getting Started with the React Spreadsheet Component
Tags: react, webdev, webcomponents
Published: 2022-04-11 11:58:46

Learn how easily you can create and configure the Syncfusion React Spreadsheet using the create-react-app command, then organize and analyze data in a tabular format. This video also explains how to configure a few of the control’s basic features like selection, editing, formatting, resizing, applying formula, importing, and exporting Excel documents. 

**Product Overview**: https://www.syncfusion.com/react-ui-components/react-spreadsheet

**Download an example from GitHub**: https://github.com/SyncfusionExamples/getting-started-with-the-react-spreadsheet-component

**Refer to the following documentation for the Syncfusion React Spreadsheet**: https://ej2.syncfusion.com/react/documentation/spreadsheet/getting-started/ 

**Check out this online example of the Syncfusion React Spreadsheet**: https://ej2.syncfusion.com/react/demos/#/bootstrap5/spreadsheet/default

{% youtube 3Cx9AnKAHdY %}
AWS in Plain English
Tags: aws, beginners
Published: 2022-04-11 11:58:32

This is supposed to be my very first article regarding my learning path on AWS ecosystem. 

This time I will write about a useful tool I found in one of my readings, it is _AWS in Plain English_, of course is not complete documentation of each AWS service like we can find in the official documentation, but it is a compiled guide that tell us, for example:

- What Should we have called that service (EC2 =  Amazon Virtual Servers)
- How we usually use this service ÇIt´s self explanatory)
- It´s like: A short description of what this service is similar to other we for sure have used in the past (VPC = VLAN networks).


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gwhgvcdii00obrng3j2e.PNG) 


As a summary, it has a lot of short description of AWS services that we already know and some others that we maybe not. 

For the link visit [https://expeditedsecurity.com/](https://expeditedsecurity.com/aws-in-plain-english/)
ShowDEV: We built a side project that allows you to share and review resume🧾
Tags: showdev, webdev, javascript, discuss
Published: 2022-04-11 11:58:14

Hello DEVS 👋,

I and one of my friends were bored and wanted to do something, so we came up with the concept of creating a platform where you can submit your resumes and others would do the same, and then you can rate and give feedback on the resumes.

**Demo**
**[https://www.raterbay.com/](https://www.raterbay.com/
) go check it out**
[https://github.com/VaibhavAcharya/raterbay](https://github.com/VaibhavAcharya/raterbay) Github

**Stack**
As we wanted to finish this project quickly, we used ReactJs and Firebase.

**Plans for future**

- Maybe a interactive profile
- Nested comments
- Report button
- kind of contest like monthly or weekly

Again, give this a try - [https://www.raterbay.com/](https://www.raterbay.com/
)

**Thank you :)**
Graph Algorithm - Bipartite Graph(DFS)
Tags: beginners, programming, tutorial, java
Published: 2022-04-11 11:14:31

## What is a Bipartite Graph

A Bipartite Graph is a graph whose vertices can be divided into two independent sets, U and V such that every edge (u, v) either connects a vertex from U to V or a vertex from V to U.


![Bipartite](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cuhhlet00it3mvkucqyr.jpeg)

In simple words, a graph is said to be a Bipartite Graph if we are able to colour the graph using 2 colours such that no adjacent nodes have the same colour.


![Example](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d9oqr0cors8trn61qn45.png)

If the graph has an odd length cycle, it is not a bipartite graph.

Two vertices of the same set will be connected, which contradicts the Bipartite definition saying there are two sets of vertices and no vertex will be connected with any other vertex of the same set.
If the graph has an even length cycle, it is said to be a bipartite graph.
In the previous week, we discussed about Bipartite graph checking using BFS algorithm.

Lets try Depth-First Search algorithm.

## Bipartite Graph Checking using Depth-First Search Algorithm

### Algorithm
1. Initialize an integer colour array with all values 0. This colour array stores three values.0 means not colored and not visited, 1 means visited, and colored using colour 1, -1 means visited and colored using colour 2.

2. Run a loop from the start node to the end node, and start our DFS algorithm. (Useful for disconnected graph).

>> Our DFS function passes the following properties and do recursion. dfsFunction(graph, node, colourArray, colourToBeColoured).

3. Check if the current node is already colored. If already colored, return true only if colored with the same colour that needs to be colored. Else return false.

4. If the current node is not colored, color the current node with colourToBeColoured.

5. Traverse through the children of the current node.

6. Do dfs on the children.

7. If the method returns false in any of the recursion, two adjacent nodes are colored with the same color and the graph is not bipartite.

## Example

1. Bipartite Graph


![DFS1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gn8f8egc7103pu53a47r.gif)

2. Not a Bipartite Graph


![DFS2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qtxdwsxr7j86bt270wuj.gif)


## Time and Space Complexity

* We are traversing through all the nodes and edges. So time complexity will be O(V + E) where V = vertices or node, E = edges.

* We use a color array, and an adjacency list for the graph. So the space complexity will be O(V) + O(V + E) + extra space for the recursion stack.

## Code

![Java code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n6tqeahjha2zyg4zzyl9.png)

Originally Published on : [LinkedIn Newsletter](https://www.linkedin.com/newsletters/graph-algorithm-6905161199672025088/)

## Practice Problem

[Bipartite Graph](https://practice.geeksforgeeks.org/problems/bipartite-graph/1/)

## Github Link

{% github https://github.com/Rohithv07/LeetCodeTopInterviewQuestions %}
Do you contribute to open source projects?
Tags: discuss, watercooler, opensource
Published: 2022-04-11 11:09:38

[Medusa](https://github.com/medusajs/medusa) is an open source ecommerce platform. One of the reasons [we made it open source](https://dev.to/medusajs/the-story-behind-our-open-source-ecommerce-platform-with-9000-gh-stars-in-6-months-28id) is because we love the open source community and how we can share code with everyone around the world as well as borrow from others.

Do you contribute to open source projects? What projects have you contributed to and what kind of contributions have you made?
Understanding Javascript Async Race Conditions
Tags: javascript, webdev, programming, tutorial
Published: 2022-04-11 11:06:00

The term "race condition" is usually applied to the conflict in accessing shared variables in a multi-threading environment. In Javascript, your JS code is executed only by a single thread at a time, but it's still possible to create similar issues.

This is a common problem when people are just blindly making their functions async, without thinking about the consequences.

Let's take a very simple example - lazy-loading some kind of single-instance resource.

The synchronous version is simple:
```
let res;
function get_resource() {
    if(!res) res = init_resource();
    return res;
}
```

Asynchronous version:
```
let res;
async function get_resource() {
    if(!res) res = await init_resource();
    return res;
}
```

Imagine `get_resource()` being called in a web server, on every request. If enough time passes between the first and the second request, everything will work fine. But what happens if you get more requests, while the first one is still waiting for the resource?

This can lead to serious problems that are very hard to debug.

## More examples

Here are some examples (from this [HN thread](https://news.ycombinator.com/item?id=21066741)):

Account balance:
```
    async function deduct(amt) {
        var balance = await getBalance();
        if (balance >= amt)
            return await setBalance(balance - amt);
    }
```

And more subtle example:
```
  async function totalSize(fol) {
    const files = await fol.getFiles();
    let totalSize = 0;
    await Promise.all(files.map(async file => {
      totalSize += await file.getSize();
    }));
    // totalSize is now way too small
    return totalSize;
  }
```

## Possible solutions

The best way to avoid these types of problems is to avoid async functions where it's not absolutely necessary (see: [Functional core, imperative shell](https://devsimplicity.com/functional-core-imperative-shell)).

If it's not possible, you may want to consider using Mutex (from Mutual Exclusion) - once someone acquires the lock, other requests will be blocked, until the original holder release the lock.

i.e. with [async-mutex](https://www.npmjs.com/package/async-mutex) package our previous example may look like this:

```
let res;
async function get_resource() {
    await mutex.runExclusive(async () => {
        if(!res) res = await init_resource();
    });
    return res;
}
```

`async-mutex` has also support for semaphores - it's a similar concept, but multiple locks can be acquired.

---
<small>Note: this is a snapshot of (WIP) topic from the Understanding Simplicity wiki. All suggestions (and reactions) are welcome. You can find the latest version here: [Understanding Javascript Async Race Conditions](https://devsimplicity.com/javascript-async-race-conditions)
I'm looking for Backend Developer
Tags: backend, php, career, russia
Published: 2022-04-11 11:04:37


Vacancy description:
We are a product company that develops an application that allows you to find out all the information about a person from the network. Enter a name, upload a photo and get information about hobbies, circle of friends, recent actions taken - everything that can be learned about a person from open sources.

Work format: remote
Employment: full / part (from 30 hours)
Salary range: from 250,000/($3,000)

Company name: Postuf
The site of the company:
https://postuf.com
Founder's social media:
https://postuf.com/ceo/
Job link:
https://spb.hh.ru/vacancy/40918585
Contacts: Vladimir - +79665215828 (Telegram/WhatsApp).
SumUP the meet
Tags: hackwithdg
Published: 2022-04-11 10:59:46

### Introduction

Meeting minutes are used to document the key points raised during the meeting effective minutes can state the approaches and why the team chose that. 

### My Deepgram Use-Case

The minutes of the meeting can be recorded manually or on an electronic device. After the meeting, the recorder reviews the minutes and makes edits where necessary. The meeting minutes are then shared with the group participants. Apart from distribution, the minutes are also saved for future reference.

Doing this things mannuly consumes lot of human efforts and also invites human errors such as forgetfulness as well as impartiality in decision making, to avoid such things we can use deepgram and automaticaly genrate the summary of the meeting.


### Dive into Details
Record audio of the meeting conversation and recorded audio is processed on the server with Deepgram API to convert it to text format and then we can use Hugging Face Transformers to summarize that text in python and then we can mail them to all the attendees of the meeting automatically.


### Conclusion
Seeing the documentation of deepgram, we can definitely say that it's easier to integrate with it compared to other platform.
[Deepgram x DEV Hackathon Submission Post Placeholder Title]
Tags: hackwithdg, javascript, webdev, programming
Published: 2022-04-11 10:58:19

I'm sure you'll have used a chat app that allows sending voice messages, but what happens when you don't have enough time to listen to important voice messages or probably you are in a noisy area, would you rather save the voice message for later or you'd prefer to read the text transcribed format?
Or probably the person's accent is quite strange, would you rather hear the audio over and over again or you'll play the audio and easily read along when the word being said is highlighted?

So after imagining this scenario, I taught about creating a chat app that could solve this problem by both transcribing the audio file and highlighting the word being said.

![Groupcon gif](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kapxnxh1er895r2xul0g.gif)

### Overview of My Submission
Groupcon is a web application specially designed for group conversations and has different functionalities, one of the major functionality includes sending audio messages and the audio message text transcription.

![Read as you hear](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/53ui9yv3e9spitwbqwv6.gif)
You can check out the live demo on https://group-con.herokuapp.com/ by signing in and creating a group.

### Submission Category: 

Accessibility Advocates


### Link to Code on GitHub

Link to the [backend.](https://github.com/Ernest2026/groupcon-chatapp-backend/)
Link to the [frontend.](https://github.com/Ernest2026/groupcon-chatapp-frontend/)

### Additional Resources / Info

You can always check out the Readme to know more...