teleren/devto huggingface dataset:
Next.ID:Building the identity infrastructure for next-gen social graph
Published: 2023-01-02 08:39:48



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

What is Next.ID?

Next.ID,the world’s first protocol offering Decentralized Identity as a Service (DIaaS).It enable users integrate web2 and web3 digital identities.As the world’s first Decentralized Identity Service, Next.ID creates an identity infrastructure that securely aggregates users identities into Avatars, making it the primary touch point for interfacing with any app or DApp.Next.ID’s Avatars exist independently from Web2 and Web3, using a blockchain-like model to retain data integrity. This allows Next.ID to connect to all Web2 and Web3 platforms, aggregating all identities in a fully-agnostic way, unifying them into one single decentralized identifier (DID).
These Avatars are

1.Cryptographic key pairs, making them tamper-proof and unhackable
2.Used on an opt-in basis, that mean you can create as many or as few of them as you want
3.Usable and operationable across any platform that supports integration with Next.ID.

What social graph project can be build upon with Next.ID?

At the dawn of Web3, Next.ID is here to build a decentralized social graph identity protocol that serves Web2 and Web3 social networks.Our mission is to return the ownership of digital identity data back to users while providing an infrastructure for all Web3 developers to integrate and build upon.With Next.ID, the ownership of identity will be returned to users.You will own your digital identity on Planet.

Next.ID aims to build a decentralized identity protocol that returns identity ownership and utilities back to both Web2 and Web3 users and developers while inviting all Web2 and Web3 social networks and to scale with us. A blockchain-agnostic infrastructure, Next.ID uses blockchain model for app development and allows DApps to access and use digital identity provided by users themselves.We envision Next.ID as a identity infrastructure for both Web2 and Web3 applications, and developers can plug the identity module into their applications with simple codes.Next.ID identity datastore is built with arweave, and identity avatars are fully visible on arweave network.Next.ID gateway provides a highly interoperable layer for DApps to start plugging in social accounts for their users.Any decentralized identity application that can easily integrate next.id and no longer need to worry about maintaining your own digital identity database.

We striving for wider adoptions of decentralized identities. The decentralized identity social graph we desire is an extensive hyper multi graph, the indispensable building block for prosperous identity applications on Web2 and Web3 Platforms.

Next.ID is a trustless platform and promising solution for self- sovereign identities, which would always run by community.We always welcome developers integrate with Next.ID.

Intrigued? Find out more at docs.next.id or reach out to us at developer@next.id. Follow us on Twitter: @NextDotID
HFDP(1) - Strategy Pattern
Published: 2023-01-02 08:29:00

In this blog we begin a new series as summary to Head Fist Design Pattern. 

Now we are at Chapter 1: Intro to Design Patterns. This chapter introduces strategy pattern cleverly with an example of simDuck app. 

## Intro

Suppose you are working for a company that simulates duck behaviors. For this purpose, the current code base maintains an abstract class `Duck`, and many subclasses like `MallardDuck`, `RedHeadDuck`, `RubberDuck`. Previously, the duck could only swim, display itself. However, now the company wants to add behaviors to ducks, names `fly` and `quack` behaviors. 

This seems easy to do, you add two abstract methods `fly`, `quack` to the `Duck` abstract class, and go ahead to every subclass to implement these two methods ... But this is not DRY (don't repeat yourself) as many ducks could fly, and fly similarly. So if you implement fly to every class, you are copying paste many times. This would be error-prone and difficult to maintain in the future. 

How should we solve this problem _elegantly_? Probably we could abstract interface `FlyBehavior` and `QuackBehavior`, then gives concrete implementations like `FlyWithWings`, `FlyNoWays`, `Quack`, `MuteQuack`, `Squeak` etc. For the abstract class `Duck`, we define its behavior as `interface` / `supertype`, with the real / concrete behavior being defined at runtime/subclasses. 

And that is exactly the **Strategy Pattern**. 

## Formal Definition
> The **Strategy Pattern** defines a family of algorithms, encapsulates each other, and makes them interchangeable. **Strategy** lets the algorithm vary independently from clients that use it. 

## Design Principles 
- Identify the aspects of your application that vary and separate them from what stays the same.


- Program to an interface, not an implementation. 


- Favor composition over inheritance. 

## OO basics

- Abstraction
- Encapsulation
- Inheritance 
- Polymorphism 

## Graphs

The big picture using Strategy Pattern:


![big picture](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/numy3taznzwqjgweuheg.png)
Technical Blog Project
Published: 2023-01-02 08:25:49

### This is a technical blog project I've been working on for the past month. There's still a lot of work to be done, but I think this is a really good starting template that many freelancers should strive for.

``` text
Tech Stack: 
- React.js
- Next.js
- Tailwind CSS
- Amplify AWS Auth 
- Stripe Payments 
- React Bootstrap
- Netlify Hosting 
```

#### Live Demo: {% embed https://huntermacias.io/ %}

#### Free Access: {% embed https://huntermacias.io/pandabits %}
#### Sign up for Free Premium Content: {% embed https://huntermacias.io/blog %}
How to deal with : Function uuid_generate_v4() does not exist on PostgreSQL
Tags: postgres
Published: 2023-01-02 08:14:53

---
title: How to deal with : Function uuid_generate_v4() does not exist on PostgreSQL
published: true
tags: postgresql
---

Some time when you create the table on PostgreSQL and want to use UUID Generator V4 on **uuid** field but turn out that you got this error.

```
Function uuid_generate_v4() does not exist
```

To resolve this problem, just run this command in the SQL Editor

```sql
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
```
Note: you also need to have **uuid-ossp.control** extension to be available provided by **postgresql-contrib** package
Understanding Task.WhenAll in C#
Tags: csharp, threading, programming, asynchronusprogramming
Published: 2023-01-02 08:13:45

The `Task.WhenAll` method in C# allows you to create a task that is completed when a group of other tasks have finished executing. This can be useful when you want to wait for multiple tasks to complete before moving on to other parts of your code.

To use `Task.WhenAll`, you can pass it a list of tasks that you want to wait for. For example:

```csharp
Task<string> task1 = Task.FromResult("task1");
Task<string> task2 = Task.FromResult("task2");
Task<string> task3 = Task.FromResult("task3");

Task<string[]> allTasks = Task.WhenAll(task1, task2, task3);

string[] results = await allTasks;
```

In this code, `task1`, `task2`, and `task3` are tasks that return strings. `Task.WhenAll` creates a new task that is completed when all of these tasks have finished. The `await` operator is used to wait for the `allTasks` task to complete, and the results of the individual tasks are stored in an array.

There are several benefits to using `Task.WhenAll`:

- It allows you to easily wait for multiple tasks to complete before moving on to other parts of your code.
- It can improve the performance of your application by allowing you to take advantage of parallelism. If you have multiple independent tasks that can be run at the same time, `Task.WhenAll` can help you do this.

However, there are also some potential drawbacks to `Task.WhenAll`:

- If one of the tasks passed to it throws an exception, the exception will be wrapped in an `AggregateException` and thrown when you call `await` on the returned task. This can make it harder to handle exceptions from individual tasks.
- It can make your code harder to debug because it can be more difficult to understand what is happening when multiple tasks are running concurrently.

Internally, `Task.WhenAll` works by creating a new task that is set up to be completed when all of the provided tasks have finished. This new task is returned to the caller. The .NET Framework includes a thread pool, which is a collection of worker threads that are used to execute tasks asynchronously. When you call `Task.WhenAll`, the tasks you pass to it are scheduled to run on the thread pool.

As each task finishes, it signals the new task created by `Task.WhenAll` that it has completed. When all of the tasks have finished, the new task is marked as completed, and any code waiting on the task (using the `await` operator, for example) can continue execution.

Using `Task.WhenAll`, you can take advantage of parallelism when it is available, which can improve the performance of your application.
How YOU can type faster
Tags: productivity, programming
Published: 2023-01-02 08:11:16

Typing is a very underrated skill. Typing faster can not only make you seem cool but will also get your work done quicker. In this short article, I'll tell you how you can get a typing speed of about 100WPM in about 90 days!

## Understanding the keyboard
The first step to achieving this goal is to understand and get familiar with the layout of your keyboard. to get started study, your keyboard and slowly try to type short sentences without looking at your keyboard itself. Don't worry about speed at this point. The purpose of this is to get familiar with your tool.

![The ideal keyboard position](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kmquoc2we2iwyh7jmhzg.png)

## Now all you got to do is just practice!
Once you can type shorter sentences without looking at the keyboard, All you have to do is work on doing this faster and faster. You can track how quickly you have been typing by taking typing tests on the internet. One of the most amazing websites to do this is monkey type. You ideally want to take the 30 seconds tests which are perfect for this stage. even typing for 15 minutes daily consistently can improve your speed weekly.

## Resources for typing faster
Now ill be listing some resources which are FREE to use. These can help you reach your goal of typing faster!
1)https://www.keybr.com/
2)https://monkeytype.com/
That's pretty much it, These two resources can help you reach your goal. It's now all just up to you for practicing on these websites!
A Nice Developer Joke For Today
Tags: jokes, dailydeveloperjokes
Published: 2023-01-02 08:00:25

---
title: "A Nice Developer 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
---

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/5e1258d16351b.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:___ What do you get when you cross a computer and a life guard?

___A:___ A screensaver!
 -->
Creating IDE, any suggestions, will be accepted
Published: 2023-01-02 07:58:56

Hey, I am new here.
I hope this community is that what I was expecting, and it will be, 
I am a beginner level Developer, I just wanna create my own Integrated Development Environment (IDE) what are the important things I need to keep in mind, any good idea about ..

Please share with me...
Regards: Syab Ahmad
January 2, 2023
Use #ChatGTP and Google together?
Tags: chatgtp, openai, googlechrome, coding
Published: 2023-01-02 07:54:37

We all have seen how powerful ChatGTP is because it gives simple and precise human like explanations to all the queries that we ask, and that's all we need instead of thousands of links and clicking on every link to see if the information is relevant to us.

However, it is an AI, and sometimes the response is the same, and if you want more variants of the answer at that time, Google is the best option.

What if I told you that you could use both of these together? There is a new extension that can help in this scenario.
Go to Google and search  

## ChatGPT for Google
A browser extension to display ChatGPT response alongside Google (and other search engines) results, supports Chrome/Edge/Firefox

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

**Link** : https://chrome.google.com/webstore/detail/chatgpt-for-google/jgjaeacdkonaoafenlfkkkmbaopkbilf

Steps

1. Download and install the **ChatGPT for Google** extension 
2. Sign Up or login to chat.openai.com
3. Search anything on google


Example of google search

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

**Github repo link** https://github.com/wong2/chat-gpt-google-extension
Android 基礎 -- Part 00 Android Studio のインストールと Hello World
Tags: android, japanese
Published: 2023-01-02 07:51:15


## why

Kotlin のスキルを腐らせないため。

---

## Android Studio のインストール

Kotlin Web で開発するときの IntelliJ だと解釈している。

https://bsblog.casareal.co.jp/archives/5263

(IntelliJ でも使えるが、アプリ用ではないので使いにくそう)

最新版を Mac にインストールする

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

Apple Chip の Android Studio Dolphin
2021.3.1 Patch 1 を DL

Applications フォルダーに移動

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

* Android の Software Dev Kit
* Java の Dev Kit ( Runtime Env を含む )
* その他付属品

これらを起動時にインストールする。

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

いろいろ依存関係を入れて

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

プロジェクトを作れる状態になった

---

## Hello World のプロジェクトを作成

https://akira-watson.com/android/helloworld.html

この記事を参考にする。公式は動画だったので。

New Project -> Empty Activity を選択して

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

プロジェクト名を HelloAndroid 
SDK を Android 12.0

で作成する

---

## 内部の MainActivity.kt のコードを見る

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

UI は IntelliJ と同じに見える。
しかし、コードを見ると Springboot と違い、起点となる main が見つからない。

Main として最初に動きそうな MainActivity.kt を見てみると

```kotlin
package com.example.helloandroid

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}
```

activitiy_main を使っているようだ。
activitiy_main.xml は res/layout にあり

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

ファイルを開くと UI で表示されてしまう

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

右下の Common Attributes のところで中身を
Hello Android! に変更できた

---

## ビルドしてエミュレーターを起動する。

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

お馴染みのトンカチボタンを押して、三角ボタンでスタートさせる。
するとなんと Android の電源が入り、選択していたアプリが自動で起動する。

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

これで変更した文言で、アプリを起動することができた。

---

## vim の有効化

https://ikenox.info/blog/ideavim-introduction/

Settings (旧 Preferences ) / Plugins /
ここからインストールできる。

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

https://dev.to/kaede_io/intellij-chu-qi-she-ding-tocao-zuo-3003

.vimrc は IntelliJ の記事と同じく、~/userName/.idealVimrc
に書けば適用される。


---

## 今後

XML での UI 表示が酷く書きづらいので、
React っぽく宣言的に書ける Jetpack Compose というフレームワークを導入してみる。


https://dev.to/vtsen/simple-rest-api-android-app-in-kotlin-various-http-client-library-implementations-11i2

この記事のように REST API を叩きたい
Exit Comfort Zone
Tags: comfortzone, growthzone, learningzone, storybytes
Published: 2023-01-02 07:42:17


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l3xuuj7laxxe3262r4i9.png)As 2022 is about to end, all eyes and hopes are that 2023 will be even better in many ways. To be realistic, anything that has to improve needs a minor adoption, correction or change from how it was before. Paradoxically, change is, for most of us, scary as it also sometimes leads to uncertainty. However, the quality of your life will essentially measure how much uncertainty you can tolerate. Too much certainty and you stagnate, and you can even regress. Adapt or remain there, someone once said. Most of us naturally drift towards our comfort zone. You can just put your feet up. This is where you could drive to work with your eyes closed. You know the route; you know the routine. But, if you were honest, you’d say you weren’t really making much effort, and most likely, you are achieving little to notch. Life, perhaps, is even boring. However, the learning and growth zone is the central place where learning and development occur. You must regularly push out of your comfort zone and try new things to keep the brain and body active. Every change starts from within, and for all the changes we are awaiting in 2023, let’s call an exit from our Comfort Zone, wander through the zones, and reach the growth zone. Next time, you can feel confident knowing that when faced with a challenge outside of your comfort zone, you took it on with dignity and had the best time of learning and unlearning you have had in a long time.
CSS media queries
Tags: css, webdev, beginners
Published: 2023-01-02 07:40:20

hi friends today I am going to write about CSS media queries. 

CSS media queries are a way of to target browser and change certain styling or run other code when certain required conditions are met.

media queries are mainly used to create websites which are responsive i.e. that change with respect to the screen.

the typical syntax of media queries are:

`@media mediatype operator(mostly and) media-feature operator media-feature {
 .element {
    /* Apply some styles */

  }
} 
`

let us break down the syntax 

**@media** must be compulsorily used to write media queries it is a rule to include a block of CSS properties only if a certain condition is true. 

**media-type**: the name chosen for the media type decides which type of device the queries are targeted the main type of media-types are in modern times the situations to write media types are rare :

- all: suitable all devices 

- print: Matches documents that are viewed in a print preview or any media that breaks the content up into pages intended to print.

- screen:  Intended primarily for color computer screens.

- speech: Matches devices that read the content audibly, such as a screen reader. 

**media-feature**: describes the features of the devices such as size of screen, type of screen etc. but the mostly used features are max-width, min- width and may be sometimes orientation(landscape or portrait).

**operator**: Media queries support logical operators like many programming languages so that we can match media types based on certain conditions. most widely used operator is `and`.

let us see media queries in action via the following example.

code:
`        .item{
            height: 100px;
            width: 100px;
            border: 2px solid black;
            margin: 10px ;
        }
        @media screen and (max-width: 600px) and (min-width: 500px) {
            body{
                background-color: aqua;
            }
            .container{
                display: flex;
                flex-wrap: wrap;
            }
        }`

result(between 500px and 600px):

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

as seen in the above image all the media query properties will be applied at the range of screen sizes of 500px and 600px
Top 5 Featured DEV Tag(#css) Posts from the year 2022
Tags: css, c4r4x35
Published: 2023-01-02 07:14:17

##17 Killer Web Apps You Should Use to Increase Productivity 🚀💯
Today speed is one of the main criteria to beat the competition. I handpicked some useful productivity apps, that might come in handy in your developer workflow.

These include anything you might need...
{% link https://dev.to/madza/17-killer-websites-you-should-use-to-increase-productivity-2enk %}
##Super Useful CSS Resources 🌈
A collection of 70 hand-picked, web-based tools which are actually useful.
Each will generate pure CSS without the need for JS or any external libraries.

Full credit goes to the authors behind each...
{% link https://dev.to/lissy93/super-useful-css-resources-1ba3 %}
##12 Gorgeous UI Components for Your Design Inspiration 🎨✨
Modern web development has shifted to component-based architecture, resulting in faster development, more control and lower maintenance costs. In this article I handpicked some of my favorite UI...
{% link https://dev.to/madza/12-gorgeous-ui-components-for-your-design-inspiration-3feh %}
##5 websites to learn Frontend-web development faster
I have been a web developer for a few years now. I have come to a complete understanding that being a frontend-web developer is undoubtedly about combining HTML, CSS and JavaScript.


Oh yes, you read...
{% link https://dev.to/qbentil/5-websites-to-learn-frontend-web-development-faster-3cid %}
##Fantastic CSS border animation
Today I visited the blog site - shoptalkshow, and it was very interesting to see such a style:

I think its style is unique, especially some of the bezels.

So, in this article we will use CSS to...
{% link https://dev.to/chokcoco/fantastic-css-border-animation-5166 %}
Top 5 Featured DEV Tag(#react) Posts from the year 2022
Tags: react, c4r4x35
Published: 2023-01-02 07:11:20

##20 GitHub Repositories to Become a React Master
If you are just starting off with React, this article is well worth your time to read and bookmark. These 20 React Github repositories will undoubtedly assist you in becoming a React Master.

I'm a...
{% link https://dev.to/martinageradams/20-github-repositories-to-become-a-react-master-opl %}
##How to Build Scalable Architecture for your Next.js Project
All code from this tutorial as a complete package is available in this repository.

If you find this tutorial helpful, please share it with your friends and colleagues! For more like it you can...
{% link https://dev.to/alexeagleson/how-to-build-scalable-architecture-for-your-nextjs-project-2pb7 %}
##Bad Habits of Mid-Level React Developers
If you're a mid-level React developer looking to become an advanced React developer, this post is for you!

I've been reviewing React code written by junior and mid-level developers on a daily basis...
{% link https://dev.to/srmagura/bad-habits-of-mid-level-react-developers-b41 %}
##Building a chat app with Socket.io and React 🚀
What is this article about?

We have all encountered chat over the web, that can be Facebook, Instagram, Whatsapp and the list goes on.
Just to give a bit of context, you send a message to a person or...
{% link https://dev.to/novu/building-a-chat-app-with-socketio-and-react-2edj %}
##16 Libraries You Should Know as a React Developer 💯🔥
Being a modern React developer is not about knowing just React itself. To stay competitive, it is highly recommended to explore the whole ecosystem.

In this article I've compiled some of the most...
{% link https://dev.to/madza/16-libraries-you-should-know-as-a-react-developer-4f1k %}