teleren/devto huggingface dataset:
The Metaverse - Above and beyond the Universe
Tags: web3, writing
Published: 2022-08-29 15:14:00

The metaverse is a speculative replica of the Internet that can be viewed as a virtual universe facilitated by the use of virtual reality and augmented reality. An interconnection of three-dimensional virtual worlds focused on companionship, is a metaverse.

The term emerged from the 1992 novel _Snow Crash_ that showed characteristics of futurism and science-fiction. Components of the metaverse technology have long been developed within video games and are slowly creeping into e-commerce, e-learning and other aspects that concern the real world. Examples of metaverse simulations include _the eUniverse 1999 LivePlace_ social interaction platform, and the 2003 virtual world platform _Second Life_, both of which are often described as the first metaverse, containing many aspects of the 3D social media.

##Meta
> _In 2019, Facebook launched a social virtual world called **Facebook Horizon**, where users could enter and experience a virtual reality office as personally designed avatars. In 2021, Facebook was renamed **Meta**, with Mark Zuckerberg promising to develop a metaverse._

Meta, formerly known as _Facebook_, is an American conglomerate that owns Facebook, Instagram and Whatsapp, among other products and services. It is undoubtedly the largest and the most popular social networking company. Meta is focusing on inventing more hardware such as smart glasses, portable VR headsets/googles and consoles for users to access the Metaverse easily. In the metaverse, users are expected to create and/or customize a 3D avatar, explore the world, play games and make new friends.

Now, imagine your little Emma saw you reading about the Metaverse and asked you what it was all about. What would you say? Of course, there are many examples to give about the metaverse, but remember that children memorize ninety percent of information when visualized. [THE FUTURE LOOKS LIKE THIS](https://www.youtube.com/watch?v=8Pd_0CZC0w0) is a YouTube video that explains everything about the Metaverse. Better still, you could show her movies that talk about the metaverse(like Black Mirror, Westworld, Upload,The Feed, Ready Player One, Avatar, eXistenZ, Source Code, The Matrix, Strange Days), or show platforms that use the metaverse(like Roblox, Fornite, Animal Crossing and Minecraft).
How we started our database
Published: 2022-08-29 15:13:00

Reposted from: https://reduct-storage.dev/story

### From A Problem To An Idea

The idea to create a new timeseries database came from our experience in development of AI applications for industrial
production processes.
We couldn't use classical TSDBs because they focused on measurement from sensors, but we had large images from computer
vision cameras and 48kHz sound as well. We needed a format-agnostic blob storage for our data zoo, something like S3
but with an API which provided access with timestamps and time intervals.
Moreover, the disk space on our edge devices was critical to us and data reduction was a must.

In December 2021, Alexey Timin launched the Reduct Storage project and started developing a prototype
of [a storage engine][1] in modern C++20.

### Prototyping And Idea Approval

The prototype was ready in 5 months after the project started, and we had a chance to test it with a real AI
application.
After tons of bug fixes we got a working engine which did everything what we needed with good performance.

Meanwhile, Ciarán Moyne joined the project to support it with Client SDKs and CLI tools. Together we wrote a motivation
article ["Why we need a new database for Industry 4.0][2]
to tell different communities about the project and get feedback. We didn't blow up the Internet of course, but people
who work in the AI branch were positive about the general idea.

### Experimental Implementation

Now that we had a working battle-proven solution and approval, we kept working on the storage engine and its ecosystem. We
promoted the project and grew our community. By September 2022, we already had Client SDKs for [C++][3], [Python][4]
, [JavaScript][5]
and an embedded [WebConsole][6]. We stopped integrating new features into the experimental version 0 and started planing
version 1.0 which should be ready for a commercial usage.

The open source community was also growing. We started receiving bug fixes, documentation improvements and questions.

### What Next?

You can use the experimental implementation (v0) for any purposes, but it doesn't have many enterprise features like user authorisation or
replication. We're planning to add them in the next major version. See our [roadmap](/roadmap.html)

[1]:https://github.com/reduct-storage/reduct-storage

[2]:https://medium.com/@atimin/why-we-need-a-new-database-for-industry-4-0-f3e274dba145

[3]:https://github.com/reduct-storage/reduct-cpp

[4]:https://github.com/reduct-storage/reduct-py

[5]:https://github.com/reduct-storage/reduct-js

[6]:https://github.com/reduct-storage/web-console
User Meta Plugin Overview
Tags: wordpress, user, plugin, programming
Published: 2022-08-29 15:09:00

WordPress Plugin, [User Meta Pro](https://user-meta.com/) is a versatile user profile builder and user management plugin  that has the most features on the market. It aims to be your only go to plugin for user management.

{% embed https://www.youtube.com/watch?v=WCNKvtbNYZ4 %}
Introducing Collab - Realtime Code Collabration tool
Tags: redishackathon
Published: 2022-08-29 15:07:00

### Overview of My Submission
Collab is Realtime code sync tool where one user can collab to any other user to write code at a same time. Beside this, user can save written code snippets to the website by creating profile in the website. `Why don't you try it yourself 👉 ?` [open website](https://collabb-app.netlify.app/).

    
I have seen a lot of people who writes code in google docs while appearing the interview (specially while performing coding round). So, I was thinking to build a project to address this problem. At the same time dev community announced the hackathons & I thought this would be the right time to build project which ultimately gave birth to **[collab](https://collabb-app.netlify.app/)**.   

Apart of this, hackathon is also the one of the reason to build this application !

### Submission Category: 
The submission category of project is MEAN/MERN Mavericks.




### Video Explaining of My Project
{% embed https://www.youtube.com/watch?v=KlFQWcBmkCQ %}



### Language Used
I used Node.js runtime envirounment for building the application.
Apart of this, Collab is built under the following technologies and packages: 

- React JS (Frontend)
- Redis OM (Redis JSON, Redis Search)
- Socket.io (For realtime communication)

Ultimately, the my tech stack for the project is `RERN (Redis, Express, React, Node)`.


### Link to Code
{% embed https://github.com/rajeshkhadka200/collab %}


### Additional Resources / Info


**Website** : [Collab](https://collabb-app.netlify.app)
- Architecture diagram of collab : 


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

#### Some screenshots of application : 


- Homepage 

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

- Join to room page 

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

- Editor page 



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


- Profile Page 

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

#### Features included :

1. Can invite any other user for collaboration.
2. Auto sync code in first load.
3. Broadcast notice to every clients connected to room if any user (joined, disconnected, left) the room. 
4. Supports unlimited users to join the room. 


 

* _Check out [Redis OM](https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries), client libraries for working with Redis as a multi-model database._
* _Use [RedisInsight](https://redis.info/redisinsight) to visualize your data in Redis._
* _Sign up for a [free Redis database](https://redis.info/try-free-dev-to)._
Kotlin Springboot -- Part 4 Domain で Value Object を定義して Driver->Gateway->Usecase と連れ込んでいく
Tags: kotlin
Published: 2022-08-29 15:06:00


## Domain

```kotlin
data class Persons(val list: List<Person>)
data class Person(val name: Name, val age: Age)
data class Name(val value: String)
data class Age(val value: Int)
```

オブジェクト指向らしく、全てのプロパティをデータクラスで定義する。
細かいデータクラスを Person, Persons でまとめていく

https://blog.applibot.co.jp/2018/03/22/inheritance-for-dataclass-kotlin/

data class は getter/setter などをはやしてくれるもの

---

## Driver

ここから先は全ての層ごとにひとつのクラスで書く

```kotlin
class PersonDriver() {
  companion object {
    private val data:Persons = Persons(listOf(
      (Person(Name("taro"), Age(12))),
      (Person(Name("hanako"), Age(10))),
    ))
    fun findAll():Persons {
      return data
    }
  }
}
```

コンパニオンオブジェクトで書くとクラス外部から参照できる。
ドメインをつかってデータを定義して
全てを返す関数の findAll を作る

---

## Gateway

```kotlin
class PersonsGateway() {
  companion object {
    fun getAllPersons():Persons {
      return PersonDriver.findAll()
    }
  }
}
```

Driver の findAll を呼ぶ

---

## Usecase

```kotlin
class PersonsUsecase() {
  companion object {
    fun getAllPersons():Persons {
      return PersonsGateway.getAllPersons()
    }
  }
}
```

Gateway の getAllPersons を呼ぶ
同名で定義するので処理はない。
CA の理解のための形式的なもの。

---

## REST

```kotlin
@Controller
class PersonHandler {
  @GetMapping("/persons")
  fun getAllPersons(model:Model): String {
    val persons: Persons = PersonsUsecase.getAllPersons()
    model["title"] = persons.toString()
    return "index"
  }
}
```

Usecase から呼び出して /persons へのマッピングに当てる

---

## Web

みれる


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lu27lh8lr2lfzqhd0u6f.png)
Using Git to see recent changes in specified a time period
Tags: github, git, webdev
Published: 2022-08-29 15:05:35

Have you ever gone on a long holiday and wanted to check the updates your team have made since 2 weeks ago? Or maybe even in just the last week. Sure, you could trawl through PRs, but there may be an easier solution. **Git** has built in functionality to check just this.

If **you want to view the last 2 weeks of changes**, you can use `git log`. For example, to view the last two weeks of changes your repository, run the following in terminal:
```shell
git log --since='2 weeks ago'
```

Similarly, if you only wanted to view one week of changes, you'd write:
```shell
git log --since='2 weeks ago'
```

The date for the `--since` variable can be given like `2 weeks ago`, `1 year ago`, `2 months ago`, or `5 days ago` - so you have a lot of flexibility as to how you want to show the changes. You can also use ISO timestamps, such as `2022-03-03T14:32:12-01:00`

**Note**: you can also use `git whatchanged`, which does exactly the same thing as `git log`, but is kept around for historical reasons. The only difference between `git whatchanged` and `git log` is that `git whatchanged` shows all files in a change by default. 

It is recommended to use `git log` instead, as it's still possible to show all files using this command too, by typing `git log --since='2 weeks ago' --stat`

## Other git log options
As well as being able to give you a simple interface to view changes, there are some useful features `git log` has which can add more information to the log you receive. Here are some of my favourites:
- `--max-count` or `-n` - limits the maximum count of git commits - can be used like `git log --since='2 weeks ago' --max-count=5`
- `--author` or `--committer` - shows commits by a specific author, i.e. `git log --since='2 weeks ago' --author="joe"`
- `--merges` or `--no-merges` - either shows only merges, or hides all merges.
- `--grep` - limits the log by log item, so `git log --since='2 weeks ago' --grep="feat-ui"`will only show changes with 'feat-ui'.
- `--stat` - lists all the files made in a particular change.
- `-p` - which shows file by file changes.
ShortCut - Blazingly fast URL Shortener with great analytics built in
Tags: redishackathon, react, showdev, webdev
Published: 2022-08-29 15:05:00


### Overview of My Submission

Short Cut is blazingly fast URL shortner service. It is built on top of redis.

- Provides a great visual analytics of your short links.
- Fastest redirects to your original URL.
- No need to wait for the page to load.

[Live Demo](https://short-cut-redis.vercel.app/)


License
[MIT](https://choosealicense.com/licenses/mit/)

### Submission Category: 
Wacky Wildcards


### Video Explainer of My Project
This is a short 12 min video explaining the project, how `redis` helped building this project.

{%embed https://youtu.be/FvetxMf6msY %}

### Languages / Tools Used
- [TypeScript](https://www.typescriptlang.org/)
- [Redis Stack](https://redis.io/docs/stack/)
- [Planetscale](https://planetscale.com/)
- [Next JS](https://nextjs.org/)
- [Next-Auth.js](https://next-auth.js.org)
- [Prisma](https://prisma.io)
- [TailwindCSS](https://tailwindcss.com)
- [tRPC](https://trpc.io) 
- [Redis OM](https://github.com/redis/redis-om-node)

Redis Insight was very helpful while the whole process right from debugging, visualising and more.

### Link to Code
Star the repo if you liked it 😄
P.S: There would be more amazing things coming up in the repo, which you wouldn't want to miss out.
A few of them include

- Using `redis` for saving and fetching analytics.
- Ability to share links dashboard with others.
- Protected links, with passwords 

{% embed https://github.com/Rohithgilla12/short-cut %}


### Additional Resources / Info

**Screenshots**

![Home Screen](https://i.imgur.com/V0wctEo.png)

![Analytics](https://i.imgur.com/ulqR4Hj.png)


>How is it blazingly fast?

It gets the required information that is necessary for redirect directly from `redis`.
With the help of `redis-search` the time taken for retrieval is super fast. Along with this excellent retrieval time, I deployed `serverless` functions on the `edge` so the redirects are faster.
So as a combination of both redis and next js we were able to achieve it.

>Future scopes that will be added
On a higher level, these are the future scopes that are possible to add.

- Using `redis` for saving and fetching analytics.
- Ability to share links dashboard with others.
- Protected links, with passwords.
- Time based analytics, to know at what time the link was clicked the most.
- Developer API to create the links.
- Marketplace to add `widgets` to the application.
- More ways for user to sign in.


### Collaborators
{%embed https://dev.to/gillarohith %}


- - - 

* _Check out [Redis OM](https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries), client libraries for working with Redis as a multi-model database._
* _Use [RedisInsight](https://redis.info/redisinsight) to visualize your data in Redis._
* _Sign up for a [free Redis database](https://redis.info/try-free-dev-to)._
Meme Monday!! 🥹
Tags: watercooler, discuss, jokes
Published: 2022-08-29 14:59:59

Welcome to another **Meme Monday** post! Today's cover image comes from [last week's thread](https://dev.to/ben/meme-monday-or-tuesday--2m1k).

DEV is an inclusive space! Humor in poor taste will be downvoted by mods.
Move Zeroes
Tags: javascript, leetcode
Published: 2022-08-29 14:55:46

```
var moveZeroes = function (nums) {
  const len = nums.length
    let idx = 0;

    for (let i = 0; i <= len; i++) {
        if (nums[idx] === 0) {
            nums.splice(idx, 1)
            nums.push(0)
        } else {
            idx++
        }
    }
};


```
Remove Duplicates from Sorted Array - I
Published: 2022-08-29 14:55:14

Problem Statement #
Given an array of sorted numbers, remove all duplicates from it. You should not use any extra space; after removing the duplicates in-place return the new length of the array.

Example 1:

Input: [2, 3, 3, 3, 6, 9, 9]
Output: 4
Explanation: The first four elements after removing the duplicates will be [2, 3, 6, 9].


```js
/**
 * @param {number[]} nums
 * @return {number}
 */
var removeDuplicates = function(nums) {
    
    let resPointer = 1;

    for (let right = 1; right < nums.length; right ++) {
        if (nums[resPointer - 1] !== nums[right]) {
            nums[resPointer] = nums[right];
            resPointer++;
        }
    }
 
    return resPointer;
};
```
Reverse Words in a String III
Tags: javascript, leetcode
Published: 2022-08-29 14:54:45

```
/**
 * @param {string} s
 * @return {string}
 */
var reverseWords = function(s) {
    let newArray =[];
    let arraySplit = s.split(' ').filter(str => str);
    
    for(let i=0; i<arraySplit.length; i++){
        let reverseStr =  arraySplit[i].split('').reverse().join('')
        newArray.push(reverseStr);
    };
    
    return newArray.join(" ");
};
```
Reverse Words in a String
Published: 2022-08-29 14:53:00

```
/**
 * @param {string} s
 * @return {string}
 */
var reverseWords = function(s) {
return s.split(' ')
             .filter(str => str) // empty strings are falsy
             .reverse()
             .join(' ');
}
```

```
    /**
 * @param {string} s
 * @return {string}
 */
var reverseWords = function(s) {
   let returnString = "";
  let arraySplit = s?.trim()?.split(" ")?.reverse();

  for (let i = 0; i < arraySplit.length; i++) {
    if (arraySplit[i] !== "") {
      returnString += arraySplit[i] + (i < arraySplit.length - 1 ? " " : "");
    }
  }
  console.log(returnString);
    return returnString
    
}
    
```
Rotate Array - I
Tags: javascript, leetcode
Published: 2022-08-29 14:52:17

```
/**
 * @param {number[]} nums
 * @param {number} k
 * @return {void} Do not return anything, modify nums in-place instead.
 */
var rotate = function(nums, k) {
   if(k > nums.length)
        k = k - nums.length;
        
    nums.unshift(...nums.splice(nums.length - k, k))
    
    
    return nums
};
```
Virtual Network architecture 7 - Self-hosted agent
Published: 2022-08-29 14:39:00

# Summary

This article is Part.7 of virtual network architecture series. I will share how [Azure Pipelines self-hosted agent in the docker](https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/docker) works in the sample template [api-management-vnet](https://github.com/koheikawata/api-management-vnet). 

- [Virtual Network architecture 1 - Do I need virtual network?](https://dev.to/koheikawata/virtual-network-architecture-1-do-i-need-virtual-network-1nhk)
- [Virtual Network architecture 2 - Deployment pipelines](https://dev.to/koheikawata/virtual-network-architecture-2-deployment-pipelines-39p5)
- [Virtual Network architecture 3 - Key Vault Private Endpoint](https://dev.to/koheikawata/virtual-network-architecture-3-key-vault-private-endpoint-43nj)
- [Virtual Network architecture 4 - SQL Database Private Endpoit](https://dev.to/koheikawata/virtual-network-architecture-4-sql-database-private-endpoit-49o2)
- [Virtual Network architecture 5 - App Service Private Endpoint](https://dev.to/koheikawata/virtual-network-architecture-5-app-service-private-endpoint-5eao)
- [Virtual Network architecture 6 - Service Bus Private Endpoint](https://dev.to/koheikawata/virtual-network-architecture-6-service-bus-private-endpoint-oa)
- [Virtual Network architecture 7 - Self-hosted agent](https://dev.to/koheikawata/virtual-network-architecture-7-self-hosted-agent-32j4)

# TOC
- [Azure Container Instance](#aci)

# Azure Container Instance <a name="aci"></a>

Before I tried the self-hosted agent by myself, I thought the self-hosted agent running on Azure Container Instance is totally isolated from the Internet. And I was wondering how the self-hosted agent can access Azure Repos to get the updated software codes to deploy to services inside the virtual network. However, now I know Azure Container Instance is not isolated from the Internet at all. Below is some tips I found through my experience.

- Only outbound traffic of Azure Container Instance should be considered. And then the self-hosted agent does not need to have Private Endpoint, because Private Endpoint is only for inbound traffic.
- Similar with other Azure PaaS resources, a self-hosted agent in the docker running on Azure Container Instance has the public IP address. You have to protect Azure Container Instance in some ways, for example, described in [Configure a single public IP address for outbound and inbound traffic to a container group](https://docs.microsoft.com/en-us/azure/container-instances/container-instances-egress-ip-address).
- You can find what runtime the self-hosted agent installs when seeing `start.ps1` on [Create and build the Dockerfile](https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/docker?view=azure-devops#create-and-build-the-dockerfile) for Windows, for example. The runtime controls the outbound traffic from the Azure Container Instance, and you do not need to take care of it.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0iv4kjbkliac92s7t6hz.png)
Types Of Software
Tags: softwar, types
Published: 2022-08-29 14:33:11

Computer software
Computer [software](https://technicalvibes.org/types-of-software) is a type of program that runs on a computer. There are many types of programs that run on a computer, including word processors, spreadsheets, games, and web browsers.


Operating system
An operating system (OS) is the basic software that controls the hardware components of a computer. Without an OS, a computer will not function properly. An example of an operating system is Windows 10.
Web browser
A web browser is a piece of software that helps people access information on the World Wide Web. A web browser can be standalone or embedded in an application. Examples of web browsers include Google Chrome, Mozilla Firefox, Microsoft Edge, Apple Safari, Opera, and Internet Explorer.
Spreadsheet
A spreadsheet is a type of database management software that stores data in rows and columns. Spreadsheets are commonly used to record financial transactions, keep track of inventory, and organize recipes.
Word processor
A word processor is a type of document editing software that allows users to create documents using a keyboard and mouse. Word processors allow users to write letters, emails, reports, and articles.
Sports
A game is a type of software designed to challenge players' skills and abilities. Games range from simple board games to video games.
Database Management Software
Database management software is a type of software that helps organize and store information in a database. Databases are collections of records that are organized according to specific criteria.