teleren/devto huggingface dataset:
nephews — human tech support
Tags: twiliohackathon, digitaldivide, sms, voice
Published: 2020-04-29 13:48:25

## What I built

In a society where communication is increasingly happening online, the elderly and other communities with low tech literacy can feel isolated, especially in times of confinement. Some have relatives in their households that can help them solve basic problems, but others don't. Introducing **nephews**.

[![View Promo Video](https://i.imgur.com/MxJaMlo.jpg)](https://youtu.be/L4_p0aZ66hQ)

1. A user dials the **nephews** number
2. The user is asked to explain their problem and their message gets transcribed
3. The transcription is used to select potential volunteers by topic
4. Selected volunteers are notified by SMS and can review the recorded message to decide if they can help
5. When a volunteer confirms their availability, a new call is created between them and the user

#### Category Submission:

COVID-19 Communications

## Demo Link:

[nephews.tech](https://nephews.tech/)

## Link to Code:

[newphews on GitHub](https://github.com/JuanIrache/nephews)

## How I built it

The core idea behind this project is to make use of new technologies to help people that struggle with them: On the user end, this is just a classic phone number. All the magic is done by the server and Twilio, leaving an also minimalist workflow for volunteers on the other end.

I thought implementing voice and SMS services would be too challenging for a quick project, but here's a functioning prototype!

The back end runs on [Node.js](https://nodejs.org/). The server code is [Express.js](https://expressjs.com/). Communications with a [MongoDB](https://www.mongodb.com/) database happen through [Mongoose](https://mongoosejs.com/). Custom code handles [Twilio](https://www.twilio.com/)'s SMS and Voice APIs. [SMS](https://www.twilio.com/docs/sms) is used for action confirmation (validate or delete account, confirm availability for calls). [Voice](https://www.twilio.com/docs/voice) is involved in handling incoming calls, recording and transcribing questions and starting new calls between both parties (users and volunteers). The front end is [React](https://reactjs.org/) with [SCSS](https://sass-lang.com/) styles.

Down the line, it will be exciting to improve the topic and language filtering code using vocabulary APIs and even machine learning techniques.

## How to try the service

- Go to [nephews.tech](https://nephews.tech), click on **I want to help** to create a volunteer account
- Have a different person go to **I need help with technology** instead and make a phone call
- Review the call content on your phone and **confirm** the call to start a conversation

## Welcome message

[Listen to it here](https://nephews.tech/welcome.mp3)

## Screenshots

![Landing page](https://i.imgur.com/Bxaq7f2.png)
![User section](https://i.imgur.com/n2Ad2Qv.png)
![Volunteer section](https://i.imgur.com/kVmO6mb.png)
![Validation and confirmation SMS](https://i.imgur.com/5t5i2wc.jpg)
![Call review and confirmation](https://i.imgur.com/EDH3hwU.jpg)

## Promo video

[See it on YouTube](https://youtu.be/L4_p0aZ66hQ)
FreeNAS 11.3 upgrade issues
Tags: freebsd, freenas, rollback, jail
Published: 2020-04-29 13:41:02

---
title: FreeNAS 11.3 upgrade issues
published: true
description: How to roll back to a previous version
tags: freebsd, freenas, rollback, jail
---

I have an interesting experience with the latest upgrade of FreeNAS 11.3-U2.1. Applications that were deployed in the jail were gone. After fiddling with iocage (the tool that FreeNAS provides to manage jails) I could restore a previous state where all seems fine and dandy.

## Steps to restore

- list of snapshots

```bash
iocage snaplist tr -l
+-------------------------------------------------------------------------+-----------------------+-------+-------+
|                                  NAME                                   |        CREATED        | RSIZE | USED  |
+=========================================================================+=======================+=======+=======+
| fux/iocage/jails/tr/root@ioc_plugin_update_2020-04-29                   | Wed Apr 29 14:55 2020 | 799G  | 11.6K |
+-------------------------------------------------------------------------+-----------------------+-------+-------+
| fux/iocage/jails/tr/root@ioc_update_11.3-RELEASE-p8_2020-04-29_14-55-07 | Wed Apr 29 14:55 2020 | 799G  | 575K  |
+-------------------------------------------------------------------------+-----------------------+-------+-------+
| fux/iocage/jails/tr/root@ioc_update_11.3-RELEASE-p8_2020-04-29_14-55-22 | Wed Apr 29 14:55 2020 | 799G  | 11.6K |
+-------------------------------------------------------------------------+-----------------------+-------+-------+
| fux/iocage/jails/tr@ioc_plugin_update_2020-04-29                        | Wed Apr 29 14:55 2020 | 517K  | 81.4K |
+-------------------------------------------------------------------------+-----------------------+-------+-------+
| fux/iocage/jails/tr@ioc_update_11.3-RELEASE-p8_2020-04-29_14-55-07      | Wed Apr 29 14:55 2020 | 517K  | 81.4K |
+-------------------------------------------------------------------------+-----------------------+-------+-------+
| fux/iocage/jails/tr@ioc_update_11.3-RELEASE-p8_2020-04-29_14-55-22      | Wed Apr 29 14:55 2020 | 517K  | 81.4K |
+-------------------------------------------------------------------------+-----------------------+-------+-------+
```

- stop the jail

```bash
root@freenas[~]# iocage stop tr
* Stopping tr
  + Executing prestop OK
  + Stopping services OK
  + Tearing down VNET OK
  + Removing devfs_ruleset: 5 OK
  + Removing jail process OK
  + Executing poststop OK
```

- rollback

```bash
root@freenas[~]# iocage rollback tr -n ioc_update_11.3-RELEASE-p8_2020-04-29_14-55-07

This will destroy ALL data created including ALL snapshots taken after the snapshot ioc_update_11.3-RELEASE-p8_2020-04-29_14-55-07

Are you sure? [y/N]: y
Rolled back to: fux/iocage/jails/tr
```

- start the jail

```bash
root@freenas[~]# iocage start tr
No default gateway found for ipv6.
* Starting tr
  + Started OK
  + Using devfs_ruleset: 5
  + Configuring VNET OK
  + Using IP options: vnet
  + Starting services OK
  + Executing poststart OK
  + DHCP Address: 192.168.1.111/24
```

And we are back.
33: What to Know, and What to Do. 
Tags: javascript, webdev
Published: 2020-04-29 13:40:53

I researched a lot, What the programmers do is solving the problems, this means, I need to know what I think clearly and specify with NUMBERS in order to reach out communicating to the computer. 

The point is knowing what I don't know, and keep facing to figure out. 

---

####*SO, IT IS TOTALLY FINE WITHOUT THE CS DEGREE, BOOTCAMP, ANYTHING ELSE.*
Once I can get comfortable with this system, everything is going to be alright, I believe everyone can code, and right for solving their problems. *I love coding*!!!

--- 
####*I WANT TO BE WITH MYSELF, AND VALUE HOW I SOLVED THE PROBLEM ALTHOUGH IT IS FALSE, THE PROCESS MATTERS, AND KEEP CHALLENGING*
--- 
What we know is not the truth, it is an opinion, and we can make our opinion political, informative, or that is up to the purpose.

---
##**I LOVED ENJOYING TO KNOW ABOUT COMPUTER SCIENCE** 
The fact is that everything changes as time goes by, it might not be true what I know, the typical stereotypes toward queers. I am visible!  

I was confused about what to focus on, and what I have to do, the priority was getting blurred and got overwhelmed by over information, sometimes, it is good to switch off and DANCE? Nope, focusing on the essence. For me, this is about making mathematical programming and make my intuition reason with the correct order for my computer! 

---
##**LET ME BACK TO MATH BABY**
Math is every corner of our lives, and, the core never changed, how? The computer is drawn by mathematics, the computer language is not necessarily useful to study, once, I can clarify the solution, then choose to interpret the language, it can be Python, JavaScript, and whatever, it is free to choose, just enjoy coding then! :)
Twilio Hackathon - Day 3 Part 1
Tags: twiliohackathon
Published: 2020-04-29 13:39:11

[Comment]: I had to take yesterday off due to some college admissions stuff that I was dealing with! However, I have a plan for these next two days. The first step is going to be rewriting some of my main react components to work better for my application

#### What I built
An Omegle type product for first and second-degree friends in order to facilitate more spontaneous conversations 

#### Category Submission: 
Covid19 Communications

#### How I built it (what's the stack? did I run into issues or discover something new along the way?)
- Firebase Auth
- Firebase DB
- Twilio Video
- React & Material UI
- Python & Flask for Video API
Welcome Thread - v71
Tags: welcome
Published: 2020-04-29 13:28:12

---
title: Welcome Thread - v71
published: true
description: Welcome to DEV! A thread of hellos and intros.
tags: welcome
---

![wavy hello](https://media.giphy.com/media/5aY7BIL8PoLL9nwa3p/giphy.gif)

### Welcome to DEV!

1. Leave a comment below to introduce yourself! You can talk about what brought you here, what you're learning, or just a fun fact about yourself.

2. Reply to someone's comment, either with a question or just a hello. 👋 

**Great to have you in the community!**
Redirect to external API, using response entity returned for rest api spring boot
Published: 2020-04-29 13:18:13

I made changes in angular js , but when I made them live most of users are getting old code still , but when I change the backend(spring apis) it is reflected to users immediately.
So i decided to write my logic in backend, Now I am trying to redirect a user to external link from my rest api when user clicks button, Rest API returns ResponseEntity, Please let me know how to do this ? i tried setting up httpHeader location but it is not working. 
Please help
Angular js and spring changes are not shown in live server.
Tags: spring, angular, cache
Published: 2020-04-29 13:15:06

Hello Guyz,
I am stuck in problem, so basically I was working on campaign page which is made in spring and angular js, so I have made the changes in angular js code, when I made it live, some of our users are using the new code while 80% of users are using the old code and old code has api that I removed in new code so that API doesnot exist in new code, but I am still getting logs of that API,
I have researched alot done all the things that happens in these type of cases( especially cache related problem done those all )...Please help me with this.
Daily Challenge #234 - Happy Birthday!
Tags: challenge
Published: 2020-04-29 13:10:00

---
title: Daily Challenge #234 - Happy Birthday!
published: true
series: Daily Challenge
description: You're always 20 with this math trick.
tags: challenge
---
It can be really uncomfortable to talk about your age when you get older. Sometimes you just want to be twenty again! Well, with some math magic that's totally possible - just select the correct number base. For example, if they are turning 32, that's 20 in base 16! 

Translate the given age to the desired 20 or 21 years, and indicate the number base, in the format specified below.

Note: input will be always > 21

Examples:
32  -->  "20, in base 16"
39  -->  "21, in base 19"

Tests:
a, b; where a is the age of the person, b is the desired age.
50, 20
50, 21
43, 20
66, 21

***
_This [challenge](https://www.codewars.com/kata/5e96332d18ac870032eb735f) comes from anter69 on CodeWars. Thank you to [CodeWars](<https://codewars.com/>), who has licensed redistribution of this challenge under the [2-Clause BSD License](<https://opensource.org/licenses/BSD-2-Clause>)!_

_Want to propose a challenge idea for a future post?  Email **yo+challenge@dev.to** with your suggestions!_
The biggest mistake you can make when designing an api
Tags: webdev, serverless
Published: 2020-04-29 13:09:11

This is just a quick tip for everybody currently designing an api.

I have seen something like that very very often:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/z94mgsbv3cx2q7bss4ph.png)

Always return something like that instead:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/z5xupwye1va40mqcdsdl.png)

The reason is pretty simple. While you can easily iterate over the object keys in dynamically types languages like javascript, it's not that easily doable in statically typed languages. For example when consuming such an api in c#, you want to serialize the response directly in instances of classes that you already defined. Dynamic keys are the worst for that.

So please please please, never use dynamic keys in an api.
How to check if a JavaScript array contains a specific value 🤔
Tags: javascript, node, webdev, beginners
Published: 2020-04-29 12:55:31

---
title: How to check if a JavaScript array contains a specific value 🤔
published: true
description: Given a JavaScript Array, how could we verify if it contains a specific element?
tags: #javascript, #node, #webdev, #beginners
---

If this is possible and is very easy to do in Javascript, for this we will use the includes () method  
# method includes()  
Given a array, the includes () method determines if a specific element is found in that array, in the case that this element is found to be true and in the case that it is not, it would return false.
# For example:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ug03cw2rws0z39e6qutx.png)
#Thanks
If the article you liked or you found interesting, please help me with 👏 🤓 You can follow me on Twitter or find me on GitHub by visiting my website.
Python Functions
Tags: python, webdev, beginners, tutorial
Published: 2020-04-29 12:54:35

Functions play most of the important parts in a programming language they are a block of subprograms to execute a specific task.

Declaration of function: use def the keyword before declaring function name
```python
def new_func():
    print("Called new_func() method")

new_func() #Calling function

#PYTHON OUTPUT
Called new_func() method
```
> Note: You should declare function before calling else will give error `name 'new_func' is not defined`
```python
new_func()

def new_func():
    print("Called new_func() method")

#PYTHON ERROR OUTPUT 
NameError: name 'new_func' is not defined
```
Function Parameters

For processing complex data or to supply required values for the function to process data, we must supply  
parameters. The parameters may be string, primitive data types, objects or dictionary, list, tuples etc can be considered as parameters.

Note: Parameter is also called arguments.

In the below examples, we'll be using `return` keyword inside at the end of the function.

`return` is a statement returns the processed data from the function. It may be of any type.

Some examples related to function parameters.

Functions without parameter and with return values.
```python
def new_func():
    return 15

a = new_func()

print(a)

#PYTHON OUTPUT 
15
```
Function with parameters and return value
```python
def new_func(a,b):
    return a+b

a=15
b=3
k = new_func(a,b)

print(k)

#PYTHON OUTPUT 
18
```
Function with parameters and no return value
```python
def new_func(a,b):
    k = a+b
    print(k)

a=15
b=3
new_func(a,b)

#PYTHON OUTPUT 
18
```
Function with no parameters and return value
```python
def new_func():
    k = 12*2
    print(k)

new_func()

#PYTHON OUTPUT 
24
```
Function with default parameter.
```python
def fruits(name="Apple"):
    print(name)

fruits()
fruits("Orange")

#PYTHON OUTPUT 
Apple
Orange    
```
Recursive Functions

Recursion is a process of calling a function inside it repeatedly until the given condition is True.

To print even numbers
```python
def even(n, i):
    if i%2==0:
        print('{} is a even number \n '.format(i))
    
    if i<=n:
        i+=1
        return even(n,i)
    else:
        return 0

even(10,1)

#PYTHON OUTPUT
2 is a even number

4 is a even number

6 is a even number

8 is a even number

10 is a even number
```
You can find [complete post here](http://thecodelearners.com/python-functions/)
Laravel Notifications - create your custom notification channel
Tags: php, laravel
Published: 2020-04-29 12:45:10

Hello community!  

In this post I want to share how I created a custom Notification channel to handle SMS notifications via Twilio Programmable SMS product.

This article is not a tutorial about integrating Twilio with Laravel, so I assume you've already installed [Twilio PHP Helper Library](https://www.twilio.com/docs/libraries/php) and setup all necessary configurations (SID, Token, From Number etc.).  

### The SMS definition

First of all, I want to describe the definition of SMS in my code. For that, we need just two things - recipient and content.

```php
namespace App\Notifications\Messages;

class SmsMessage
{
    /**
     * @var string
     */
    private string $_recipient;
    
    /**
     * @var string
     */
    private string $_content;

    /**
     * @return string
     */
    public function getRecipient(): string
    {
        return $this->_recipient;
    }

    /**
     * @param string $recipient
     * @return $this
     */
    public function setRecipient(string $recipient): SmsMessage
    {
        $this->_recipient = $recipient;
        return $this;
    }

    /**
     * @return string
     */
    public function getContent(): string
    {
        return $this->_content;
    }

    /**
     * @param string $content
     * @return $this
     */
    public function setContent(string $content): SmsMessage
    {
        $this->_content = $content;
        return $this;
    }
}
```
This is a simple value object, that has a general purpose - type safety.

### The Channel

Now I'm creating a notification channel, that has a single responsibility - send the SMS message.

```php
namespace App\Channels;

use App\Services;
use App\Notifications\Messages\SmsMessage;
use Illuminate\Notifications\Notification;

class TwilioSms
{
    /**
     * @param $notifiable
     * @param Notification $notification
     * @throws \Twilio\Exceptions\TwilioException
     */
    public function send($notifiable, Notification $notification)
    {
        $message = $notification->toTwilioSms($notifiable);

        (new Services\TwilioSms())->sendSms(
            $message->getRecipient(),
            $message->getContent()
        );
    }
}
```
You've probably noticed the `Services\TwilioSms` class. It's just a wrapper that I've created to interact with Twilio SDK. 
You can find it here - https://github.com/c0d3b0t/twilio-sms-client

### The Notification

Finally I've defined the `via` and `toTwilioSms` methods in my Notification class.  

```php
/**
 * Get the notification's delivery channels.
 *
 * @param  mixed  $notifiable
 * @return array
 */
public function via($notifiable)
{
    return [\App\Channels\TwilioSms::class];
}

/**
 * @param $notifiable
 * @return SmsMessage
 */
public function toTwilioSms($notifiable): SmsMessage
{
    return (new SmsMessage())
        ->setContent("Whatever message you need.")
        ->setRecipient($notifiable->phone);
}
```

That's all! 

### Summary

This code is running on PHP 7.4 version (due to typed properties).  

Thanks for reading! Happy coding :)
I built delivery medication app to fight COVID19 
Tags: twiliohackathon, node, typescript, javascript
Published: 2020-04-29 12:22:50

[Comment]: # (All of this is placeholder text. Use this format or any other format of your choosing to best describe your project.)

[Reminder]: # (Make sure you've submitted the Twilio CodeExchange agreement: https://ahoy.twilio.com/code-exchange-community)

[Important]: # (By making a submission, you agree to the competition's terms: https://www.twilio.com/legal/twilio-dev-hackathon-terms)


## What I built

I build *pharmaappp* to connect people and drugstores nearby. At this pandemic most of countries are on lock down, so this app can help peoples to get there medications delivered to home without going out and risk there life to COVID19. You can give it a [shot here] (https://pharmaappp.herokuapp.com/) for more detail see the next section.

#### Category Submission:
Health care

## Demo Link
[https://pharmaappp.herokuapp.com](https://pharmaappp.herokuapp.com)

## Link to Code
[https://github.com/siemah/pharmapp](https://github.com/siemah/pharmapp)

## How I built it (what's the stack? did I run into issues or discover something new along the way?)
I used typescript, node, expressjs, mysql and twilio sms.


## Additional Resources/Info
For more details visit [github repos](https://github.com/siemah/pharmapp)

```javascript
console.warn('Sorry for my english');
```
TimeTrackGo - FREE and super simple, ready-to-go time tracking webapp
Tags: sideprojects
Published: 2020-04-29 12:15:16

Hi sidefriends,

during my freetime caused by corona I created a time tracking webapp /app for all of you homeoffice dudes.

TimtrackGO is a ready to GO time tracking web app but is also available as an app.

That means you just call www.timetrackgo.com and start with your stamps.

Read more in https://www.producthunt.com/posts/timetrackgo
Modules (Random)  PYTHON3
Tags: python
Published: 2020-04-29 12:10:53


Modules are pieces of code that other people have written to fulfill common tasks, such as generating random numbers, performing mathematical operations, etc.


# random selects random numbers in this case 1-20
import random
for i in range(20):
        value = random.randint(1,20)
        print(value)
Technology Blog Best Tech Blog Site
Tags: Technology, Blog, Tech
Published: 2020-04-29 07:53:51

As you can say I like the term beloved. It only has a good ring to it. It evokes something lovely, gentle, protective and captivating to me. But when writing the piece, I wanted to share with you why the word means a lot to me by identifying the next two. I googled that period and that is how Google defines it- dearly enjoyed <a href="https://bloggerali.com/money-exchange">BloggerAli</a>

Good piece, with really good intent! Most science articles would really be rather dense to the general public, yet if one were to limit oneself only to the abstract or to the beginning or to the decisions! To the smaller degree that is because scientists publish their research papers for different scientists and not for the general public. But generally, that is because of the world of discipline itself. We are some centuries deep into the technological revolution, that low-hanging fruits have been eaten, and the questions that field works today are, mostly, not set in day-to-day contexts. But rather in very abstract circumstances that need years of technical education to see. Very often, these circumstances have their own knowledge— that is especially true in academic areas, such as some of physics or computer science or of course sciences.https://bloggerali.com/

Really good piece. So good it had me goosebumps thinking about Curtis ’ bad experience. Yet, it lacked a little of specificity. You seem to learn about his time, so “ Love can pull us apart again ” and then conclude by talking about stranger joy. It’s great when articles loop back to their starting arguments or beliefs to help what they're saying like the round, but yours seemed to simply come in a line. Despite that, I understand that message. Fables like Curtis deserve to be recognized: https://techtunes.in/
React i18next:backendConnector: loading namespace 'filename' for language 'en' failed failed loading locales/en/filename.json
Tags: react, i18next, webpack, json
Published: 2020-04-29 12:06:37

When webpack is not configured to copy translation files from 'public' folder containing 'locales' files to build folder, in browser console we can see above console warnings, which eventually leads to 'missingKey' translation error.

The solution for above issue is to add copy plugin in webpack.config.js


First install package.

npm i copy-webpack-plugin --save-dev

Change webpack.config.js

...
const CopyWebpackPlugin = require('copy-webpack-plugin');
...

 plugins: [
            new HtmlWebpackPlugin({
                template: './index.html',
            }),
            ...,
            new CopyWebpackPlugin([{ from: 'public/locales', to: 'locales' }]),
        ],

when you next time start webpack dev server the warnings should be gone and i18next should work fine.