teleren/devto huggingface dataset:
Speech Recognition using Arduino Nano 33
Tags: 100daysofcode, challenge, programming, tutorial
Published: 2023-02-14 16:57:56

Advances in AI have made voice available even for extremely resource-constrained devices, such as Arduino. 
On day 32, we’re going to add a voice assistant to Ardunio Nano 33 BLE Sense via [Picovoice SDK (https://picovoice.ai/docs/picovoice/). 

End of this tutorial, we'll enable Arduino to recognize voice commands such as
“Porcupine, make the red light blink eight times quickly.”

[Porcupine Wake Word](https://picovoice.ai/platform/porcupine/) detects the wake word `Porcupine`, then [Rhino Speech-to-Intent](https://picovoice.ai/platform/rhino/) determines the intent from the follow-up command (`make the red light blink eight times quickly`):

```
{ 
 “intent”: “blinkLight”, 
 “slots”: {  
  “color”: “red”
  “Iteration”: “8”
  “speed”: “quickly”
 }
}
```
Grab the [open-source code](https://create.arduino.cc/editor/dynamix91/7dae06f6-b827-4b20-ad00-b1558ae1b98c/preview) and try yourself:

1. Download the [project](https://create.arduino.cc/editor/dynamix91/7dae06f6-b827-4b20-ad00-b1558ae1b98c/preview) (both `Control_LED_Picovoice.in` and `param.h`).
2. Open the [Library Manager](https://www.arduino.cc/en/guide/libraries) in the Arduino IDE, search for the `Picovoice` package. 
3. Install `Picovoice` package.
4. Grab your `AccessKey`from [Picovoice Console](https://console.picovoice.ai/) for free.
5. Use the AccessKey you grabbed from the Console and run the below:
```
static const char* ACCESS_KEY = "${YOUR_ACCESSKEY}";
```
6. Open the serial monitor.
7. You will see the grammar for the context, describing all of the follow-on voice commands it understands.
8. Say, for example:
`“Picovoice, make red flash”`
9. Create a custom context model on the [Picovoice Console](http://picovoice.ai/console/). Picovoice Console is a web-based UI to design and train models easily for voice interactions that run on the Picovoice SDK. 
Now let's add the context model to a project. 10. Replace `CONTEXT_ARRAY` in the `param.h` file with the new context model by following the steps explained in the [Picovoice SDK for Arduino](https://picovoice.ai/docs/quick-start/picovoice-arduino/) documentation.
11. Update the `inference_callback` so that it takes appropriate actions (e.g., blinking a LED) once an intent is recognized.

![Inference Call Back Function](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0t1kfpzaji9izumgdocf.png)

Resources:

- [Picovoice documentation for microcontrollers](https://picovoice.ai/docs/api/picovoice-microcontroller/)
- [Picovoice SDK for Arduino documentation](https://picovoice.ai/docs/quick-start/picovoice-arduino/)
- [Picovoice Console](http://picovoice.ai/console/)
- [Source Code](https://create.arduino.cc/editor/dynamix91/7dae06f6-b827-4b20-ad00-b1558ae1b98c/preview)
- [Picovoice Platform GitHub Repository](https://github.com/Picovoice/picovoice)
Unresolved reference: editText
Published: 2023-02-14 16:47:47

hello, I've been searching for months and couldn't find any more results please can someone help?

my problem is this problem that we have seen in the code 

` fun collect(view: View){
        var number1 = editText.text.toStirng().toIntOrNull()
    }`

The editText part is red and it doesn't work even if I update gradle. What should I do?


The 'kotlin-android-extensions' Gradle plugin is deprecated. Please use this migration guide (https://goo.gle/kotlin-android-extensions-deprecation) to start working with View Binding (https://developer.android.com/topic/libraries/view-binding) and the 'kotlin-parcelize' plugin.

The 'kotlin-android-extensions' Gradle plugin is deprecated. Please use this migration guide (https://goo.gle/kotlin-android-extensions-deprecation) to start working with View Binding (https://developer.android.com/topic/libraries/view-binding) and the 'kotlin-parcelize' plugin.


Caused by: org.gradle.api.GradleException: Compilation error. See log for more details

sorry for my english have a good day
Main difference between 'do' and 'using' operators in DataWeave
Tags: dataweave, programming, mulesoft, discuss
Published: 2023-02-14 16:46:10

Which one would you use??

I wrote [this post](https://www.prostdev.com/post/dataweave-2-0-scopes-for-local-variables-using-vs-do-operators) with my own views and wider explanations, but I wanted to compile here the main difference in syntax.

## do

```dataweave
%dw 2.0
output application/json
var age = 21
---
{
  person: do { 
    var user = "Robin"
    var age = 5
    ---
    {
        name: user, 
        age: age
    }
  }
}
```

## using

```dataweave
%dw 2.0
output application/json
var age = 21
---
{
  person: using (user = "Robin", age = "5") { 
    name: user, 
    age: age
  }
}
```

---

Besides the fact that `using` is deprecated in DataWeave 2.0, I prefer to use `do` way more because of the syntax. For me it is more intuitive to know where to define local functions or variables. I think you can't define named functions with `using`, but you can create lambda expressions (which is a whole can of worms on its own!).

What do you think though?
Why are the API calls made in useEffet()?
Tags: react, javascript, webdev, programming
Published: 2023-02-14 16:33:06

In general, I see that API call operations are done in the useEffect hook in projects made with react. As a result of my research, I saw that API call operations are not recommended to be done in useEffect(). Why do developers make API calls in useEffect?

Where do you guys make the API calls?
Understanding Arrays
Published: 2023-02-14 16:28:47

To create an array 

const = arrayName = [];


To add items to an array, you can use the .push 

myToDoList.push(todoA, todoB);

alternatively you could do 
myToDoList.push(todoA);
myToDoList.push(todoB);
myToDoList.push(todoc);

to return the last item 

console.log(myToDoList.[myTodoList.length-1])

to remove the last item

myToDoList.pop();
Look into Telegram username auction
Published: 2023-02-14 16:17:50

Telegram has started an auction on short usernames on the TON blockchain. Here’s a good explanation of the historical context of the TON blockchain. For those who don’t know, initially, TON was developed by Telegram, and there were plans to do ICO, but SEC intervened, and Telegram was forced to “distance” itself from the project, but here we are, and TON is part of the in-app experience.


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

   
-  You can see the auction here.

## What’s going on with the top 200

There are some outliers that I excluded to be able to plot the majority of auctions.

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



    Most of the usernames are being sold between 755$ and 1000$.

If we plot all of the bids on a single line:

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


We can see that some usernames go for up to a million.

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


It’s interesting to see how the most popular usernames are related to existing brands. It’s not surprising, though, if you know the economics of domain name prices. A more accessible and catchier domain name makes it easy to discover/remember your website. Website visits translate into $ pretty quickly.

Not sure if official brands are buying Telegram usernames or if those are speculators trying to flip a famous brand’s name, or if someone with a lot of TON does it for some other purpose (for fun?).

The auction has been enough to generate a price movement on TON, although it was much less than in November 2021.

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


## What’s the bigger picture?

Telegram has 700 million users, and Twitter has 230 million.

Telegram distills the social network model of FB to the bare minimum, a communication channel between people. Now that it has a vast reach, it monetizes using standard internet practices. It has a payment system supported by TON, sells addresses to companies or individuals, adds facilities to manage large channels, allows the publication of different types of content, and has voice chat … You get the point.
Finding the Lowest Price For Cryptocurrency Exchange Development: Beginner’s Guide
Published: 2023-02-14 16:12:26

As a beginner in cryptocurrency, it can take time to figure out where to start when it comes to finding the lowest price for [cryptocurrency exchange development](https://www.pyramidions.com/cryptocurrency-exchange-development-company). Here are some of the tips to help you get started:

**1. Research different development companies:** Look for companies that specialize in developing cryptocurrency exchanges and compare their prices.
**2. Use a cost calculator:** Many development companies offer cost calculators on their websites, which can estimate the cost of developing your exchange.
**3. Look for open-source solutions:** Open-source solutions are often cheaper than proprietary software, as they don't require licensing fees.
**4. Consider using a white-label solution:** A white-label solution is a pre-built exchange platform that can be customized to suit your needs. This can be a cost-effective option, as the development work has already been done.
**5. Get a quote:** Contact a few development companies and ask for a quote. Provide them with as much data as possible about your project so they can give you an accurate estimate.
**6. Compare the prices and services:** Once you have quotes from several companies, compare the prices and services they offer to find the best deal.
**7. Location of the company:** Development companies in countries with a lower cost of living will have lower rates, which can help lower the development cost.

Keep in mind that the cheapest option may only sometimes be the best. It's essential to carefully consider the reputation and experience of the development company before making a decision. It's also notable that the cost of cryptocurrency exchange development can vary depending on the features and complexity of the exchange you want to create. However, by following these tips, you can get a better idea of how much it will cost to develop your exchange and find a price that works for you.
Open source or not?
Tags: webdev, opensource, help, discuss
Published: 2023-02-14 16:04:01

I have a website called [Discipulis](https://discipulis.vulcanwm.repl.co) which is made to help educate students about Latin and has quizzes so students can improve their Latin skills.

For now, the GitHub repo is *private*. I want to make it open source so people can contribute to the repo, but I'm scared someone will copy my code and make it their own and copy my project.

**Should I make it open source or not?**
JavaScript Object Destructuring
Tags: javascript, beginners, webdev, programming
Published: 2023-02-14 14:16:04

Lets Dive straight right into it

![gif](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9ewqjxncftvctu8p13eq.gif)
-------
JavaScript object destructuring is a powerful feature that allows developers to extract specific values from objects and assign them to variables. This feature was introduced in ECMAScript 6 (ES6) and has become increasingly popular in modern JavaScript development.

Object destructuring works by using a new syntax to extract values from an object. Consider the following object:
```javascript
const person = { 
  name: 'John',
  age: 30,
  location: 'New York'
};
```
-----
To extract specific values from this object using destructuring, we can use the following syntax:

```Javascript
const { name, age } = person;
```
This syntax creates two new variables, name and age, and assigns them the values of person.name and person.age, respectively. We can then use these variables elsewhere in our code.

-----
Another Example Would be
```javascript
const user = {
    name: 'Andrew',
    age: 27,
    location: 'Philadelphia'
   }
   // The line below uses destructuring
   const { age, location:address } = user
   console.log(age)
   console.log(address)

``` 
You might have been using this syntax and you don't know what its called🤦‍♀️ Now You KNOW😎😎
-----
-----
Down below😁😁 Lies the advantages of Object destructuring
 *Concise syntax: Object destructuring allows developers to extract specific values from objects and assign them to variables using a concise and readable syntax. This reduces the amount of code needed to perform the same operation compared to traditional methods.
 *Improved readability: Destructuring can make code more readable by clearly defining what properties are being used in a particular context. This makes it easier for other developers to understand the code and its purpose.
 *Increased modularity: By extracting specific values from an object and assigning them to variables, developers can create more modular code. This allows for better reuse of code and reduces the risk of introducing errors when modifying existing code.
 *Default values: Object destructuring allows for the use of default values, making code more robust and less prone to errors. This is especially useful when working with data that may have missing or undefined properties.
 *Nested objects: Destructuring can be used to extract values from nested objects, making it easier to work with complex data structures.
 *Simplified parameter passing: Object destructuring can be used to extract values from objects when passing function parameters. This allows developers to pass in only the necessary values, making code more efficient and easier to maintain.

Overall, object destructuring is a powerful feature that can simplify and improve code in many ways, making it an essential tool for modern JavaScript developers.😘😘
Automatização de Processos de Negócio
Tags: software, bpmn, modelling
Published: 2023-02-14 15:57:09


## Definições
Processo é um conjunto de atividades estruturadas e ordenadas que resultam em um produto ou serviço de determinado valor para um grupo de clientes.
O Processo de Negócio é a forma como uma empresa se organiza internamente para atingir seus objetivos e conseguir oferecer um produto ou serviço de qualidade.
A automatização de processos é  aplicação de uma série de regras ao longo de processos, de forma que tarefas manuais sejam executadas por um software. 

## Passos para Automatização de Processo
- Levantamento de Requisitos;
- Desenho do processo manual;
- Desenho do processo automatizado;
- Implementação.

## Observação
Cada instituição possui um ou muitos processos de negócio principais, que a diferencia de outras instituições da mesma área de actuação. Inicialmente é muito comum interpretarmos que um processo de negócio que se adapta a todas instituições do mesmo ramo. 
Na implementação de um Software, esta interpretação pode resultar em retrabalho e perdas financeiras, na necessidade alteração de um detalhe no processo idealizado.

## Sugestão
Para esses casos, é recomendado levantar os requisitos exaustivamente para entender as acções executadas por cada funcionário envolvido num processo.

## Exemplo
Representação do processo de Inscrição para o Exame de Acesso para a Universidade. 

**Ferramenta:** Astah Professional


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


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


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




Exemplo
Representação do processo de Inscrição para o Exame de Acesso para a Universidade. 

Ferramenta: Astah Professional
¿CSS o StyleSheet en react native?
Tags: reactnative, css, programming, tutorial
Published: 2023-02-14 15:52:13

React Native es una popular plataforma de desarrollo de aplicaciones móviles que permite a los desarrolladores crear aplicaciones nativas para iOS y Android utilizando JavaScript y React. Pero, ¿cómo estilizamos nuestra aplicación en React Native? ¿Deberíamos utilizar CSS o StyleSheet?

Ambos CSS y StyleSheet tienen sus pros y contras, y la elección depende de tus preferencias personales y de las necesidades de tu aplicación.

CSS (Cascading Style Sheets) es un lenguaje de estilo que se utiliza ampliamente en el desarrollo web. Con CSS, puedes definir estilos para tu aplicación que se apliquen a todas las páginas o componentes que los utilicen.

Sin embargo, en React Native, CSS no funciona de la misma manera que en el desarrollo web. React Native no admite todas las propiedades de CSS y algunas propiedades funcionan de manera diferente en React Native en comparación con el desarrollo web.

Por otro lado, StyleSheet es una API nativa de React Native que permite a los desarrolladores definir estilos para sus aplicaciones móviles. StyleSheet es más eficiente y optimizado para aplicaciones móviles que CSS y también ofrece una mayor flexibilidad en cuanto a la personalización y la gestión de estilos.

Además, StyleSheet es más rápido y eficiente en comparación con CSS, ya que los estilos se compilan directamente en la aplicación móvil en lugar de ser descargados desde un servidor web. Esto significa que los estilos se cargan más rápido y no dependen de una conexión a Internet para funcionar.

En resumen, si estás familiarizado con CSS y prefieres utilizarlo, puedes hacerlo en React Native, pero es importante tener en cuenta que algunas propiedades y comportamientos pueden diferir. Si prefieres una solución nativa y optimizada para aplicaciones móviles, StyleSheet es una buena opción.

En última instancia, la elección depende de tus preferencias personales y de las necesidades de tu aplicación. Ambos CSS y StyleSheet tienen sus pros y contras, y la elección correcta depende de tus objetivos.
Right time to get AWS cloud certified, with 50% savings ($150) on Professional Certifications
Tags: aws, certifications, devops, solutionarchitect
Published: 2023-02-14 15:43:18

For those, who were waiting to get AWS certification, But worrying about its price, Here's a chance to save **$150** using the discount voucher,


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

What actually it is:
 AWS gives some discounts for all the aspirants who are planning to advance their career by obtaining a cloud certification, 
 AWS is conducting a Professional Challenge (so called), for their promotion as well as to grab the users towards the services AWS provides.

 So, Here is how to get the discount vouchers,

• click on this link that takes you to the Registration page of AWS Professional Challenge [Link](https://bit.ly/awssapro23)
• This Voucher is valid on the below 2 professional certifications,
1.AWS CERTIFIED SOLUTIONS ARCHITECT - PROFESSIONAL
2.AWS CERTIFIED DEVOPS ENGINEER - PROFESSIONAL

Although, These professional certificates doesn't require you to be having an Associate level certificate (**Not Mandatory**), but it is good to start with the associate level/Foundational level certificate before attending the professional cert exams

• [AWS Certified DevOps Engineer - Professional Exam Guide](https://d1.awsstatic.com/training-and-certification/docs-devops-pro/AWS-Certified-DevOps-Engineer-Professional_Exam-Guide.pdf) : 
• [AWS Certified Solutions Architect - Professional Exam Guide ](https://d1.awsstatic.com/training-and-certification/docs-sa-pro/AWS-Certified-Solutions-Architect-Professional_Exam-Guide.pdf): 
  

As you might aware , these professional certifications are not easy to pass, AWS recommends you to should be having experience in the following (**But Not Mandatory**)

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


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



**But Wait !**, No need to worry if you do not have relevant experience,
As AWS provides many resources that help to get hands on experience to AWS services,

Here are some great resources, that can help you with hands on experience as well as to prepare you to the exam,

🔸 [skillbuilder.aws](https://explore.skillbuilder.aws/learn) over 500+ digital free training courses
🔸 [developer.aws](https://aws.amazon.com/developer/) explore hands-on tutorials and events
🔸 [repost.aws](https://repost.aws/) ask technical questions and get help from experts
🔸 [workshops.aws](https://workshops.aws/) over 100+ detailed free workshops and immersion days

Happy Learning! :)
JavaScript Hearts: Input a user Message
Tags: css, javascript, tutorial
Published: 2023-02-14 15:07:00


 Remember those Valentine's Candy Conversation hearts? For this project I'm recreating them using vanilla JavaScript and CSS. 
Last year I added pre-made messages from a list. This time I'll show how to use user input to create a message.

I'll use the same CSS heart from the original post. I'll changed the background to purple on the user input version.

## Draw a heart 

If we're going to write on a heart we need to build the heart first. This is made with some basic shapes, a square and two circles. To make a CSS Circle you make a square and give it a border radius of 50%. 

I added borders so you can see the individual shapes.


![A heart made to two overlapping circles on a square that rotated 45 degrees.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9j8fe71imd5oabefy3re.jpg)


```css
/* The circles */
.bigheart:before, .bigheart:after {
	position: absolute;
	background-color: var(--heart-red);
	width: 400px;
	height: 400px;
	content: '';
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}

/* moving the circles */
.bigheart:before {
	bottom: 0;
	left: -200;
}

.bigheart:after {
	top: -200px;
	right: 0;
}

/*Rotate the whole thing */

.bigheart {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

```


Once the shapes are made, `transform: rotate(45deg)` turns the heart so the point is straight down. A drop shadow is added to make the heart standout from the background.
 

![heart on purple background. Next to it is a box that says enter messages.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/31g5c7mu1hy1mqggo3d4.jpg)

## The Messages

I used an input box for a user to enter a message. It appears on screen as a user types. The ID of heart is targeted using `getElementById`.

```HTML
<div class="login-screen">
<h1>"Hello There!"</h1>
<input placeholder="Enter a message." name="message" />
</div>

.
.
.
<!-- Messages displays Here -->
<div class="quote-screen" id="heart">

```


```Javascript
const input = document.querySelector('input');
const enteredInput = document.getElementById('heart');

input.addEventListener('input', userMessage);

function userMessage(e) {
  enteredInput.textContent = e.target.value;
}

```


![Heart with text "git commit myself to you"](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hc0aejgxtwpxk4u35wqh.jpg)

## Wrap-up
This was silly and not practical. The biggest problem I had was I forgot to add display to the heart CSS. So the text was not on screen.