teleren/devto huggingface dataset:
Just started the OSDC course
Tags: perl, osdc
Published: 2023-01-25 17:15:37

So, yesterday a few of us started the **13 week** course with @szabgab 

i think we've all _used_ GitHub before for work - perhaps in much smaller dev groups or even solo. Personally, I'm hoping to pickup a few tips on how to use it in Open Source and make sure i play nicely with others.
10 Cursos Gratuitos no freeCodeCamp
Published: 2023-01-25 16:48:03

Olá, sou voluntário do freeCodeCamp e faz um tempo que venho conhecendo vários recursos da organização.

Hoje venho compartilhar cursos gratuitos, com certificações, que a plataforma oferece para desenvolvedores de todos os níveis:

1. Responsive Web Design
https://lnkd.in/drV2vGsV
Você aprenderá as linguagens usadas para criar páginas Web: HTML para conteúdo e CSS para design.

2. Algoritmos e Estruturas de Dados em JavaScript
https://lnkd.in/dUFitUJb
Você aprenderá os fundamentos do JavaScript, como variáveis, arrays, objetos, loops e funções.

3. Aprendendo a usar bibliotecas no Front-end
https://lnkd.in/dzyaWgGz
Você aprenderá como adicionar lógica aos seus estilos CSS, além de aprender como usar Bootstrap.

4. Visualização de Dados
https://lnkd.in/dcaQJDUC
Construirá gráficos, gráficos e mapas para apresentar diferentes tipos de dados com a biblioteca D3.js. Além de aprender sobre JSON e como trabalhar com dados online usando APIs.

5. Banco de Dados Relacional
https://lnkd.in/dakCTfqH
Aprendendo a trabalhar com PostgreSQL e SQL. Tem um pouco de Git, o sistema de controle de versão, uma ferramenta essencial para todo mundo que desenvolve!

6. Aprendendo sobre o funcionamento do Back-end e APIs
https://lnkd.in/dNwPHSUW
Neste curso aprenderá a escrever aplicativos back-end com Node.js e npm. Tem algumas atividades para mexer com o framework Express e construirá um microserviço com MongoDB.

7. Quality Assurance (QA)
https://lnkd.in/dGhSF8QJ
Você aprenderá a escrever testes e conceitos avançados de Node e Express.

8. Computação Científica com Python
https://lnkd.in/dASAvhpq
Você aprenderá os fundamentos de Python, como variáveis, loops, condicionais e funções. Recomendo muito para quem quer aprender esta linguagem!

9. Análise de Dados com Python
https://lnkd.in/dTxNN8bg
Você aprenderá análise de dados com Python, usando bibliotecas como Numpy, Pandas, Matplotlib e Seaborn para processamento e visualização de dados.

10. Segurança de Informação
https://lnkd.in/dMf9k6up
Curso interessante que aborda como construir uma aplicação web com HelmetJS tendo em vista conceitos de segurança.

Se foi útil para você, compartilhe!

Não perca essa oportunidade de ampliar seus conhecimentos e se destacar no mercado.
Check the Integrity of Data in Amazon S3 with Additional Checksums
Tags: aws, cloud, awscommunity, 100daysofcloud
Published: 2023-01-25 17:08:48

[25/100] #100DaysOfCloud Today, I learned how to upload a file to Amazon S3 to calculate additional checksums, and compare the checksum on Amazon S3 and my local file to verify data integrity.

mazon S3 uses checksum values to verify the integrity of data that you upload to or download from Amazon S3. In addition, you can request that another checksum value be calculated for any object that you store in Amazon S3. You can select from one of several checksum algorithms to use when uploading or copying your data. Amazon S3 uses this algorithm to compute an additional checksum value and store it as part of the object metadata. 

When you upload an object, you can optionally include a precalculated checksum as part of your request. Amazon S3 compares the provided checksum to the checksum that it calculates by using your specified algorithm. If the two values don't match, Amazon S3 reports an error.

Amazon S3 offers you the option to choose the checksum algorithm that is used to validate your data during upload or download. You can select one of the following Secure Hash Algorithms (SHA) or Cyclic Redundancy Check (CRC) data-integrity check algorithms:
- CRC32
- CRC32C
- SHA-1
- SHA-256
When you upload an object, you can specify the algorithm that you want to use

You can try do it by yourself by following the steps from the link below:
[GitHub](https://github.com/aaditunni/100DaysOfCloud/blob/main/Journey/025/Readme.md)
Day 18: Hotword detection with Python
Tags: challenge, 100daysofcode, python, machinelearning
Published: 2023-01-25 16:57:47

Today we'll work with [Porcupine Python SDK](https://picovoice.ai/docs/quick-start/porcupine-python/) It runs on

- Linux (x86_64), 
- macOS (x86_64 / arm64), 
- Windows (amd64), 
- Raspberry Pi (Zero, 2, 3, 4), 
- NVIDIA Jetson Nano, 
- BeagleBone

**Install the SDK**
```
pip3 install pvporcupine
```
**Grab your AccessKey**
If you haven't already, sign up for the [Picovoice Console](https://console.picovoice.ai/) to get your AccessKey for free. 

**Usage**
Check the list of built-in hotword models such as Alexa, Hey Google, OK Google, Hey Siri, and Jarvis. 
```
import pvporcupine
for keyword in pvporcupine.KEYWORDS:
    print(keyword)
```
**Initialization with Built-in Hotwords**
```
porcupine = pvporcupine.create(
        access_key=access_key,
        keywords=[keyword_one, keyword_two])
```
**Initialization with Custom Hotwords**
```
porcupine = pvporcupine.create(
        access_key=access_key,
        keyword_paths=[keyword_paths_one, keyword_path_two])
```
**Processing**
```
keyword_index = porcupine.process(audio_frame)
if keyword_index >= 0:
    # Logic to handle keyword detection events
```
**Cleanup**
```
porcupine.delete()
```
**A Working Example**
Install [PvRecorder Python SDK ](https://picovoice.ai/blog/how-to-record-audio-using-python/)using PIP:
```
pip3 install pvrecorder
```
Let's record audio from the default microphone on the device and process recorded audio with Porcupine:

```
import pvporcupine
from pvrecorder import PvRecorder
porcupine = pvporcupine.create(access_key=access_key, keywords=keywords)
recoder = PvRecorder(device_index=-1, frame_length=porcupine.frame_length)
try:
    recoder.start()
    while True:
        keyword_index = porcupine.process(recoder.read())
        if keyword_index >= 0:
            print(f"Detected {keywords[keyword_index]}")
except KeyboardInterrupt:
    recoder.stop()
finally:
    porcupine.delete()
    recoder.delete()
```
Rules for Overcoming Worry
Published: 2023-04-21 00:45:17

---
title: Rules for Overcoming Worry
published: true
date: 2023-01-25 16:52:32 UTC
tags: 
canonical_url: 
---

A few years ago I visited a [used book store in Seattle](https://www.twicesoldtales.com/). It had several cats hanging around with the customers, which was pretty cool.

I found a copy of [How To Stop Worrying and Start Living](https://www.amazon.com/How-Stop-Worrying-Start-Living/dp/0671733354?&_encoding=UTF8&tag=danschnaudotc-20&linkCode=ur2&linkId=1dbe2f10c8989ac29a769902ed4204cd&camp=1789&creative=9325) by Dale Carnegie, of "How to Win Friends and Influence People" fame.

I bought it, and it's been a great book to keep around when I get stressed out.

One of the exercises in the book suggests creating your own rules for overcoming worry. I wrote my answers down and have copied them here.

## Rules for Overcoming Worry

1. Remember that every moment is new. Past performance is not indicative of future results.
2. Meditate. Breathe relaxation and loving-kindness into your muscles, from head to toe.
3. Remember what your mother told you when you were a stressed out child (and has been so right about): "Most of the things you worry about will never even happen".
4. Focus on the present day in front of you. The distant future is of no concern. As Apollo Creed told Rocky Balboa as he trained to fight Clubber Lang: "There is no tomorrow!"

I put a lot of energy into stayling relaxed these days. I know that being stressed out will not only not help but rather it will harm me.

#### Affiliate notice

This page contains Amazon affiliate links.
6 Top Questions to Ask Churned Customers
Tags: startup, analytics
Published: 2023-01-25 16:47:20

Business people are obsessed with user feedback. Feedback from happy customers can improve the quality, credibility, and usability of the products to generate more value for both users and businesses. It is important for growth to have customers who provide honest feedback. As a result, you improve the product as a result of a less-than-exceptional customer churn survey.

In order to analyze their users' behavior and understand their needs, many businesses take an in-depth approach
Questions to ask churned customers. In-depth knowledge of your users' psyche can help you reevaluate your product marketing strategy. Knowing your users' concerns will make it easier for you to get honest feedback.

Read more **[questions to ask churned customers](https://churnfree.com/blog/top-six-questions-to-ask-churned-customers/)**.
Create User Interfaces on the Canvas as easy as it has never been
Tags: javascript, canvas, graphics, elements
Published: 2023-01-25 16:30:35

Have you ever tried to create something on the canvas and found it overly complex? If that's the case, this library is for you.

[Canvas User Interface](https://www.canvasuserinterface.com/) is a library that lets you create user interfaces on the canvas in a very simple way.

You no longer have to define all the drawings and compute all the coords of the graphical elements. Everything is managed by this library.

The way it works is by providing you ways to create your custom elements, place them as you want (ex: aligned in the middle) and interact with them in a very simple way.

Using this library, you can create projects that would be very hard to create if this library wasn't used. These are some examples:

![puzzle](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lco7l2sncyxxizg01fxx.jpg)

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

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

This library is extremely powerful when you want to create graphics that could not be created when using HTML elements (puzzle, sudoku...).
Object dictionary
Tags: startup, opensource, news, luos
Published: 2023-01-25 16:30:00

An **object dictionary** (OD) allows various developers of different services to make them interoperate regardless of the units they use on their code.

▶️ [Read more](https://www.luos.io/docs/luos-technology/messages/object-dictionary) 

An object dictionary defines a set of typical objects that can be transmitted through Luos messages. It allows to send these objects with a unit and to use it in any other units, in other services.

Luos engine defines objects based on physical values following the SI standard.
GeoPicker
Tags: javascript, fastify, geospatial, api
Published: 2023-01-25 16:28:30

A super fast rest interface to pick Geospatial datasets.

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

GeoPicker is an open source project, not only another simple elevation service but is designed to easily distribute small packets of geospatial data picked from large geospatial datasets

Article about this project:
{% embed https://stefcud.medium.com/geopicker-bf4c4321c9ec %}

Official Github repository:
{% embed https://github.com/opengeo-tech/geopicker %}
PhoneSploit Pro
Tags: cybersecurity, android, hacking, adb
Published: 2023-01-25 16:27:43

Hey guys! This is my first post on Dev.to and I was pretty confused about what to post here, so today I am posting about an open-source project that I recently built using Python.

[PhoneSploit Pro](https://github.com/AzeemIdrisi/PhoneSploit-Pro) It is a Cybersecurity tool using which you can test the security of your Android devices. 

It exploits open ADB ports and uses the Metasploit-Framework to get complete access. You can test if your device is vulnerable or not by running this program yourself. All the instructions are available on the project's GitHub page.

It is also an all-in-one ADB toolkit for your Android devices. You don't have to learn all the adb commands and arguments; just simply use this tool.

Check out the project and suggest any changes or modifications; report any bugs on GitHub.
https://azeemidrisi.github.io/PhoneSploit-Pro/

Project Screenshots: 

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

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


![Page 3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qquhi6plluglkhbc293s.png)
ChatGPT: The Surprising Teacher of a +25 Year Senior Programmer
Tags: beginners, programming, openai, ai
Published: 2023-01-25 16:23:37

*My original title was: 'I have +25 Years of Programming and Yet, ChatGPT is Teaching me New Things', but ChatGPT changed it.*

> TL;DR: No matter your experience. New tools will empower you even more.

# The Past

I've been working as a software developer for 26 years and I've also been teaching at the university at the same time.

I've always been interested in Artificial Intelligence.

I've founded a start-up on chatbots many years ago and also been consistently publishing about Artificial intelligence trends and tools.

I've tried [GitHub Copilot](https://dev.to/mcsee/why-github-copilot-is-not-a-treat-for-your-job-180a), Code Whisperer, [Alpha Code](https://dev.to/mcsee/48-deepminds-alphacode-wont-steal-your-job-either-255l), ChatGPT, and many more.

I wrote about how A.I. would replace [bad programmers](https://chatbotslife.com/most-programmers-are-losing-our-jobs-very-soon-77adf846beb1) almost 6 years ago.

I strongly believe this is the actual case.

I also published a paper on how to [Educate Students](https://dev.to/mcsee/gpt-3-training-programmers-for-the-present-and-the-future-321a) to use the tools.

And I talk to [non-technical people](https://dev.to/mcsee/explain-in-5-levels-of-difficulty-chatgpt-3fd5) daily to tell them to be resilient and fast learners.

# The Present

Now, I am a bit more frightened it will also replace software designers who don't use A.I. Tools.

I am revisiting my whole collection of 195 code smell articles with [ChatGPT](https://dev.to/mcsee/maxi-contieri-explains-chatgpt-revolution-57m9) and still learning new things.

I try to publish design rules and tips language agnostic.

Since I cannot master 30 programming languages (the ones I use in [my articles](https://github.com/mcsee/Software-Design-Articles)), I've been heavily using code translation tools (even before ChatGPT).

Now I am one step beyond. I use [ChatGPT](https://dev.to/mcsee/chatgpt-is-amazing-and-it-is-free-1h12) to *teach me* about those languages' quirks.

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

It is an amazing learning journey.

# The Future

As a word of caution. Science is based on evidence, citations, and quotes. You cannot make a thesis or explanation without citing your sources. And ChatGPT does not.

My technological centaur approach is to use ChatGPT for research and then manually check if it is right.

This is now how science works and this is not ChatGPT's better usage.

Twitter is full of hate quotes showing when ChatGPT is wrong.

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

*The example is a bit sexist but it is a meme illustrating the point.*

To be a decent software engineer, we must be experts at learning, and ChatGPT is an amazing teacher. Not just for juniors.
Senior Level Coding Style for Junior Developers😀
Tags: webdev, javascript, beginners, react
Published: 2023-01-25 16:10:56

-  Use template literals for string concatenation: Instead of using the traditional "+" operator for concatenating strings, you can use template literals (denoted by the backtick character) to make your code more readable and maintainable.

Example:
`let name = "John";
console.log(`Hello, ${name}!`);
`

-  Use arrow functions for concise function syntax: Arrow functions provide a shorter and more concise syntax for defining functions in JavaScript. They also do not bind their own this, arguments, super, or new.target.

Example:
Traditional function
`let add = function(a, b) {
  return a + b;
}
`

Arrow function
`let add = (a, b) => a + b;
`

-  Use the spread operator to merge arrays: The spread operator (...) allows you to easily merge two or more arrays into a single one.

Example:
`let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let mergedArray = [...arr1, ...arr2];
console.log(mergedArray);  // [1, 2, 3, 4, 5, 6]
`

-  Use the filter() method to filter an array: The filter() method allows you to filter out elements from an array based on a certain condition. It returns a new array containing only the elements that pass the condition.

Example: 
`let numbers = [1, 2, 3, 4, 5, 6];
let evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers);  // [2, 4, 6]
`

-  Use try-catch blocks for error handling: Try-catch blocks allow you to handle errors in a more organized and manageable way. The try block contains the code that may throw an exception and the catch block contains the code to handle the exception.

Example:
`try {
  let x = y + 1;
} catch (error) {
  console.log(error);
}
`
These are just a few tips and tricks to help you write more efficient and effective JavaScript code. It's also important to keep learning and experimenting with new techniques and tools to improve your skills and stay up-to-date with the latest developments in the JavaScript community.

If you have any queries or just want to connect to me then, follow the like below [@samyogdhital](https://linktr.ee/samyogdhital?utm_source=linktree_profile_share&ltsid=f567287a-ebd1-4e03-bdfb-b6d56bcb2494). I am active on twitter.😀
Java 101: Mastering the Basics
Tags: beginners, java, basics
Published: 2023-01-25 16:09:39

**Java **is a widely-used programming language that is known for its versatility and ease of use. In this blog post, we will be diving into the basics of Java programming, covering topics such as data types, variables, control flow, and more. Whether you are a beginner just starting out or an experienced programmer looking to refresh your skills, this guide will provide you with a solid foundation for working with Java. 

So, let's get started on mastering the basics of this powerful language!

{% github drsimplegraffiti/java-notes%}
Byte Type Array in Solidity
Tags: web3, blockchain, solidity, ethereum
Published: 2023-01-25 16:08:30

The byte types in Solidity are comprised of fixed-sized and dynamic-sized byte arrays.

## Fixed-sized byte arrays:

The value types bytes1, bytes2, bytes3, …, bytes32 hold a sequence of bytes from one to up to 32.

## Operators:

- Comparisons: <=, <, ==, !=, >=, > (evaluate to bool)

- Bit operators: &, |, ^ (bitwise exclusive or), ~ (bitwise negation)

- Shift operators: << (left shift), >> (right shift)

- Index access: If x is of type bytesn, then x[k] for 0 <= k < n returns the k th byte (read-only).

##Members:

The length function yields the fixed length of the byte array (read-only).

##Dynamically-sized byte array:

The bytes data type in Solidity is a byte[] array with a dynamically changing size. Because it is dynamically sized, the length of this type can increase and shrink as necessary. As opposed to the bytes1, bytes2,..., bytes31, and bytes32 types, the bytes type stores densely packed data, whereas the bytesN type does not

In the case of the bytes type variables, an empty string is used as their first value. Using the Remix IDE, you can see that it returns 0x, which means that it is a byte[] array with a length of 0.

Although there is no direct operator support for bytes, you may find yourself needing to compare two bytes variables from time to time.

For more content, follow me on - https://linktr.ee/shlokkumar2303
AI revolution in eCommerce
Tags: ai, chatgpt, ecommerce, laravel
Published: 2023-01-25 15:59:45

Since the availability of [ChatGPT](https://openai.com/blog/chatgpt/), a large language machine learning model from OpenAI, artificial intelligence seems to be on the rise. Now, editors writing texts might be seen as a dying species because tools like ChatGPT can do the same in seconds and in almost the same quality. This is similar to how [DeepL](https://www.deepl.com/), a translation tool based on machine learning, changed the translation industry before.

Especially in eCommerce, search engines like Google require a lot of relevant text before pages show up at the top of search results. This can now be automated in [Aimeos](https://aimeos.org/), the first eCommerce framework with direct integration of ChatGPT and DeepL. This allows editors to generate any text in seconds and have it translated into 29 languages.

## Generate and translate any content

Aimeos admin backend with ChatGPT and DeepL integration
Not only texts based on existing product specifications are possible, but also helpful information for customers. Depending on the prompt entered, ChatGPT also generates, for example, styling tips for fashion or health information for allergy sufferers – everything about which there are already publications on the Internet that have been incorporated into the training of the AI model.

![Aimeos admin backend with ChatGPT and DeepL integration](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dubg0c52mk5th6hqnqkn.png)

Although ChatGPT can generate texts in different languages, the quality is better the more texts are available in the respective language on the topic. Since DeepL can translate good quality texts into less common languages, this will greatly accelerate the professionalization of online stores in these language regions.

## Test yourself

You can try Aimeos and the capabilities of ChatGPT and DeepL yourself in the Aimeos admin demo:

[https://admin.demo.aimeos.org/](https://admin.demo.aimeos.org/)

Aimeos is the ultra-fast, cloud-native, API-first PHP eCommerce framework for building custom online shops, marketplaces and complex B2B applications. It’s available as [Laravel package](https://aimeos.org/Laravel), [Symfony bundle](https://aimeos.org/Symfony) and [TYPO3 extension](https://aimeos.org/TYPO3).
A React library for creating stunning animated websites on scroll
Tags: javascript, react, animate, scroll
Published: 2023-01-25 15:59:40

Would you want to create a stunning animated website as you scroll?

With [this library](https://www.npmjs.com/package/react-animate-screen-on-scroll) you can easily create a website like [this one](https://momentsapp.xyz/).


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

It is used in React, and it is very easy to use. You just have to define the different phases that the scroll animation goes through and for each component define its animation in each phase.