teleren/devto huggingface dataset:
Top 5 Youtube platforms to learn web3
Tags: webdev, web3, blockchain, programming
Published: 2022-05-31 09:58:11

Under the Hood
Recently, I was making a [youtube](https://www.youtube.com/channel/UC6I-Tz6QwYbJpoIK7l0NtXA) video for top platforms for a web3 job and suddenly the idea came to my mind of creating another video for learning web3.

Before publishing things on Youtube, I do try to write the sample scripts and publish them on the medium. It just gives me a validation that the video might work. Although the youtube algorithm will certainly help the video to get views just to be sure with early customers I push this story on medium.

Web3 is the fastest growing technology in the 21st century, we all have somehow heard about blockchain, crytpo and dapps and so on.

And if are wondering how the hell did I start learning it for free from the internet, then this story is for you, my friend.

Let’s not waste the time and start with number one and my favourite youtube channel for learning web3.

1. Dapp University
Peter Gregory is the owner, apart from his fast ascent of speaking he is a good teacher. Peter will certainly help you to master blockchain because he does teach blockchain from scratch.

(https://www.youtube.com/c/DappUniversity)

2. Nadar Dabit
Nadar will not only teach you blockchain but will help you to master the full stack blockchain application development. This means, he develops applications from scratch using solidity, react, hardhat and truffle.

https://www.youtube.com/c/naderdabit

3. EatTheBlocks
Julian is the owner who is teaching the web3 development and sharing the information regarding the same for the past 2/3 years.

https://www.youtube.com/c/EatTheBlocks


4. Moralis
Well, they not only teach solidity and blockchain development but they provide a database management tool that lifts all the heavy backend work for your next blockchain application. It’s like a firebase alternative but for web3.

https://www.youtube.com/c/MoralisWeb3

5. WhiteboardCrytpo
It’s important to understand the core concepts before jumping into the coding part. Whiteboard crytpo will certainly help you to clear your doubts and increase your understanding of blockchain and its terms such as swapping, tokens, NFTs and many more.

https://www.youtube.com/c/WhiteboardCrypto


Recent Read
Book —
https://amzn.to/3NsPRYJ


our website [iHateReading](https://www.ihatereading.in)
Introduction to GitHub Copilot
Tags: github, githubcopilot, ai, suggestions
Published: 2022-05-31 08:07:40

## Introduction

- GitHub Copilot is used to write code faster and with less work. 
- Individual lines and whole functions are suggested instantly by the Copilot. 
- `OpenAI Codex` is a new artificial intelligence system.


## Working of GitHub Copilot

- `OpenAI Codex` was trained on publicly available source code and natural language so it understands both programming and human languages. 
- The GitHub Copilot editor extension sends your comments and code to the service, which uses OpenAI Codex to suggest individual lines and whole functions.

GitHub Copilot has been trained on a selection of `English language` and source code from publicly available sources.


## Suggestions of code


- The code it suggests may not always work, or even make sense, as it tries to understand your intent and to generate the best code it can. 
- Code suggested by GitHub Copilot should be carefully tested, reviewed, and checked out, like any other code. You are always in charge as a developer.

## Exploring the developer Jobs

- Change to the developer experience can be brought about by bringing in more intelligent systems. 
- Existing engineers will be able to be more productive, reduce manual tasks and focus on interesting work.
- GitHub Copilot has the potential to lower barriers to entry and allow more people to explore software development and join the next generation of developers.


## Usage of Data collection in GitHub Copilot

- In order to generate suggestions, you must transmit part of the file you are editing to the service. 
- This context is used to make suggestions. The suggestions are recorded on the Copilot. 
- This data is used to improve future versions of the system so that Copilot can make better suggestions for users in the future. Users will be able to control how their data is used in the future.

**Supported development environments** are

- Visual Studio Code 
- Neovim
- IntelliJ-based IDEs like JetBrains IntelliJ IDEA, Android Studio or PyCharm.


Gratitude for perusing my article till end.I hope you realized something unique today. If you enjoyed this article then please share to your buddies and if you have suggestions or thoughts to share with me then please write in the comment box.


Above blog is submitted as part of 'Devtron Blogathon 2022' - https://devtron.ai/
Check out Devtron's GitHub repo - https://github.com/devtron-labs/devtron/ and give a ⭐ to show your love & support.
Follow Devtron on LinkedIn - https://www.linkedin.com/company/devtron-labs/ and Twitter - https://twitter.com/DevtronL/, to keep yourself updated on this Open Source project.
What technology would you use to create a portfolio?
Tags: webdev, programming, discuss, opensource
Published: 2022-05-31 09:20:12

Hi to all1, I'm struggling to choose a framework/thing to create my portfolio; i don't want a complicated thing, like many page or something, what i was thinking is much more a responsive, beautiful, single page site to describe me in some words.
Can you give me some advices? Thanks to All!
How implement firebase authentication persistence across two web apps?
Tags: javascript, firebase, webdev, help
Published: 2022-05-31 08:55:14

Hi guys, I have two NextJs apps on the same domain but with different subdomains.
- app1.domain.com
- app2.domain.com

Both of these apps have a button switch between apps.

The goal is if the user login to one app and press switch to another app, he should be automatically authorized to another application. How to implement this behavior? As I know firebase does not provide authentication persistence for apps in the same domain but in different subdomains
Hiring Full-Time Web Developers!
Tags: php, wordpress, html, css
Published: 2022-05-31 08:49:06

---
title: Hiring Full-Time Web Developers!
published: true
description: Sizmic labs hiring full time web developers for Hyderabad location.
tags: PHP, WordPress, HTML, CSS
//cover_image: https://pbs.twimg.com/media/FUEvLlEakAEtJVe?format=jpg&name=900x900
---
Unexpected benefits of estimations
Published: 2022-05-31 08:42:03

I yet have to meet a developer that likes doing estimations. And don't get me started on sticking with them.

I get that they are necessary for management to make plans but that does not mean I have to like them or enjoy doing them. No matter how hard I try my estimations are never correct.

_I've been using the [three-point estimation](https://www.fool.com/the-ascent/small-business/project-management/articles/three-point-estimating/) technique lately._

Did you know you can use the estimation to jump-start and beat procrastination? No? Read on. You did? Well, why didn't you share it with me?

## What is procrastination?

> "[Procrastination](https://www.verywellmind.com/the-psychology-of-procrastination-2795944) is the act of delaying or putting off tasks until the last minute, or past their deadline."

Why? I'll leave that up to you as each of us have a large number of different reasons for it.

In some cases, reasons for the procrastination can be because we don't know how to do something or even what needs to be done. Or we are intimidated by the size of the task in front of us. And this is where estimation kicks in!

## How estimation can help?

Well, when doing an estimation you'll have to get all information on what it is that you are building. You'll have to fill all missing gaps and deal with all ambiguous requirements.

You'll split a large task into smaller manageable pieces. And you'll be able to procrastinate over a large number of smaller tasks.

By doing that, the task will be manageable and our motivation will slightly improve.

## Additional benefits

Usually, the best cure for procrastination is to just start working. Doing as small a chunk of work as possible. Guess what? By doing the estimation you've done exactly that! You've started working on your task. And now nobody can stop you.

Not only that, but by providing the estimation number you'll be "going public" with it and now a much larger audience could "hold you accountable".

_This article is a part of my personal pledge to write at least one article per month for a whole year. As you can see, I've written this article on the last day of May which means that I'm struggling with procrastination as well so if you know any good tips please let me know!_
Perl 5.36 is released - warnings enabled, subroutine signatures, try-catch-finally statements, Unicode 14 support
Tags: perl
Published: 2022-05-31 08:19:00

Perl 5.36 was released on May 28, 2022. Enabling warnings, subroutine signatures, try-catch-finally statements, Unicode 14 support, and the functions to distinguish between booleans, strings, and numbers.

<a href="https://en.perlzemi.com/blog/20220530161828.html">Perl 5.36 is released - warnings enabled, subroutine signatures, try-catch-finally statements, Unicode 14 support</a>
A Quick 10-Second Programming Joke For Today
Tags: jokes, dailydeveloperjokes, watercooler
Published: 2022-05-31 08:00:08

---
title: "A Quick 10-Second Programming Joke For Today"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
published: true
tags: #jokes, #dailydeveloperjokes, #watercooler
---

Hi there! Here's today's Daily Developer Joke. We hope you enjoy it; it's a good one.

![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e12599ebe62f.png)

---

For more jokes, and to submit your own joke to get featured, check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/). We're also open sourced, so feel free to view [our GitHub Profile](https://github.com/dailydeveloperjokes).

### Leave this post a ❤️ if you liked today's joke, and stay tuned for tomorrow's joke too!

_This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit._

<!--
Joke text:
___Q___: Why can't you use 'Soup' as your password?

___A___: Because it isn't `stroganoff`
 -->
Clojure Tutorial Part 3 -- 関数とループ
Tags: clojure
Published: 2022-05-30 14:38:09


## 参考

https://clojure.org/guides/repl/basic_usage#_evaluating_clojure_expressions

Clojure 公式

---

## 1 を足す add 関数を作成する

まずは Clojure の関数の使い方をまとめる

```clj
( defn add [n]
  ( + n 1 )
)
```

JavaScript と比較すると

* 関数宣言は function ではなく defn
* 引数は () ではなく [] で括る
* 処理は {} ではなく () で括る

これらが違う。

```clj
#'user/add
user=> ( add 1 )
2
```

宣言の () を閉じると
現在地に関数が作成された表示がされる

そして普通に使用できる。

---

## サンプルの階乗コードを実行して分析する

https://clojure.org/guides/repl/basic_usage#_evaluating_clojure_expressions

サンプルのコードを作成

```clj
(defn factorial [n]
(if (= n 0)
  1
  (* n (factorial (dec n))))
)

#'user/factorial
```

factorial は階乗という意味。

中身は下記の通り。

結論 n x (n-1) だが

引数 n が 0 であれば n を 1 にする
引数 n-1 した数値で上記の

> 引数 n が 0 であれば n を 1 にする

この処理を行い
その後 引数 n-1 を n にかける。

---

## 実際に数値を入れた場合の解説

```clj
user=> ( factorial 0 )
1
user=> ( factorial 1 )
1
user=> ( factorial 2 )
2
user=> ( factorial 3 )
6
user=> ( factorial 4 )
24
```

### 0 の場合

n が 0 なので 1 に変更
n-1 も 0 なので 1 に変更
1 x 1 = 1

### 1 の場合

n は 1 なのでそのまま
n-1 が 0 なので 1 に変更
1 x 1 = 1

さらに 0 の場合を繰り返し、無限ループを検知して止まる

### 2 の場合

n は 2 なのでそのまま
n-1 が 1 なのでそのまま
2 x 1 = 2

さらに 1 と 0 の場合を繰り返し、無限ループを検知して止まる

### 3 の場合

n は 3
n-1 が 2
3 x 2 = 6

2 の場合以降も繰り返して 
3 x 2 x 1 x 1 となり終了する。


4 以降は自明。

---

https://www.javadrive.jp/javascript/function/index15.html

JS でもお馴染みの再起呼び出しを使っていた。

毎回 再帰 って書くと佐伯さんが出てくる、
さえき さんじゃなかったのか

これが REPL -- Read, Exe, Print, Loop の Loop らしい。

---

## まとめ

Clojure は JS の
function, (), {}, 
これらの代わりに
defn, [], (), 
これらを使うが、 JS と同じように関数を作れる

関数の後半に自身を呼び出すことで、
前半までの処理を動かした結果を計算に含める事ができる。
Authorization and Authentication
Published: 2022-05-31 07:22:47

Two other concepts we’ll want our server-side logic to handle are authentication and authorization.

**Authentication** is the process of validating the identity of a user. One technique for authentication is to use logins with usernames and passwords. These credentials need to be securely stored in the back-end on a database and checked upon each visit. Web applications can also use external resources for authentication. You’ve likely logged into a website or application using your Facebook, Google, or Github credentials; that’s also an authentication process.

**Authorization **controls which users have access to which resources and actions. Certain application views, like the page to edit a social media personal profile, are only accessible to that user. Other activities, like deleting a post, are often similarly restricted.

When building a robust web application back-end, we need to incorporate both authentication (Who is this user? Are they who they claim to be?) and authorization (Who is allowed to do and see what?) into our server-side logic to make sure we’re creating secure, personalized, and dynamic content
How to Clone a Specific Git Branch
Tags: git, github, programming, beginners
Published: 2022-05-31 07:21:24

## What is Git

Git is a distributed version control system designed to track changes to a project (code) in software development. It is intended to enforce coordination, collaboration, speed, and efficiency among developers.

**GitHub**, on the other hand, is a web-based hosting service for version control using Git. 

**How to clone a Git Repository**

`Git Clone https://github.com/deadwin19/nest-rest-mongo-boilerplate.git`

This gives you access to all branches in this repository and you can easily toggle between different branches and see the files.

You can use following command to change your local branch 

`git branch -a`

## How to Clone a Specific Branch

**Option One**

`git clone --branch <branchname> <remote-repo-url>`

OR

`git clone -b <branchname> <remote-repo-url>`

With Option One, you will fetch all the branches in the repository but checkout to the one that you specified, and that branch becomes the configured local branch for `git push` and `git pull`.

**Option Two** 

`git clone --branch <branchname> --single-branch <remote-repo-url>`

OR

`git clone -b <branchname> --single-branch <remote-repo-url>`

Above step performs the same action as option one, except that it will only fetch files from the specified branch without fetching other branches.


## Conclusion
Git Clone for Single Branch saves good amount of disk space specially when you have to work on only specific branch.

If you liked the solution, please hit the Clap button or comment if you have any suggestion or feedback.
What is an API?
Tags: webdev, beginners, tutorial, discuss
Published: 2022-05-31 07:16:52

When a user navigates to a specific item for sale on an e-commerce site, the price listed for that item is stored in a database, and when they purchase it, the database will need to be updated with the correct inventory for that item type. In fact, much of what the back-end entails is reading, updating, or deleting information stored in a database.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n9epwn886wgumrdgpllc.png)
 In order to have consistent ways of interacting with data, a back-end will often include a web API. API stands for **A**pplication **P**rogram **I**nterface and can mean a lot of different things, but a **web API** is a collection of predefined ways of, or rules for, interacting with a web application’s data, often through an HTTP request-response cycle. Unlike the HTTP requests a client makes when a user navigates to a website’s URL, this type of request indicates how it would like to interact with a web application’s data (create new data, read existing data, update existing data, or delete existing data), and it receives some data back as a response.

Let’s walk through the example of making an online purchase again, but this time, we’ll imagine how the application’s web API might be used. When a user presses the button to submit an order, that will trigger a request to send them to a different view of the website, an order confirmation page, but an additional request will be triggered from the front-end, unseen by the user, to the web API so that the database can be updated with the information from the order.

Some web APIs are open to the public. Instagram, for example, has an API that other developers can use to access some of the data Instagram stores. Others are only used by the web application internally— Codecademy, for example, has a web API that employees use to accomplish internal tasks.

Dont forget to follow me at https://github.com/kibetamos
The Weekly Dev - 202222
Published: 2022-05-31 06:53:29

---
title: The Weekly Dev - 202222
published: true
description: 
tags: 
//cover_image: https://direct_url_to_image.jpg
canonical_url: 'https://kevwe.com/weekly/202222'
---
Distributed and Secure

This is how you want your application: distributed and secure. Distributed is not only a way to balance load and serve a huge number of users: it is also a way to avoid a single point of failure.

You don't want to stay awake at night to think "what happens if that machine fails?"

It should simply be allowed to fail, provided there is an highly available infrastructure that will handle the load with no disruption to the service.

But security is a perpetual struggle, also Quantum Computing starts to peep in:

https://kevwe.com/weekly/202222
As a Developer, what's that one thing you always want to say to Designers 😅 !
Tags: developer, designer, discuss, rant
Published: 2022-05-31 06:16:36

Hey developers, what's that one thing you always want to say to Designers. Advice, Suggestion, Question, complement anything.
As a designer(+developer) I want to know what others developers go through while working on a project with designers.
How to calculate any date in MacOS bash
Tags: shell
Published: 2022-05-31 06:11:17

---
title: How to calculate any date in MacOS bash
published: true
description: 
tags: shell
---

MacOs is not the same family of UNIX as Linux, so options for commands can be different.
By installing `coreutils` on MacOS, we can use the GNU/Linux `date` very easily as well.

```
brew install coreutils
```

Then we can use GNU/Linux `date` with this command `gdate` instead of `date` on MacOS.
Here is my example by using `gdate` to calculate the date on MacOS.

```
MONDAY=$(gdate -d 'last monday' '+%d.%m.%Y')
FRIDAY=$(gdate -d 'this Friday' '+%d.%m.%Y')
```

It will return the calculated date as the following(current date as I tested them: `08:05AM 31.05.2022`):

```
echo $MONDAY
## 30.05.2022

ECHO $FRIDAY
## 03.06.2022
```
JS Date-Time libraries you should use instead of traditional methods 😋
Tags: javascript, webdev, npm, codenewbie
Published: 2022-05-31 06:07:20

Working with Dates is a common task while building an application. First, we store the Date object, retrieve & then convert it into readable form, when it comes to a special format traditionally, we need to use a lot of functions and methods that make the process problematic and complex.

Even when I have used to work with dates, converting them into desirable formats becomes problematic. I used to do a lot of research over the StackOverflow; how to change into this, that format blah blah ...
So, through the article, we will see a few JS libraries which will make the building process easy.


![start](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ivcbqnr6amw7wvy11zxj.gif)

**1.  [Day.js](https://day.js.org/) -** Day.js is a minimalist JavaScript library for working the dates and times.

- Bundle size 2KB which is very less.
- Alternative to moment.js.
- Works both with Node.js and Browser.
- Install using **`npm install dayjs`** command

**2️. [date-fns](https://date-fns.org/) -** This is a modern JS library that is simple & a toolset for manipulating dates.

- Simple & 200+ functions.
- Works both with Node.js and Browser.
- Install using **`npm install date-fns`** command.
- date-fns provides some optional features through submodules in the same package.

**3. [js-joda](https://js-joda.github.io/js-joda/) -** js-joda is a lightweight & fast library which has no third party dependencies.

- 43Kb Size and compressed
- Works both with Node.js and Browser.
- Install using **`npm install @js-joda/core`** command.

**4️. [Luxon](https://moment.github.io/luxon/) -** If we need operations like add, subtract & parse with dates then, Luxon provides an easy way to deal with it.

- Good for Math operations.

- Works both with Node.js and Browser.

- Install using **`npm install luxon`** command.

#### Q. Why we haven't discussed yet Moment.js 🤔

You might be thinking why we haven't discussed yet a famous library Moment.js. Moment.js itself says not to use it for your new projects because of its size and immutability of objects & as a result, it increases web application size.
-If you are using Moment in your old project then you should continue with it.

🏁 We have discussed Date-Time libraries that make working with JavaScript dates easy. I have personally used Day.js, so in the next article, we will take a deeper look at Day.js.

-If you have used some other library, please mention it in the comments, It will be great to see you.
SubArray/SubString
Tags: dsa, subarray, substring
Published: 2022-05-31 06:00:38

# Sub Array/Sub Strings
    A Sub array or a subString is **contiguous part** of array/strings.
    subarray's are part of like array's with in array's.
    Let's look into some example

    Find the substrings of "masai":
     The total number of non-empty substrings are 15 . You might ask how? lets find it mathmetical way
     
     
```javascript
     //Given string
     let str = "masai";
    // finding the length/total element
     let n = str.length
     //Once we have total count of element which is 5 here
     // the formula is easy n*n+1/2
    //  So that's it lets apply the formula here
    // so here n=5 according to the formula
    // 5*5+1/2 = 15
    // so total of non-empty sub-stings will be 15
```
     Formula is n*n+1/2
     n is the total count of element/length

     Now lets find the substrings of the string on pen and paper
```
Here is the list of possible substrings of the string
'm' 
'm' 'a' 
'm' 'a' 's' 
'm' 'a' 's' 'a' 
'm' 'a' 's' 'a' 'i' 
'a' 
'a' 's' 
'a' 's' 'a' 
'a' 's' 'a' 'i' 
's' 
's' 'a' 
's' 'a' 'i' 
'a' 
'a' 'i' 
'i' 
```
    There we have it exactly 15 sub-strings.

    Anyway Here is the javascript implementation to get substings.
```javascript
let str = "masai";
for(let i = 0;i<str.length;i++){
  let str1 = "";
  for(let j=i;j<str.length;j++){
    str1+=str[j];
    console.log(str1)
  }
}
```
Error: Unable to connect kaptan server Hatası Çözümü
Tags: liman, kaptan, tayfa
Published: 2022-05-31 05:57:29

Merhabalar, eğer RPM tabanlı bir sunucu üzerinde kaptan koşturuyor ve tayfa makineniz üzerinde **"tayfa -a"** komutunun çıktısı içerisinde aşağıdaki hatayı alıyorsanız 

![unable to connect kaptan server](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mxxo4yij0rkkz8d2dl2n.png)
 
yapmanız gereken tek şey kaptan sunucunuzun üzerinde ki firewalld servisini kapatmaktır. Bunun için aşağıdaki komutlar çalıştırılır:
```
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service 
```

Firewall servisi kapatılarak ve disable hale getirilerek tayfanın kaptana bağlantı kurabilmesi sağlanır.