teleren/devto huggingface dataset:
What is the Neighbourhood (V2)
Tags: community, learning, networking
Published: 2023-05-05 23:34:40

The Neighbourhood is(was? 🔗👀👇🏾) a unique and diverse online chat group on Facebook Messenger, where technology enthusiasts of all backgrounds come together to share, learn, and grow. We aim to create a space that fosters open discussions and mutual support among people with varying levels of technical expertise.

In our community, members exchange ideas, solve everyday tech problems, celebrate discoveries, and share news and resources. We value curiosity, collaboration, and the desire to learn from one another, making it an inclusive environment for anyone interested in technology.

By being part of The Neighbourhood, members can access a wealth of knowledge, receive help when they're stuck, and share their excitement about new developments in the tech world. The connections and learning experiences within our community have proven to be invaluable for many of our members.

While we're currently on Facebook Messenger, we have plans to move to Discord in the future to accommodate our growing needs and interests. We're working on setting up a proper Discord server that will further enhance our community's experience.

The Neighbourhood is more than just a chat group; it's a collective of passionate individuals who share a common interest in technology. If you're curious to learn more or interested in joining our community, feel free to reach out to us. We're always excited to welcome new members who share our passion and vision.

Interested? Join us at Discord: https://discord.gg/gtUcJhZv39

Source material: https://dev.to/imtiaz101325/what-is-the-neighbourhood-4glb
Adnerx
Published: 2023-05-05 22:16:01

Adnerx is a platform that allows user to create advertisement which is going to reach potential customer...

Advertisement created on Adnerx is easily manage using some tool we've provided to user...

Adnerx had made it possible for use to monetize each advertisement created...

To start monetization, user to refer friends to use the site...

When a user invite his/her friend, a point would be given to the user, and this point is equivalent to 0.4$...

Sign up to Adnerx as you wait for the release of the new update...

[](www.adnerx.rf.gd)
Day 745: Longevity
Tags: hiphop, code, coding, lifelongdev
Published: 2023-05-05 21:52:52

_liner notes_:
- Professional : Pretty good day to end the week. Responded to some messages. Did some research to help out with a community question. Made some pretty good progress on a bare bones demo project to show a new feature. Finished up a couple of other things. Not a bad day at all.

- Personal : Went through a bunch of tracks for the radio show. Bought a few tracks on Bandcamp. Set up my tweets for my posts about the tracks I bought. Worked on adding some more functions to my side project to add some longevity on its usage.

![Green grass field near mountains under cloudy sky during daytime photo in High Tatras Mountains, Slovakia](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y8kbe8rx532hctu07l7u.jpg)

Going to finish putting together the radio show for tomorrow and work on my side project.

Have a great night and weekend!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube eU6MM56S45c %}
My new pixel metroidvania. Wishlist it on Steam!
Tags: gamedev, startup
Published: 2023-05-05 21:12:36

Hello everyone! I am an indie game developer, and this is my first post here.

My name is Vadym. I'm 15 years old, and I am from Ukraine.

Last 2 months I am working on my new game Awita: Journey of Hope.

This is a side-scroller metroidvania about a girl who saves her village from a terrible epidemic. She has to explore the big dangerous world, meet new friends and enemies and find out the secrets of the kingdom.

I'm developing it in Construct 3.

Now project is on very early stage of development, game can look raw but I will make it better and better soon. Please, add this game to your wishlist, it motivate me to work on it.


Links
[Steam page](https://store.steampowered.com/app/2382240/Awita_Journey_of_Hope/)
[My Twitter](https://twitter.com/ant_game_dev)
[Small website where you can find all links to my social media](https://awita-journey-of-hope.carrd.co/)
[Discord community](https://discord.gg/sU6PP9R7hj)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3i9mhl9d3lv629fxetz8.gif)
#DEVDiscuss: Personal Branding for Developers
Tags: discuss, writing, branding, devrel
Published: 2023-05-05 20:47:37

---
title: #DEVDiscuss: Personal Branding for Developers
published: true
description: 
tags: discuss, writing, branding, devrel
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4fs832pozevhanunweob.jpg
---

Hey Devs, happy Friday 🦥💚

As always, it's been an eventful week in the tech industry. We've got a lot to talk about! And today I want to discuss...**personal branding for developers**.

Here's what I mean by that: in 2023, a lot of developers have invested in **building a personal brand.** A personal brand is basically essential for developers who work as tech content creators, and lots of DevRel professionals build personal brands (along with audiences and communities) that follow them from role to role. There are some devs on more traditional career paths, too, that choose to build personal brands for fun or for profit.

A lot of tech content creators and DevRels have found community and brand-building success here on DEV, which is awesome. We love being a platform that supports creators on their career paths! We're also just as supportive of writers, bloggers, and DevRel folks who don't build a personal brand in order to focus their time and attention on other pursuits.

So I'm curious:

 - **If you have invested in a personal brand as a developer, what have you done to build your brand? What do you recommend and not recommend?**
 - **If you don't maintain a personal brand as a developer (especially if you're a content creator or DevRel), why not?**

Let's talk about it and learn from each other!

---

*Want to submit a question for discussion, or even ask for advice? Visit [Sloan's Inbox](https://docs.google.com/forms/d/e/1FAIpQLSc6wgzJ1hh2OR4WsWlJN9WHUJ8jV4dFkRDF2TUP32urHSAsQg/viewform?usp=sf_link)! You can choose to remain anonymous.*
How to Make Progress Bar in HTML and CSS
Tags: html, css, tutorial
Published: 2023-05-05 20:07:40

How To Make Progress Bar Using HTML CSS

in this tutorial we will learn how to make progress bar using html css. It's simple project but it's very helpful to display the progress bar with percentages on your website.

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

I'm going to share with you step by step usage of HTML and CSS to create a complete progress bar with cool animation, hope this tutorial is helpful and beneficial for you.

{% embed https://www.youtube.com/watch?v=7rhTDHwjaw4 %}
Quick tip: Using SingleStoreDB with ChatGPT to answer questions about the 2022 Winter Olympics
Tags: singlestoredb, openai, vectordatabase, gpt3
Published: 2023-05-05 19:47:15

## Abstract
The training data cutoff for ChatGPT-3 was in September 2021. It has limited knowledge of events after that date. However, OpenAI provides an [example notebook](https://github.com/openai/openai-cookbook/blob/main/examples/Question_answering_using_embeddings.ipynb) of how ChatGPT's knowledge could be extended to answer questions on events after September 2021. The example used is the 2022 Winter Olympics. In the example from OpenAI, the new data are kept in memory. However, we could use SingleStoreDB to provide long-term memory for ChatGPT.

## Introduction
Two previous articles focussed on using SinglestoreDB with OpenAI:

1. [Quick tip: Using OpenAI Embeddings Search with SingleStoreDB](https://dev.to/singlestore/quick-tip-using-openai-embeddings-search-with-singlestoredb-4do3)
2. [Quick tip: Using OpenAI with SingleStoreDB to store and query vectors of Fine Food Reviews](https://dev.to/singlestore/quick-tip-using-openai-with-singlestoredb-to-store-and-query-vectors-of-fine-food-reviews-32bn)

Using the strategies and approaches described, we can provide ChatGPT with knowledge of new events after September 2021.

The code is straightforward using the methods described in the two previous articles. We need to:

1. Replace the section marked **2. Search** of the [OpenAI notebook](https://github.com/openai/openai-cookbook/blob/main/examples/Question_answering_using_embeddings.ipynb) with the section marked **2. Search** of the [SingleStoreDB notebook](https://github.com/VeryFatBoy/openai-winter-olympics-2022/blob/main/openai_winter_olympics_2022.ipynb).
2. Include several extra libraries/imports as shown at the beginning of the SingleStoreDB notebook.

The SingleStoreDB notebook code can also be used standalone to demonstrate SingleStoreDB's ability to store and query vector data.

There are a variety of ways to use SingleStoreDB, such as:

- **SingleStoreDB Cloud**. Create a free [trial account](https://www.singlestore.com/cloud-trial/) with US$500 in credits; no credit card details are required.
- **SingleStoreDB Self-Managed**. Install the software yourself and available in several editions, such as [Standard](https://www.singlestore.com/self-managed-standard/) and [Premium](https://www.singlestore.com/self-managed-premium/).
- **SingleStoreDB Dev Image**. A [Docker image](https://github.com/singlestore-labs/singlestoredb-dev-image) that provides a quick and easy way to get started with SingleStoreDB.

The two previous articles described how to use a local self-managed installation and how to use the cloud, respectively. In a future article, we'll use Docker.

## Summary
Using the replacement SingleStoreDB code, we can inform ChatGPT of events after September 2021 and provide it with long-term memory.
Typescript Wizardy series 01
Published: 2023-05-05 19:31:40


![](https://cdn-images-1.medium.com/max/3200/1*g8wk4T0t9AO1A7pPWHED4g.jpeg)

I will share collection of typescript transformations, which can be handy in your life as software engineer. Lets start with simple one and then iterate! I will post three typescript riddles per article.

### 01-get-function-return-type

![](https://cdn-images-1.medium.com/max/3704/1*SmGl6mBZKdTxHKTr2W3ElQ.png)

*At first glance we can just type string but whenever the myFunc() return type changes we need to adapt.*

![](https://cdn-images-1.medium.com/max/3632/1*BhBIc5suOHlN3Lr1JBSGtg.png)

Solution: Utility type ReturnTypeallows you to obtain return type of func and typeof operator is used to obtain the type of variable. Remember that *values* and *types* aren’t the same thing.

### **02-extract-function-parameters**

![](https://cdn-images-1.medium.com/max/4348/1*KD9gzX3658yL23VYbsuqzg.png)

*Easy peasy just give me some parameters…*

![](https://cdn-images-1.medium.com/max/4852/1*11g5T8lUwYoA5ZO1EHjH6w.png)

### 03-promise’s-result

In this one the return value is still wrapped in this promise type.

![](https://cdn-images-1.medium.com/max/4060/1*xAoGS5qjyLzUXr9ZI2gvKQ.png)

*Awaited unwraps what was intended. It as well recursively unwraps promises. You should never get promise from await. For demostration check this snippet.*

    async function oops(x1: Promise<string | Promise<number>>, x2: Promise<string | Promise<number>>) {
    const y = await Promise.all([x1, x2]);
    // const y: [string | Promise<number>, string | Promise<number>] in TS4.4 and below 😭
    // const y: [string | number, string | number] in TS4.5 and above 😊
    }

So back to the solution is

![using another utility Awaited](https://cdn-images-1.medium.com/max/4276/1*oF5OCxkFsmlABVZfk_dwXQ.png)

And thats enough for today. See you in next chapter.
Keyword Clustering
Tags: keyword, keywordclustering
Published: 2023-05-05 19:27:59

As my first assignment, I have found an article about keyword clustering. Based on that alone, I assumed it had something to do with similar word groups. Possibly for hashtags or social media accounts. Which is accurate in a sense. The literal definition is the process of grouping similar keywords based on search intent.
In relation to the article, it correlates directly to gaining traffic in sales. Such as selling mattresses. Group clusters for king sized mattresses would be, "king mattress", "mattress king-size", "king-sized mattress" and so forth.
This helps to increase traffic for content by increasing content results with keywords.
In the article it also continues on to steps to achieve this yourself, including online tools for making keyword clusters, identifying search intent, tracking the volume of keyword clusters, and understanding effective keyword clusters.

https://www.semrush.com/blog/keyword-clustering/#step-2:-categorize-your-keywords
Exploring JavaScript Fetch API
Tags: javascript
Published: 2023-05-05 19:27:18



**What is Fetch?**  JavaScripts fetch API is powerful yet simple promised based interace that allows web browers to make HTTP request to servers. Fetch request are similar to XMLHTTPrequest, however with the use of promises Fetch request offers a simpler solution that avoids using callbacks. 

**Sending a request**
Below is a basic example of the fetch() method 

1.   fetch('example url')
2.    .then(response => {
3.    // server response             
4.    console.log(response);
5.    })
6.   .then(data => {
7.     // data from url 
8.     console.log(data);
9.   })
10.   .catch(error => {
11.     //error handling
12.   });

This code uses the fetch method to make a network request to an example URL. It then uses the .then method to handle the response returned from the server and log it to the console.

Afterwards, it uses another .then method to handle the data returned from the previous step and log it to the console.

Lastly, it uses the catch method to handle any errors that may occur during the fetch request and log them to the console.



**Init Options**
the fetch() method has two paramaters that can be passed.The path to the resource is the first parameter and is required for the method to work properly. A second optinonal init paramater is used for futher options of the fetch() method. 

1. const initOptions = {
2. method: "POST",
3. headers: { 'content-Type' : 'application/json },
4. body: JSON.stringify({ title: 'Example Fetch POST})
5. };
6. 
7. const response = fetch('example URL', initOptions);
8. const data = response.json();

in the code example above we are saving the options of our request to a const variable initOptions and passing this variable as the second paramater in our request. When creating request options there is plenlty of options to adjust a few are listed below  

- Method - sets request method to GET or Post.
- Headers - add headers to the request.
- Mode - request mode (cors, no-cors, or same-origin).
- Cache - string that determines how a request will interact with a browser.

- Credentals - what browsers do with credentials.


Additional fetch() init options and how to use them can be found here
https://developer.mozilla.org/en-US/docs/Web/API/fetch

**Response Error Handling**
Errors with HTTP request are handled with the response object properties. Response.ok and Response.status are two propeties returned that are usufal in error handling. Response.ok represents a boolean value to represent a successful response. Response.status will display HTTP codes 200 for success and a 404 code if no resource was found. Heres a look at a response object from www.boredapi.com. Response.ok is true and Response.status is 200 showing a successful request 

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

JavaScript fetch API is an excellent tool for handling HTTP requests, and its simplicity makes it easy to use. By using fetch, we can fetch data from the server, send data to the server, and handle errors with ease.
Orientação a Objetos amigável🧶[1/2]
Tags: beginners, programming, oop
Published: 2023-05-05 19:12:45


Programação Orientada a Objetos é um paradigma que visa representar objetos do mundo real através de códigos. Desta maneira, programamos representando acontecimentos do nosso cotidiano da forma mais fiel possível.

_Paradigma de programação: é uma forma, estilo ou convenção de se programar. Existem 4 muito utilizados e orientação a objetos é um deles._

Para entendermos melhor o ecossistema da POO, precisamos voltar na década de 1960, onde a Orientação a Objetos era concebida na Noruega por dois pesquisadores que decidiram utilizar o conceito de simulação para criar uma linguagem de programação.

A proposta deles era criar uma linguagem de Simulação de Eventos Discretos, isto é, uma forma de utilizar modelos lógicos e matemáticos para representar alterações de estado e os relacionamentos que levaram essas mudanças. O principal foco era criar uma maneira de programar onde a expressividade fosse ampla e os conceitos bem representados, tanto em características quanto em comportamento. Uma década depois, em 1970, tínhamos a consolidação e o reconhecimento da Orientação a Objetos.

Analisando do ponto de vista do desenvolvimento de softwares, a Orientação a objetos permite a criação de sistemas em uma forma amigável e produtiva ao representar os problemas do dia a dia através de objetos que possuem atributos e ações.

Além de manipular elementos, a orientação a objetos possui duas características importantíssimas conhecidas como o reuso e coesão. O reuso diz respeito ao reaproveitamento de informações, dados, comportamentos e objetos; isso automatiza significativamente a codificação e a aplicação como um todo, em como isso tudo se relaciona. Já a coesão diz respeito a como cada objeto deve se portar do ponto de vista do que ele se compromete a fazer. Isto quer dizer que um objeto só deve fazer o que se propõe, de forma coesa. Se pegarmos um exemplo de um objeto ventilador, não faria sentido atribuir a ele operações de um ar condicionado, o objeto não seria coeso.

Em um sistema de vendas possuímos clientes, funcionários e produtos que são objetos do programa e representam coisas que realmente existem. Eles possuem características, executam ações, se relacionam entre si, praticam coesão e reuso. Dessa forma conseguimos finalmente atribuir conceitos da orientação a objetos em um exemplo prático, e entender melhor sobre este paradigma de programação.
Postgres and Gaming
Tags: postgres, gaming, database, data
Published: 2023-05-05 18:53:30

PostgreSQL is a powerful and reliable open-source relational database management system that can be used in gaming

Following are the crucial steps for its implentation:


**Setting up a PostgreSQL database**
To set up a PostgreSQL database, you need to download and install PostgreSQL on your server or local machine. You can download PostgreSQL from the official website or use a package manager if your operating system supports it.

Once PostgreSQL is installed, you need to create a new database by running the createdb command in your terminal. For example, to create a new database called "gamedata", you can run the following command in your terminal:

createdb gamedata


**Connecting to the PostgreSQL database**
To connect to the PostgreSQL database using JavaScript, you will need to use a PostgreSQL driver. You can choose a driver that is compatible with your JavaScript framework or library. For example, if you are using Node.js, you can use the pg driver.

To connect to the database using the pg driver, you can use the following code:


_const { Pool } = require('pg');

const pool = new Pool({
  user: 'username',
  host: 'localhost',
  database: 'gamedata',
  password: 'password',
  port: 5432,
});_
This code creates a new connection pool to the "gamedata" database on the local machine using the specified username and password.

**Creating database tables**
Once you are connected to the PostgreSQL database, you need to create database tables to store your game data. You can create database tables using SQL commands. For example, you can use the following code to create a table to store player data:

_pool.query(`
  CREATE TABLE players (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    level INTEGER NOT NULL,
    score INTEGER NOT NULL
  )
`);_
This creates a table called "players" with columns for the player's ID, name, level, and score.

**Inserting data into the database**
Once your database tables are created, you can insert data into the database using SQL commands. For example, you can use the following code to insert a new player record into the "players" table with the name "Player 1", level 1, and score 100:

_pool.query(`
  INSERT INTO players (name, level, score)
  VALUES ('Player 1', 1, 100)
`);_




**Retrieving data from the database**
You can retrieve data from the database using SQL queries.

_const result = await pool.query('SELECT * FROM players');
console.log(result.rows);
_


**Updating and deleting data in the database**
You can update and delete data in the database using SQL commands

_pool.query(`
  UPDATE players SET score = 200 WHERE id = 1
`);_


**For Deletion:**

_pool.query(`
  DELETE FROM players WHERE id = 1
`);_
Project: Label with a junction table and indexes
Tags: apacheage, database
Published: 2023-05-05 18:38:43



At present, Apache AGE does not support multiple labels in its vertices and edges. Furthermore, it utilizes the unique label identifier (ID) to create the unique identifier (ID) for the vertices and edges.
My proposal here is to present a alternative solution for that problem and discuss any details. I'm open for feedbacks about it.
Read about Apache AGE here: https://age.apache.org/
Github here: https://github.com/apache/age
## Solution #1: Index for each label and a junction table
My solution will use the power of indexing to fetch data quickly. The table `vertex` will store a unique identifier (a simple sequential ID) and its properties as they exist today. The `edge` will have the same fields, in addition to their `start_vertex` and `end_vertex`. This will look like the image provided here:

![Image of the tables vertex and edge](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w7nqaxltaxs0yb03iafo.png)

Going forward, I will use the terms 'node' and 'vertex' interchangeably. To store the label in the node or edge, I've considered using an array to store all labels or creating columns for each label. However, both of these solutions have their drawbacks. If we use an array to store the label references within the node and edge data, it will be difficult to efficiently query and update data. If we create a separate column in the node and edge table for each label, we may end up with a large number of columns, which can become difficult to manage and maintain as the number of labels grows. Additionally, adding or removing label would require modifying the node or edge table schema, which can be disruptive.

Therefore, I propose another solution. We should create a table `label`, that store the `label_id` and `label_name`, and a junction table `vertex_labels` that links the table `vertex` and the table `label`. This junction table will have a composite primary key on the `vertex_id` and `label_id` columns, ensuring that it has no duplicates, and two foreign key columns: one that references the vertex table and one that references the label table. This allows a single node to have multiple label references, and the same solution applies to edges.
Here is an example of how the tables would look like:
![Table label with 3 rows: Movie, Actor and American. Table vertex_label linking the vertex 1 with the label Movie and American, and vertex 2 with label Actor and American](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/whm0mab2tytai1946p6w.png)

As I mentioned earlier, we will be using indexes, so we can create two indexes on the `node_labels` table: one on the `label_id` column, and another on the composite key of `node_id` and `label_id`. The first index allows us to quickly locate all nodes with a specific label, while the second index allows us to quickly locate all labels associated with a specific node.

I think this is a simple solution, so it's feasible, and it solves both problems particularly well.