teleren/devto huggingface dataset:
Listen to the DevNews Season 6 Finale!
Tags: news, podcast
Published: 2021-12-23 17:54:37

---
title: Listen to the DevNews Season 6 Finale!
published: true
description: Listen to S6E8 of the DevNews pod wherever you get your podcasts.
tags: news, podcast
series: DevNews Season 6
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/zoxvbu0494gq3sxtjp4v.png
---

The DevNews season 6 finale is here already! 

{% podcast https://dev.to/devnews/s6-e8-the-web3-debate-and-the-world-s-first-organic-reproducing-robots %}

**Hosts:** @saronyitbarek & @joshpuetz 

**Guests:** 
- **[Samina Kabir](https://twitter.com/saminacodes)**, Developer Advocate @ Decentology
- **[Niharika Singh](https://twitter.com/YourETHGirl)**, Product Manager @ Decentology
- **[Sam Kriegman](https://twitter.com/Kriegmerica)** Postdoctoral Fellow @ The Allen Discovery Center at Tufts University and the Wyss Institute at Harvard University

In this episode, we talk about some criticisms of web3, which Tesla CEO Elon Musk, and Twitter co-founder Jack Dorsey wrote this week, and then we’ll speak to two leaders at a web3 company about what in the world web3 is and their perspectives on it. Then we’ll speak with a postdoctoral fellow at Harvard and Tufts about his research with the world’s first reproducing organic robots.
---

_You can [follow DevNews](dev.to/devnews) to get episode notifications and listen right in your feed_ _— or subscribe on your platform of choice! Plus, if you leave us a review, we'll send you a free pack of thank-you stickers. Details [here](https://airtable.com/shr8oKAIMZgdYnBxx)._ 

## **Quick Listening Links**
- [Apple Podcasts](https://podcasts.apple.com/us/podcast/s6-e8-the-web3-debate-and-the-worlds/id1525581923?i=1000545901485)
- [Spotify](https://open.spotify.com/episode/4X98jMqVJDPjYmDNNUtMPb)
- [Google](https://podcasts.google.com/feed/aHR0cDovL2ZlZWRzLmNvZGVuZXdiaWUub3JnL2Rldm5ld3NfcG9kY2FzdC54bWw/episode/aHR0cHM6Ly9kZXZwb2RzLmRldi9wb2RjYXN0cy9kZXZuZXdzLzQ4?sa=X&ved=0CAQQkfYCahcKEwj4wLj1vfr0AhUAAAAAHQAAAAAQCg)
- [Stitcher](https://www.stitcher.com/show/devnews/episode/s6-e7-an-intricate-job-recruitment-scam-a-law-against-some-ai-powered-recruitment-software-and-we-give-you-holiday-tech-support-support-89059737)
- [Listen Notes](https://www.listennotes.com/podcasts/devnews/s6e8-the-web3-debate-and-the-uUyFaRW-BAE/)
- [TuneIn](https://tunein.com/podcasts/Technology-Podcasts/DevNews-p1352512/?topicId=168621372)
- [RSS Feed](http://feeds.codenewbie.org/devnews_podcast.xml)
- [DEV Pods website](https://devpods.dev/podcasts/devnews/episodes/240)

### _Acknowledgements_ 
- _@levisharpe for producing & mixing the show_ 
- Our Season 6 sponsors: [Cosmos HackAtom](https://www.hackatom.org/) & [Microsoft Azure](https://www.microsoft.com/en-us/dev-community/Event/Register?eventId=DevNewsPodcast_FI2YKJLHvJdZ&ocid=aid3038582)


We hope you enjoyed season 6 of DevNews 📰 We look forward to returning for all new episodes in the new year. 

---
To Pair or Not to Pair: Introduction
Tags: programming, productivity, agile
Published: 2021-12-23 18:57:54

**Pair programming**, aka **pairing**, is more than what  you're probably thinking it is even if you have a good grasp on the words _pair_ and _programming_. 
When we have two people working together on the same computer... on the same code, we have a setup for pair programming. Due to reasons, these individuals might find themselves at different locations, when this is so, it is a popular move to use video conferencing tools to accomplish this process.
Now, just putting two people together, in front of a machine displaying some code is not pair programming. With pair programming, you find a situation where two people constantly communicate with each other about the code, find each other's errors and try to bring out the best possible code to write that accomplishes their sought after goal. **These programmers are expected to work as a team.** 

So things might seem weird at this point, like how does a person actually share a machine with you?

---

## How does this actually work ? 
There are two roles, one for each person, obviously. We have **the navigator** and **the driver**. 

**What does the driver do?**
Just like how a driver interacts with a car, the driver in this case works directly with the machine to actually type in the code.

**What does the navigator do?**
The navigator exists to give pointers, answer questions from the driver, ask their own questions about the code being written, and intensively read the code as it is typed so that mistakes are noted fast. With a navigator, the driver not only has a pair of eyes on the code, but also another brain on it.

---
Both continuously communicate about the project and the best way to do it. The driver can explain -out loud- what is being  typed, and the navigator can keep track of what has been done and what is suppose to come next.
There is no designated person for a role, and participants can and should switch roles as many times as they deem fit so that both programmers can learn from each other.
**Some more common pairings might involve:**
A junior programmer and a senior programmer, to allow an easier onboarding process by letting a person more familiar with the code base to serve as a navigator.
**or** 
Developers of the same rank so that they can properly learn from each other. 

---

Like every practice, pair programming can be adjusted to fit the company's workflow.

---

**Learn more with my next post `To Pair or Not to Pair: Benefits`** https://dev.to/ulimicreator/to-pair-or-not-to-pair-benefits-7e
Some CSS concepts
Published: 2021-12-23 17:35:13

                                            Some CSS concepts

CSS position property
The position in CSS is a property of an element that specifies the type of positioning method of that element. These positioning methods can be static, relative, absolute, fixed and sticky.
1) Static Position: It is the default position of an element. Element renders in order as their appearance in the document flow. 
2) Relative Position: The element is positioned relative to its original position.An  element can be adjusted away from its normal position by setting the top, bottom, right, left properties.
3) Absolute Position: The element is positioned relative to its parent or ancestor element. The values of left, right, top, bottom determine the final position of the element. 
4) Fixed Position: The element is positioned relative to the viewport or the browser window. Fixed positioned element stays in the same place even if the page is scrolled by the user. The top, bottom, right, left properties are used to position the element.
5) Sticky Position: The element is positioned based on the user's scrolling. This position is a hybrid between relative and fixed or in other words, it toggles between relative and fixed position and depends on the scroll position. An element that is sticky positioned, is positioned relative until the given position is met in the document flow or viewport and then it sticks at the same position like fixed positioning.

Difference between inline, inline-block, and block
Inline element: An inline element does not start on a new line, rather it sits next to the previous inline element. It only occupies the space it needs rather than occupying the whole space available. <p>, <a>, <span>, <input>, <br>, <img>, <strong> etc are some inline elements. An inline element cannot contain a block element. We cannot set the height, width, margin top and bottom of an inline element. But we can set margin right and margin left of an inline element.
Block element: A block element starts on a new line and occupies the whole space available. We can set height, width, margin and padding to a block element. <div>, <footer>, <article>, <blockquote>, <h1>-<h6>, <header>, <section> etc are some block elements.
Inline-block element:  Inline-block elements don’t add line break after an element so the element can sit next to the other element. Inline-block doesn’t start on a new line Again inline-block allows setting height and width of an element. By declaring inline elements as inline-block, we can set height and width of inline elements. <button>, <input>, select and textarea are inline-block elements.
Grupo de React Devs (Español) Telegram
Tags: react, reactnative, javascript, beginners
Published: 2021-12-23 18:25:15


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

Se ha creado un grupo de React Developers en español. La idea es que esta comunidad sirva para interactuar, aclarar dudas, plantear inquietudes, propuestas y cualquier idea en beneficio de sus integrantes. Se trata de apoyarnos.

## [Únete](https://t.me/+-TdkxVygZjA2Yzcx)
Study Japanese in the Command Line !
Tags: linux, japanese
Published: 2021-12-23 18:23:29

---
title: Study Japanese in the Command Line !
published: true
description: 
tags: #linux, #japanese
//cover_image: https://direct_url_to_image.jpg
---

Do you want to study Japanese? How many times did you fail in remembering hiragana/katakana? Is there a easy way to master them ?

Yes, you can learn and practice kanas now in the command line by playing [KanaQuiz](https://github.com/skywind3000/KanaQuiz).

List kanas by

    python3 kanaquiz.py -l

You can see hiraganas and katakanas right in your terminal:

![](https://github.com/skywind3000/KanaQuiz/blob/master/images/table.png?raw=true)

Start a new quiz by 

    python3 kanaquiz.py -h

After pressing Enter, the quiz proceeds:

![](https://github.com/skywind3000/KanaQuiz/blob/master/images/quiz-1.png?raw=true)

Read the kana character in the square brackets `[ ]` and input its romanized name after the question mark ? then press Enter ASAP to continue.

After finished, there will be a beautiful report:

![](https://github.com/skywind3000/KanaQuiz/blob/master/images/report.png?raw=true)

Figure out which kana got the slowest response time (you are least likely to remember) and take time to practice.

The history reports can always be queried by:

    python3 kanaquiz.py -q

Enjoy.
JWT_
Tags: jwt, javascript, webdev, programming
Published: 2021-12-23 18:17:23

## JWT

_JWT stands for JSON Web Token. It is used to share security information between the client and server-side._

JWT is used just for authorization. Authorization is mainly what makes sure that the user which sends a request to the server is the same person who logged in. It means it is authorized if the user has access to the system.

JWT uses a web token for this authorization. It works like this- 

- It executes the authentication process. Then the server creates a JSON web token, which we know stands for JWT, and creates a secret key so the server can check with that if the user is invalid based on that secret key. And then it takes the web token and sends it to the browser and it will send a request to the server with the JWT token. It verifies it so that it can check if the secret key and user information are the same as before to know it is valid or invalid. And if the user is valid, it sends the response back to the server.
🎁 CodeCast's Coding Advent: Day Twenty-Two 🎁
Tags: beginners, programming, productivity, career
Published: 2021-12-23 18:05:46


![Day 22](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4wptfdwl5nfn6kd172np.png)

## DAY 22

Looking to get a better grasp on branding yourself as a developer? Read our latest blog post!

https://info.codecast.io/blog/how-to-brand-yourself-online

You can also be sure to follow us on [Instagram](https://www.instagram.com/codecastapp/), [Twitter](https://twitter.com/CodeCastApp), [Facebook](https://www.facebook.com/codecastapp), and [LinkedIn](https://www.linkedin.com/company/code-cast/) to see our daily advent releases there!
Create Database Role in PostgreSQL
Tags: beginners, programming, database, sql
Published: 2021-12-23 17:44:25

Database role is the person who have access to perform action on database.
We can create new database role in PostgreSQL by running below query:
![Query](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x7mno3lzk0s81326t3hp.png)
For creating new role you must have CREATEROLE privilege or be a database superuser to use this command.

## Parameters ##
- **name**: This will be the name of new role.

- **SUPERUSER/NOSUPERUSER:** This is clause is used to determine whether the new role will can override all access restrictions within the database. **SUPERUSER** clause will give all access to new role.  If not specified, **NOSUPERUSER** is the default.

- **CREATEDB/NOCREATEDB:** These are used to determine whether the new role can create Database or not. **CREATEDB** will give permission to create database to new role whereas **NOCREATEDB** will deny the ability to create database. If not specified **NOCREATEDB** is the default.
- **INHERIT/NOINHERIT:** These clause define whether the new role can inherit privileges of roles it is a member of. **INHERIT** will give the all privileges that have been granted to all roles it is directly or indirectly a member of. If not specified **NOINHERIT** is the default. 
- **LOGIN/NOLOGIN:** These clauses determine whether a role is allowed to log in; that is, whether the role can be given as the initial session authorization name during client connection. A role having **LOGIN** attribute can be thought as user.  If not specified **NOLOGIN** is default.
- **REPLICATION/NOREPLICATION:** These clause define whether the role is a replication(replication means copying data from a PostgreSQL database server to another server) role. **REPLICATION** clause will give the permission to create replication. If not specified **NOREPLICATION** is default.
- **CONNECTION LIMIT:**  This clause specifies how many concurrent connections role can make. By default it is -1 means no limit and maximum limit is 115 connections.
- **PASSWORD**:  This will create a login password for the role. If you don't want to specify password you can omit. If no password is specified the password will be set to null and password authentication will always fail for this role. Password is always stored in encrypted form in system.
- **VALID UNTIL:** This clause set the date and time after which password will be expired. If no value is specified for **VALID UNTIL** then password will never expire.
![Query](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i0cspywgbdhs8gnsw8zu.png)
For example above query will create role with **chetan** name with **login**, **inherit**, **createdb** access and don't have **superuser**, **replication** and **createrole** access. The connection limit is -1 means no limit and password is chetan.

![Query](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/faxkrt6xynfs81ctiol2.png)
For example above query will create role with **chetan** name with all privilege. The password will expire after 30 Dec 2021 at 02:10. In same way we can create role with different parameters.
Some Node-Mongo Concept Intermediate Exploration
Tags: node, mongodb, javascript, react
Published: 2021-12-23 17:44:19

**JWT Token:**

JWT stands for JSON Web Token. We use this for securely transmitting information between parties. Though it is digitally signed that’s why it is more than secure and this information can be verified and trusted also.

JWT authentication is a token-based stateless authentication mechanism. It is popularly used as a client-side-based stateless session, this means the server doesn’t have to completely rely on a database to save session information.
There are three parts of the jwt token header, payload, and signature.

> Header
The header consists of two parts:
The signing algorithm being used
The type of token, which is in this case mostly “JWT”
Example:

`{ "alg": "HS256", "typ": "JWT" }`

> Payload
The payload usually contains the claims and additional data like issuer, expiration time, and audience.

> Signature
To create the signature part you have to take the encoded header, the encoded payload, a secret, the algorithm specified in the header, and sign that.


**CRUD operation:**

> Create-Operation:
In MongoDB when we can add new documents to a collection. If the collection does not exist, create operations also create the collection. We can insert one or many documents

`db.collection.insertOne()`
`db.collection.insertMany()`

> Read Operation:
Read operations retrieve documents from a collection; i.e. query a collection for documents. We can find the document using the read operation.

`db.users.find({})`

We can find multiple or single elements using the find operation.

> Update Operations: 
By using update operation we can update any document or replace any. We use this operation in MongoDB to update

`db.collection.updateOne()`
`db.collection.updateMany()`
`db.collection.replaceOne()`

**Delete Operation:**

When we need to delete any document from the database we use delete operation to delete that element.

`db.collection.deleteOne()`
`db.collection.deleteMany()`

Node js: Node.js is an open-source server environment. It is free and it runs on different browsers. It is also javascript.it uses asynchronous programming. It creates dynamic page content.

Explore Express: 
Express.js is an open-source web application framework
We can build a web application quickly and easily. Express js uses javascript that’s why it’s become easier for programmers and developers to build web applications. It is important to learn javascript and HTML to be able to use Express.js.
Express.js supports javascript which is a widely used language that is very easy to learn and is also supported everywhere.
Features of Express.js:
1. Faster Server side development, 2. Middleware, 3.Routing, 4. Templating, 5. Debugging
About Backend
Published: 2021-12-23 17:43:12


1. CRUD Operations
The full meaning of CRUD is, create, read, update, delete. Crud operation is the most popular operation we do in our application without it we can not read our data, create our data. From The world of computer programming, the crud operations came. For this, we can share our data.
2. JWT
JWT means JSON Web Token which allows us to share our data more securely. Every JWT has encoded JSON objects. Using a cryptographic algorithm JWTs are signed. Its make our database more secure and allow us to verify that the content hasn’t tampered with others.
3. Mongoose
A library for MongoDB and node is known as Mongoose is an Object data modeling library. Mongoose keeps relationships between data and schema validation, Also we used it to translate between objects in code.
4. Relational database (MySql)
A collection of data that have pre-defined relation between them is known as a Relational database. In a relational database, data are organized as tables with columns and rows. These Tables keep our data. Every column of a table has a certain kind of data and also has a store that keeps the actual value of an attribute. On the other hand, The row in a table is marked with a unique identifier that is called a primary key, and rows. We can access our data in many ways without reorganizing the database.
5. Aggregation
DBMS means Database management systems that replace the old filing system by providing a secure, easy, efficient, and awesome way of trying, accessing, retrieving, sharing data within databases. 
6. Express
Express is a framework for Node.js used in the back end. It’s a free and open-source library. It helps the developer to make code easy. Basically, we use it to provide server-side login for our application and also use it all over the place.  Express in only works in javascript and for that, it’s so easy to write code.
7. About MySQL and NoSQL
A relational database that is built on tabular design is known as MySQL where NoSQL isn’t relational and it keeps data like document-based 

— MySQL:-
My SQL is fast and easy to use because it’s a relational database. 
For handling a large amount of functionality MySQL easily does it
MySQL work in multiple languages.

—NoSQL
NoSQL keeps data like documents.
Its design is simple and horizontally scalable.
NoSQL database name is MongoDB, CouchDB, CouchBase, Redis, Riak, etc
 
8. Cross policy
A policy that is set by Cross-Origin-Resource-Policy HTTP header which is protect application opts against certain requests from other origins.
Crud Operation
Published: 2021-12-23 17:41:57

CRUD stands for Create, Read, Update and Delete. These are the most basic operation 
That can be used with most traditional databases. CRUD operation is the most popular operation in web software. We can create any data, read any data, update any data, delete any data from the database.

**Create:** Create operation is to create any database or add any value to the database. We can use insertOne() to add a single data to the database to add multiple data we can use insertMany().

**Read:** Read operation is to get any data from the database. To read the database we can use findOne() method to get a single value for multiple values we can use findMany() method.

**Update:** Update operation is to update any data value. To perform this we can use updateOne() method to update only one value from the database to update multiple value we can use updateMany()

**Delete:** Delete operation is to delete any data from the database. To perform this action we need to use DeleteOne() method to delete only one data to delete multiple data we can use deleteMany() method.
Need to know Node.js & Express.js
Published: 2021-12-23 17:37:30

## What is Nodejs? 
## What is the Difference between Nodejs and JavaScript?

Nodejs is a powerful web framework, cross-platform JavaScript runtime environment. Nodejs using to create server-side web applications. It is also used for large-scale application development, especially for video streaming sites, single-page applications, and others. Node.js is used in asynchronous programming.

**Nodejs and JavaScript:**

- JavaScript is a programming language, that runs in a web browser.
- Nodejs is a JavaScript runtime environment.
- Nodejs is used in backend application
- JavaScript is used in the frontend.


## What is Express.js? 

Express.js is a web framework that is used in Node.js. This is the most popular web framework.


**Express code looks like:**

```
const express = require('express');
const app = express();
const port = 5000;
app.get('/', function(req, res) {
  res.send('Hello Express!')
});
app.listen(port, function() {
  console.log(`App listening port is ${port}!`)
});
```
Some backend features used in web
Tags: node
Published: 2021-12-23 17:37:15

**CRUD Operation**

In computer programming, crud is a very commonly used operation. The acronym, CRUD means create, read, update and delete. These basic four steps are used to operate on data in  a storage. Those functions are executed in a relational database application.
It helps a user to read the data, edit that date, add the data and even he or she can delete it. Those functions can be modified by taking data from a service. It is mainly data-oriented operations.
Most of the applications, android or iphone app, crud operation is commonly used. Every programmer around the globe must need to use crud operation for their projects. A crud application is used to take and send data to the database. The procedures of crud operation are given.

- **CREATE** procedures: It inserts data to the database table row..
- **READ** procedures: It gets data from the database.
- **UPDATE** procedures: It executes when the data is needed to change something in it.
- **DELETE** procedures: This performs nothing but to delete any data from the database table.