teleren/devto huggingface dataset:
Helpline Triager: Your buddy during distress
Tags: devchallenge, twiliochallenge, ai, twilio
Published: 2024-06-23 03:39:21

*This is a submission for [Twilio Challenge v24.06.12](https://dev.to/challenges/twilio)*

## What I Built
<!-- Share an overview about your project. -->
**Helpline Triager**
While reporting or seeking help in a distress situations, finding the appropriate help can be challenging. This project aims to streamline the process by providing a single helpline number that redirects caller-provided information to the relevant helpline. Such an approach address common obstacles faced during distress situations such as lack of internet access, reluctance to self-identify, and the precious time-consuming task of locating the correct helpline number. 
By offering a centralized and user-friendly solution, this project aims to facilitate prompt access to the necessary support during times of distress.

**Technologies Used**
Backend: Flask, gevent
External APIs: 
- Twilio Api for messaging, call 
- OpenAI Api for AI responses, Whisper for transcription
- Google text-to-speech for text to speech

## Demo
<!-- Share a link to your app and include some screenshots here. -->
As this is a backend app only, no front-end demo is present. One can easily integrate this as a service.

Attaching one of the messages that received using this backend app.

![Redirected message received from Helpline Triager](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q9subsvsyqmsyb0isj3u.jpeg)


## Twilio and AI
<!-- Tell us how you leveraged Twilio’s capabilities with AI -->
I leveraged Twilio's powerful communication APIs(both call and messaging API), to handle incoming calling calls in the backend app. The use of AI in the app is mostly two-fold

1. Caller agent: An AI agent is used as both receiver (while getting distress call from end-user) and caller/message-sender (while directly appropriate helpline).
2. Agent Prompts: Different agent prompts are used to - 
   (a) identify distress type,   
   (b) extract important information, and   
   (c) summarize the distress call.

## Additional Prize Categories

<!-- Does your submission qualify for any additional prize categories (Twilio Times Two, Impactful Innovators, Entertaining Endeavors)? Please list all that apply.  -->
This submission qualifies for the following additional prize categories:

**Twilio Times Two**: The project utilizes both Twilio's calling and messaging APIs to enhance our Notion extension.  
**Impactful Innovators**: This project can make up the split-second advantage required to get the essential support during critical moments of distress such as fire, health emergency, theft, etc.

## Github Repo
{% github thepurpleowl/Helpline_Triager %}

<!-- Team Submissions: Please pick one member to publish the submission and credit teammates by listing their DEV usernames directly in the body of the post. -->

<!-- Don't forget to add a cover image (if you want). -->
🎉 Building Interactive Web Applications with Vanilla JavaScript
Tags: javascript, webdev, programming, tutorial
Published: 2024-06-23 03:35:00

Frameworks like React and Vue are popular, but there's a lot you can do with plain JavaScript. Let's explore some techniques for building interactive web applications without any frameworks.

## DOM Manipulation
Directly manipulate the Document Object Model to create dynamic content.

```
document.getElementById('myButton').addEventListener('click', () => {
    const newElement = document.createElement('p');
    newElement.textContent = 'Hello, World!';
    document.body.appendChild(newElement);
});
```
## Fetch API
Interact with server-side APIs using the Fetch API.
```
async function loadData() {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    console.log(data);
}

document.getElementById('loadDataButton').addEventListener('click', loadData);
```
## Local Storage
Store data locally in the user's browser.
```
function saveData() {
    localStorage.setItem('name', 'Alice');
}

function loadData() {
    const name = localStorage.getItem('name');
    console.log(name); // Alice
}

document.getElementById('saveButton').addEventListener('click', saveData);
document.getElementById('loadButton').addEventListener('click', loadData);
```
## CSS Transitions and Animations
Enhance user experience with smooth transitions and animations.
```
.button {
    transition: background-color 0.3s ease;
}

.button:hover {
    background-color: blue;
}
```
## Web Components
Create reusable custom elements with Web Components.
```
class MyElement extends HTMLElement {
    connectedCallback() {
        this.innerHTML = '<p>Hello, Web Component!</p>';
    }
}

customElements.define('my-element', MyElement);
```
## Conclusion
Vanilla JavaScript is powerful and versatile. By mastering DOM manipulation, the Fetch API, local storage, CSS transitions, and Web Components, you can build fully-featured interactive web applications without relying on frameworks. Happy coding!
One Byte Explainer: Big O notation
Tags: devchallenge, cschallenge, computerscience, beginners
Published: 2024-06-23 03:01:40

*This is a submission for [DEV Computer Science Challenge v24.06.12: One Byte Explainer](https://dev.to/challenges/cs).*

## Explainer

My code runs in seconds for 3 inputs but takes hours for 100, why?  Consider: 3 people can all shake hands in 3 exchanges. But for 100 people (33x) it takes 4,950 (1650x)! Big O math represents runtime’s growth at scale by only keeping its main factors.

## Additional Context

TEAM MEMBERS: @dchaley @lynnlangit
One Byte Explainer: the Halting Problem
Tags: devchallenge, cschallenge, computerscience, beginners
Published: 2024-06-23 02:57:11

*This is a submission for [DEV Computer Science Challenge v24.06.12: One Byte Explainer](https://dev.to/challenges/cs).*

## Explainer

Is this loop actually infinite, or will it eventually finish? In 1936, Alan Turing used his Machine to show we can’t know. Consider a program that checks if it stops and if true: loops forever. A paradox! Some problems are literally impossible: avoid them.

## Additional Context

For interest, here is the paradox:

* If the halting check is true, then the program loops forever… even though the check says it halts.

* If the halting check is false, then the program stops… even though the check says it never halts.

TEAM MEMBERS: @dchaley @lynnlangit
THE 3 BEST VS CODE EXTENSIONS ✨
Tags: webdev, javascript, beginners, programming
Published: 2024-06-23 02:47:10

I made a bunch of vs code extension  posts previously and all of them got solid response 😁. So, today let's look at 3 extension that I regularly use in my daily code. All the 3 extensions are a must download so make sure you go through the whole post for my views and opinions on those extensions

## Live server 🛜 

When I started my dev journey. I copied the path of my file and paste it Google for a preview. Then, I used to refresh everytime I  made a change. It was really annoying 😞. Later, I used to create a vite project everytime I wanted to make something for that 
`npm run dev` command. But after I found out this awesome extension. Everything could be done in the matter of a click 😁. Just switch this extension on and click the internet icon on the vs code taskbar and you are off to go ! I give this extension a solid 8/10

RATING: ⭐⭐⭐⭐⭐⭐⭐⭐

## CODY

This time it is not about productivity and this is about a code. Cody is an Ai co-pilot kind of extension which is really good 👍. I tried every AI extension in vs code extension and so far this is the best. 15 reactions and there will be an Ai extension showdown. Cody has an awesome extension UI and it is really good coming to my Ai part. I never tried co-pilot because of this. Just search for Cody and install it. Then, sign in and switch it on. You will have some good recommendations now onwards. I will give this a solid 8.5/10

Rating: ⭐⭐⭐⭐⭐⭐⭐⭐🌗

## VS CODE PETS 🐶 

This extension is simply a vs code extension window which starts with a pet and you can delete or add a wide range of pets and you can name them !! Then you can throw a ball, pet them and have satisfied time while coding in vs code. I loved it. Just download the extension and that's all. Nothing else to say about this extension. But, trust me this extension is awesome 👍. I give this a 10/10 for the really satisfying thought. 

Rating: ⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

## Thanks for reading

Just comment what you want to read next !
---------------Edit----------------
This post crossed 3K views, thanks guys !!
GDSC FEST' 24
Published: 2024-06-23 02:34:55

🌟 Exciting News! 🌟

I’m thrilled to share that I have designed the official website for GDSC-FEST '24! 🎉

It’s been an incredible journey collaborating with the dynamic team at Google Developer Student Clubs to create a platform that captures the spirit and innovation of this amazing event. From seamless user experience to captivating visuals, every element has been crafted with passion and precision.

Check out the https://gdscfest.netlify.app/💻✨

A big thank you to everyone involved for their support and creativity. Looking forward to seeing you all at GDSC-FEST '24!

#WebDesign #GDSCFEST24 #UIUX #WebDevelopment #TechEvents #GoogleDeveloperStudentClubs #ProudMoment
GDSC - WOW Tamilnadu
Published: 2024-06-23 02:24:40

I’m happy to announce that I have created the official website for Tamil Nadu’s biggest GDSC event: GDSC WOW Tamilnadu

Using the power of Tailwind CSS and HTML, I was able to build a sleek, responsive, and user-friendly site that showcases all the exciting details of the event.

Thanks to : Vishnudhasan Govindarajan for providing this opportunatiy.

A big thank you to ChatGPT for providing invaluable assistance throughout the development process. Your help made this journey smoother and more enjoyable.

Check out the website and join us for an amazing experience at GDSC WOW Tamilnadu

link : https://lnkd.in/dVsSCk83

#GDSC #GDSCWOWTamilNadu2K24 #WebDevelopment #TailwindCSS #HTML #ChatGPT #TechInnovation
How content creation helped me land my first tech job?
Tags: job, beginners, programming, career
Published: 2024-06-23 01:54:58

Getting the first job is the hardest. It is also frustrating when you apply for countless jobs but don't hear back.

Even if you get a call back you have to face countless meetings and assessments. 

But, it doesn’t have to be that way.

Nowadays, you can build your presence on social media. It shows what you are capable of doing.

That way instead of you applying for the job, the job will find you!

In this article, I will share my story of how I managed to land my first job by creating content. 

So, let’s get started.

### The Beginning

In the beginning, I started with the traditional approach. Applying to hundreds of jobs and never getting a callback.

Even If I got a few callbacks, I would get an assessment, and after I submitted they would never call (Skill issues 🤣🤣)

So, I was going nowhere. Then I decided not to apply and do the assessment for free. I started to create videos on YouTube and write articles (I had free time I could do all).

Then I would share my videos and articles on Twitter.

While doing all these I was taking freelance projects here and there.

### The Big day

As I focused on creating and sharing content, something unexpected happened. I received a call from a potential employer, who found my work online. 

Initially, I thought it was a friend, but it turned out to be a job opportunity.

They asked me to create a video for their product.

After creating a video for their product, they offered me a position as a Support Engineer. I started part-time, handling client queries and updating documentation. 

Two months later, I transitioned to a front-end developer role in the same company.

### Creating Content

Now, you might be wondering what type of content to create. It doesn't have to be complicated. 

If you love being in front of a camera you can create videos, if you don’t like that you can start a blog. 

If blogging sounds too much effort start by tweeting. 

Once you choose the platform your question might be what should I write/create videos about?

Here are a few ideas to get you started:

1. Build projects and write about them.
2. Write about the problem you solved.
3. Share what you learn every day.
4. Write about a book you read.
5. Share your take on a new tech. 

The ideas are endless. You just have to start. 

Once you start creating content you will get endless ideas.

Don’t forget to share your content on Twitter or any other social media you are active on.

### Conclusion

If you are applying for jobs and going nowhere, then try this approach.

Improve your skills and create content. Your content doesn’t have to be perfect. You have to start. Day by day you will get good at it.

Start today and share your content in the comment section, even if it’s just a tweet or a simple article.

**Connect With Me**

[Twitter/x](https://twitter.com/CoderAmrin) 
[Github](https://github.com/coderamrin/)
[LinkedIn](https://www.linkedin.com/in/coderamrin/)

Happy Coding.
Monthly Amazon Location Service Updates - 2024.05
Tags: amazonlocationservice, amplifygeo, amplify, amazonlocationserviceupdates
Published: 2024-06-23 01:40:24

![img](https://day-journal.com/memo/images/logo/aws/location-service.png)

### Monthly Amazon Location Service Updates - 2024.05

<br>

This is a summary of the May updates for Amazon Location Service.

<br>

## 2024.05 Updates

[Amazon Location Service Plugin for QGIS released in OSS](https://github.com/dayjournal/qgis-amazonlocationservice-plugin)
A plugin that enables the use of Amazon Location Service on QGIS has been released in OSS.

<br>

## Other Info

[Amazon Location Service Demo](https://location.aws.com)
Official Amazon Location Service demo.

[Amazon Location Service Developer Guide](https://docs.aws.amazon.com/location/latest/developerguide)
Official Amazon Location Service Documentation.

[AWS Geospatial](https://github.com/aws-geospatial)
Official AWS Geospatial samples.

[Amplify Geo Docs](https://docs.amplify.aws/lib/geo/getting-started/q/platform/js)
Official Amplify Geo Docs.

[maplibregljs-amazon-location-service-starter](https://github.com/mug-jp/maplibregljs-amazon-location-service-starter)
Build environment to get started with Amazon Location Service.

[dev.to](https://dev.to/dayjournal)
Articles on Amazon Location Service.

[tags - Amazon Location Service](https://day-journal.com/memo/tags/Amazon-Location-Service)
[tags - Try](https://day-journal.com/memo/tags/Try)
Notes on Amazon Location Service. (Japanese)

<br>

## Related Articles

{% link https://dev.to/aws-heroes/monthly-amazon-location-service-updates-202403-33n0 %}
Is It Spam?
Tags: devchallenge, twiliochallenge, ai, twilio
Published: 2024-06-23 01:39:38

*This is a submission for [Twilio Challenge v24.06.12](https://dev.to/challenges/twilio)*

## What I Built
Everyone who has dealt with spam calls knows how stressful it can be getting a call from an unknown number. Maybe you are waiting for a call from a job application, or your childs teacher, or the doctor. There are a thousand reasons you may need to keep yourself available to unknown callers. But you don't want to pickup spam callers, letting them know your number is active and that you answer, only to start getting more spam calls.

Well what I've built is a product that utilizes Twilio and AI to help you determine if a caller is potentially spam or not. By providing the callers number, "Is It Spam?" leverages Twilio's Lookup API and add-on marketplace to retrieve data about the caller. That data is then parsed by GPT-3.5 Turbo to determine if the caller is spam, using attributes associated to the number like line type, name, historical data, etc... This is then presented back to the user either via the web interface.

**This service will only be public for the duration of the contest and judging. Due to expenses with using the Twilio and OpenAI API's, I cannot afford to keep this running. The source code is available, all you need to run this is the latest version of Go (go1.22.4), a Twilio account, and an OpenAI API Key.**

## Demo
Demo Link: [Is It Spam?](https://is-it-spam.brians.land)
GitHub Link: [briandoesdev/is-it-spam](https://github.com/briandoesdev/is-it-spam)
<!-- Screenshots -->

![Lookup Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jryw74yjxyhflhwwz969.png)

![Lookup Response](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yr9v3fdmi476xfyy4lwk.png)

## Twilio and AI
I use the Twilio Lookup API, along with a marketplace add-on, to look up data about the provided number. This is then passed to the OpenAI API to parse and summarize the likelyhood this is spam via specified attributes.

## Additional Prize Categories
- Impactful Innovators: Whilst this could be subjective, I'd say helping prevent spam calls, and knowing who is calling from an unknown number can provide a societal impact. I know that I've gotten less stress from calls since developing this service.

## Future
There are a few features I'd like to add, along with cleaning up the code, fixing some issues, and adding the SMS service (once A2P is complete).

<!-- Don't forget to add a cover image (if you want). -->

<!-- Thanks for participating! -->
Creating and Connecting to a Linux VM using a Public Key
Tags: learning, linux, azure, microsoft
Published: 2024-06-23 01:39:00

Step 1: Create a Linux VM on Azure

- Log in to the Azure portal and navigate to the Virtual Machines page      

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


- Click "Create a virtual machine" and select "Linux" as the operating system.
- Choose a Linux distribution (e.g., Ubuntu) and configure the VM settings as desired.

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

- In the "Authentication" section, select "SSH public key" and paste the contents of your public key file (mykey.pub)

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

Step 2: Connect to the Linux VM using SSH

- Once the VM is created, navigate to the VM's overview page and click "Connect".

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


- Select "SSH" as the connection method.
- In the SSH connection dialog, enter the username and private key file (mykey) .
- Click "Connect" to establish the SSH connection.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/27079f06nl5gbh8vtvsb.png)


Step 3: Verify the Connection

- Once connected, you should see a terminal prompt for the Linux VM.
- Run the command using Window PowerShell -a to verify that you are connected to the Linux VM.

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

That's it! You have successfully created and connected to a Linux VM using a public key.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/34yb7b15bcqmllpbaa3w.png)


Note: This is just a general outline, and specific steps may vary depending on your Azure subscription and VM configuration.
Building a Cryptocurrency Trading Bot with Python
Tags: webdev, javascript, beginners, programming
Published: 2024-06-23 00:35:29

## Introduction

Cryptocurrency trading has become a popular form of investment in recent years, and with the rise of automation in financial markets, many traders are turning to trading bots to aid in their decision making. In this article, we will discuss how to build a cryptocurrency trading bot using Python, one of the most popular programming languages for data analysis and automation.

## Advantages of Using a Trading Bot

1. **Operational Continuity:** One of the main advantages of using a trading bot is that it can operate 24/7, unlike human traders who need rest and cannot monitor the market at all times. This allows for quick decision-making and execution of trades, without missing any potential opportunities.

2. **Emotion-Free Trading:** Trading bots eliminate emotional decision-making, which can often lead to costly mistakes. By relying on pre-set rules and algorithms, bots can maintain a consistent trading strategy.

## Disadvantages of Trading Bots

1. **Potential for Errors:** However, it is important to note that trading bots are not foolproof and can still make errors, especially if not properly configured.

2. **Technical Knowledge Required:** They also require a certain level of technical knowledge to set up and maintain, which may be a barrier for some traders.

3. **Limited Adaptability:** Another challenge is that bots can only operate based on the parameters and rules set by the user, so they may struggle to adapt to unexpected market conditions.

## Features of a Cryptocurrency Trading Bot

There are various features that can be incorporated into a trading bot, such as technical indicators, risk management strategies, and automatic portfolio rebalancing. Using Python, these features can be customized and fine-tuned to suit the individual trader's needs and preferences.

### Example of Implementing a Simple Moving Average (SMA) in Python

```python
import pandas as pd
import numpy as np

# Function to calculate the Simple Moving Average
def calculate_sma(data, window_size):
    sma = data['close'].rolling(window=window_size).mean()
    return sma

# Example DataFrame
data = pd.DataFrame({
    'close': np.random.random(100) * 1000  # Random closing prices
})

# Calculate 20-day SMA
sma_20 = calculate_sma(data, 20)
print(sma_20)
```

## Conclusion

Building a cryptocurrency trading bot with Python can provide various benefits, such as increased efficiency, reduced emotional decision making, and customizable features. However, it is important to carefully consider the risks and limitations as well. With proper planning and implementation, a trading bot can be a valuable tool for cryptocurrency traders.
From Burnout to Breakthrough: How I Transformed My Developer Workflow with One Simple Change
Tags: productivity, career, devtoys
Published: 2024-06-22 23:46:29

My Developer Burnout – It was 2 AM, and I was staring at my screen, feeling utterly defeated. Another late night, another seemingly insurmountable bug, and the weight of endless deadlines. I love coding, but this constant grind was draining the life out of me.

According to a recent survey, over 70% of developers report experiencing burnout at some point in their careers. The pressure to meet deadlines, the rapid pace of technological change, and the constant demand for innovation can take a toll on even the most passionate coders.

As developers, we’re often faced with tight deadlines, complex problem-solving, and the need to constantly learn new technologies. These challenges can lead to long hours, high stress, and eventually, burnout. Personally, I found myself working late into the night, trying to squash bugs and meet deadlines, only to wake up exhausted and less productive the next day.

👀 Continue Reading! ===> [From Burnout to Breakthrough: How I Transformed My Developer Workflow with One Simple Change
](https://devtoys.io/2024/06/22/from-burnout-to-breakthrough-how-i-transformed-my-developer-workflow-with-one-simple-change/)
[Game of Purpose] Day 35
Tags: gamedev
Published: 2024-06-22 23:42:01

Today I figured out I can wrap my static mesh to be a Blueprint inside a StaticMeshActor Blueprint. I moved all the logic related to grande hit detection and explosion to a new BP_Granade Blueprint. When BP_Granade was a regular Actor the Physics Constraint would not work. Now it's working correctly.

My current problem is with instantiating new grande when the previous one exploded. Do I need to hold the static mesh in a variable?