teleren/devto huggingface dataset:
My first PR to Hacktoberfest
Tags: hacktoberfest23, hacktoberfest
Published: 2023-10-10 19:11:58

## Introduction

As a part of being my first time contributing to a real-world open source software project, I was a bit under confident if I would be able to contribute to a big project.

As it was my first PR to Hacktoberfest, I thought to make it an easy one and gradually increasing difficulty of the PRs I'll making to hacktoberfest. I aim to make my last PR in a
big software project which is known to many or I have personally used the software I am working on.

## The Hard Part - Finding a issue to work on.
I believe for this PR, as I worked on a readme file - finding the issue was more tough as compared to working on it. The repository was regarding some hands on labs on several technologies and I found an issue created by the owner. He wanted the assignee to create table of contents for the lesson that covered Ruby on Rails. I tried searching issues to work on through several methods as guided by my professor i.e 

1. Searching with `hacktoberfest` label
2. Searching with `good first issue` label
3. Searching in [Awesome for beginners](https://github.com/MunGell/awesome-for-beginners) 

Eventually, I found a repo to work on which had an issue as described above.
Link to the repo - [Learn-Git](https://github.com/rcallaby/Learn-Git)

This is was an easy project regarding learning features of Git and more. Contributing to this gave me chance even to help the learners who would be using the repo for their knowledge.

## Steps for the PR
Firstly, I had to fork the repo to my own account using Github user interface. Once the repo was forked, I used command line to work on it.

The first commmand I used was `git clone` to clone the project locally. I made the changes and then executed `git add .` and git commit. Finally after being done with all of the changes required. I just pushed the repo to main branch of forked repo.

I was able to create a pull request through the graphical interface itself. As this PR didn't have much changes, It easily got accepted without being me required to make any changes.

## Conclusion
Overall, It was nice experience as It was my first time working towards some challenge '**Hacktoberfest**' and it was my first commit to a public repo who's owner is unknown to me. I got a chance to revise all my previously learned git concepts and hoping to gradually increase the difficulty. I'll be creating the next PR a bit more technical for sure.
7 Tips to Optimise Postgres query performance
Tags: postgres, database, performance, sql
Published: 2023-10-10 18:59:04

PostgreSQL is a popular open-source relational database management system (RDBMS) that is known for its scalability and performance. However, as your database grows and your queries become more complex, it is important to optimise postgresql query to ensure that they are executing as efficiently as possible.

Here are some tips on how to optimise PostgreSQL query performance:
1. Adding Index
2. Creating Partitions
3. Adjust Auto-vacuum parameters
4. Reindexing tables
5. Using Materialize view

Checkout full detail and benchmarks [here](https://codesolutionshub.com/2023/10/11/optimise-postgresql-query-performance/).
My Journey with Removing Empty Methods in Uno Platform
Published: 2023-10-10 18:53:10


##Introduction
Hello readers! Today, I would like to share my experience of diving into the Uno Platform and working on issue #13046 which involved the removal of two empty methods.

##Issue Background
The main issue was with two methods, RestoreBindings and ClearBindings, found in the uno/src/Uno.UI/UI/Xaml/DependencyObjectStore.Binder.cs file. Both of these methods were empty and deemed unnecessary by the repository maintainers.


##Preparing the Fix
I was lucky in that there wasn't much setup required for this fix. However, I did need to familiarize myself with the larger codebase, understand how these methods fit into the broader context, and ensure that their removal would not negatively impact other parts of the system.

##Learning to Make the Fix
To get the context around these methods, I had to dive deep into the Uno Platform's data binding mechanisms. This helped me understand the purpose these methods once served and why they were now redundant.

##The Code Fix
I simply removed the two empty methods from the DependencyObjectStore.Binder.cs file. Additionally, I ensured that there were no references to these methods anywhere in the project.

##code_after_fix

Research & Challenges
While the modification itself seemed straightforward, the challenge was understanding the broader architecture of the Uno Platform. I read through the platform's documentation and even browsed some related discussions on forums to understand potential ramifications of the removal.

One difficulty was navigating the large codebase and ensuring that no other parts of the system were relying on these methods. But with the help of Uno Platform's community and my prior knowledge of C#, I overcame this.

##Interaction with Project Maintainers
After I made the necessary changes and created a Pull Request, I received feedback from the project maintainer, @jeromelaban, who informed me that although my changes were correct, they wouldn't be able to merge it into the master branch as they had placed the issue in the wrong bucket. This taught me the importance of communication and alignment in open-source projects.

##Conclusion
Despite the slight hiccup at the end, I thoroughly enjoyed my experience contributing to the Uno Platform. The issue provided me with an opportunity to understand a new codebase, interact with the community, and refine my problem-solving skills. It's all a part of the open-source journey!

[Issue](https://github.com/unoplatform/uno/issues/13046)
[PR](https://github.com/unoplatform/uno/pull/13945)
Configurando o OpenVPN 2.4.7 no Ubuntu 23.04
Tags: openvpn, vpn, kurybr, ubuntu
Published: 2023-10-10 18:35:27

---
title: Configurando o OpenVPN 2.4.7 no Ubuntu 23.04
published: true
description: 
tags: openvpn, vpn, kurybr, ubuntu
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-10-10 18:27 +0000
---

Olá, pessoal! Hoje vou compartilhar um método eficaz para configurar o OpenVPN 2.4.7 no Ubuntu 20.04. Vamos lá? 😄

## Instalação Manual

Desinstalando a versão atual do OpenVPN (se instalada):

```bash
sudo apt remove OpenVPN
```

### 2. Instalando o binário libssl1.1:

Acesse o [link](https://launchpad.net/ubuntu/focal/amd64/libssl1.1/1.1.1f-1ubuntu2.12)
Baixe o arquivo **libssl1.1_1.1.1f-1ubuntu2.12_amd64.deb** na seção "Downloadable files"
Dê um duplo clique no arquivo e abra com o Software Install (GUI)

### 3. Instalando o OpenVPN 2.4.7:

Acesse o [link](https://launchpad.net/ubuntu/focal/amd64/openvpn/2.4.7-1ubuntu2.20.04.4)
Baixe o arquivo **openvpn_2.4.7-1ubuntu2.20.04.4_amd64.deb** na seção "Downloadable files"
Dê um duplo clique no arquivo e abra com o Software Install (GUI)

### 4. Reinstalando o NetworkManager OpenVPN GUI:


```bash
sudo apt install network-manager-openvpn-gnome
```

> Nota: As etapas 1 e 4 devem ser executadas como um comando no terminal. Isso requer que você tenha as permissões adequadas e deve conhecer o nome de usuário e senha da sua máquina local.

Além disso, para as etapas 2 e 3, após baixar os pacotes .deb, você pode dar um duplo clique neles no Nautilus/gerenciador de arquivos e selecionar "Software Install" como a opção necessária para abrir o pacote.

Por último, mas não menos importante, é fundamental seguir estas etapas na ordem em que são apresentadas, caso contrário, o processo falhará.

--- 

Espero que este guia tenha sido útil para você. Fique à vontade para compartilhar suas experiências nos comentários abaixo e até a próxima! 😊

Este artigo foi baseado em uma resposta no Stackoverflow que pode ser encontrada aqui [https://askubuntu.com/a/1406472](https://askubuntu.com/a/1406472)
traduzido para o português.


*Artigo editado pelo ChatGPT*

> Nota: Update
Pra facilitar fiz um script para não precisar fazer manualmente esse processo
```
sudo apt remove openvpn -y
curl -O https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+build/23493657/+files/openvpn_2.4.7-1ubuntu2.20.04.4_amd64.deb
sudo dpkg -i openvpn_2.4.7-1ubuntu2.20.04.4_amd64.deb
rm openvpn_2.4.7-1ubuntu2.20.04.4_amd64.deb
sudo apt install network-manager-openvpn-gnome  -y
```
Heart beat loader using css
Tags: freecodez, react, html, blog
Published: 2023-10-10 18:22:54

Hey there, You are most welcome to this article. I hope you will enjoy this article. If you like this article then please share this article with your friends and colleagues. If you have any questions or suggestions regarding this article then please comment down below.

**Heart beat loader using css**

![Heart beat loader using css](https://res.cloudinary.com/freecodez/image/upload/v1696962167/images/yha83vhsq040db7o1tg2.webp)

For full source code visit : [https://freecodez.com/post/q3bdzi0](https://freecodez.com/post/q3bdzi0)


```
<!-- https://freecodez.com -->
<div class="loading">
  <svg width="64px" height="48px">
      <polyline points="0.157 23.954, 14 23.954, 21.843 48, 43 0, 50 24, 64 24" id="back"></polyline>
    <polyline points="0.157 23.954, 14 23.954, 21.843 48, 43 0, 50 24, 64 24" id="front"></polyline>
  </svg>
</div>

```

Source Code : [https://freecodez.com/post/q3bdzi0](https://freecodez.com/post/q3bdzi0)

For more such articles visit : [https://freecodez.com](https://freecodez.com/all)
Building a Golang Project from Scratch — Zero to Hero — Part 2
Tags: go, beginners, programming, tutorial
Published: 2023-10-10 18:19:22



In this part of the series, we will be designing the whole system which we will be coding in go in the future videos
dsysd dev

## Youtube Link

> https://www.youtube.com/watch?v=yiCXjacyOVU

## Brief Explanation

We will have users interact with out system.

They will be saving their data in the postgres database which is the database we will be using in the backend.
Schema

```sql
Table blogs     (id, name, content, created_at, updated_at, deleted_at)
Table user       (id, username, created_at, updated_at, deleted_at)
Table tag         (id, name)
Table blog_user   (user_id, blog_id)
Table blog_tag   (blog_id, tag_id)
```

The tables `blog_user` and `blog_tag` will be for keeping the relationships.

One user can have many blogs and one blog can have many tags

## Architecture

The user will interact with the system. All data will be saved to postgres database.

The data will be synced to elasticsearch in the backend. This sync will take place at regular intervals.

The user will be able to search the data using keywords (which will be fetched from elasticsearch).

Elasticsearch is a highly available nosql database optimised for searching.

We cannot fire

```sql
select * from postgres_table where content like %VALUE%
```

The query above is super costly especially if have 10s of 1000s of blogs.

## Subscribe to my Youtube channel

Subscribe to my youtube channel if you are on the lookout for more such awesome content in video format.

> https://www.youtube.com/@dsysd-dev

## Follow me on twitter 🐥

Join me on Twitter for a daily dose of knowledge, fascinating trivia, and valuable insights. Let’s embark on a journey of continuous learning and discovery together! Follow me to stay inspired and informed. 🚀

> https://twitter.com/dsysd_dev

## Subscribe to my Newsletter

If you like my content, then consider subscribing to my free newsletter, to get exclusive, educational, technical, interesting and career related content directly delivered to your inbox

> https://dsysd.beehiiv.com/subscribe

## Important Links

Thanks for reading the post, be sure to follow the links below for even more awesome content in the future.

Twitter: https://twitter.com/dsysd_dev
Youtube: https://www.youtube.com/@dsysd-dev
Github: https://github.com/dsysd-dev
Medium: https://medium.com/@dsysd-dev
Email: dsysd.mail@gmail.com
Telegram 📚: https://t.me/dsysd_dev_channel
Linkedin: https://www.linkedin.com/in/dsysd-dev/
Newsletter: https://dsysd.beehiiv.com/subscribe
Gumroad: https://dsysd.gumroad.com/
Dev.to: https://dev.to/dsysd_dev/
What is the CASE Statement in sql?
Tags: sql, database, analyst, programming
Published: 2023-10-10 18:09:03

The CASE statement is a powerful tool in programming and data manipulation that evaluates a series of conditions and returns a value based on the first condition that is met. Think of it as similar to the concept of an if-then-else statement.

Here's an in-depth explanation of how the CASE statement works:

1. **Condition Evaluation**: The CASE statement systematically goes through a set of conditions specified by the programmer. It starts with the first condition and evaluates whether it is true or false.

2. **Termination on True Condition**: When a condition evaluates to true, the CASE statement immediately terminates its evaluation and yields the corresponding result associated with that true condition. This means that only the first true condition is considered, and the rest of the conditions are ignored.

3. **Handling No True Conditions**: In cases where none of the specified conditions is true, and if there is an ELSE clause provided, the CASE statement will produce the value specified in the ELSE clause. This is useful for providing a default value or outcome when none of the conditions match.

To illustrate this concept, let's consider an example using a table called "EmployeeDemographics":

- **EmployeeDemographics Table**: This table presumably contains information about employees, such as their ages.


![EmployeDemographics Table](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hzz07xucijdquumdnb3d.png)


Now, let's create a CASE statement for this scenario:


![Example 1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y49ckxgzt24c67sd8enh.png)

In this example, we've set up three conditions:

1. If the employee's age is greater than 30, the outcome is 'OLD'.
2. If the employee's age is between 22 and 30, the outcome is 'YOUNG'.
3. If none of the above conditions are met (ELSE), the default outcome is 'CHILD'.

This CASE statement will evaluate the age of each employee in the "EmployeeDemographics" table and return one of the specified outcomes based on the age range that matches the condition. If none of the conditions match, it will default to 'CHILD'.

In summary, the CASE statement is a versatile tool for making conditional decisions in SQL and other programming languages, allowing you to handle different scenarios and produce appropriate results based on specified conditions.


Credit:Background image source was Google.
A Better History Command
Tags: linux, bash
Published: 2023-10-10 18:08:07

# Problem

Many people using the Linux terminal repeatedly search the command line history with such command:


```bash
history | grep cd
```

While this command is fine, I would like to shorten the command.

# Design

I would like to create a command `h` which will

- List the history if there is no argument
- Search the history for the arguments when they are supplied

# Implementation

After a few trials and error, I finally came up with a shell function, which I add to my `~/.bashrc` and `~/.zshrc` files:


```bash
function h() {
    history | grep -E --color=auto "${@:-}"
}
```

# Usage


When invoked without any arguments, the command `h` behaves just like the `history` command.


When invoked with one or more arguments, those arguments will be passed on to the `grep` command. Examples:


```bash
h            # shorthand for history
h ls         # Searches history for the ls command
h -i myfile  # Case-insensitive search for myfile
```
NodeWallet (projeto NodeJS de uma carteira virtual, usando Node+Express+Postgres)
Tags: javascript, node, express, postgres
Published: 2023-10-10 18:04:09

Após alguns meses afastado da programação, resolvi me dedicar aos estudos novamente, e agora a bola da vez é o NodeJS. Ferramenta na qual eu sempre tive interesse mas nunca coragem de começar a mexer (talvez era só preguiça mesmo). E a partir de agora vocês vão acompanhar minha trajetória de estudo dessa nova linguagem.

Antes de decidir colocar a mão na massa eu comecei a fazer o curso da OneBitCode para desenvolvedores, porem como ja possuo alguma experiência na programação resolvi começar sozinho um projeto de uma Carteira virtual, onde será possivel anotar as suas entradas e saídas de dinheiro, assim, podendo ter um controle maior das finanças (essa é a ideia inicial do projeto, mais para frente quando essas funcionalidades estiverem bem definidas vou implementar alguns gráficos para ter algo mais visual sobre as transações feitas no mês).

Agora vamos ao que interessa, para esse projeto decidir usar o Node com o Express e o Postgress no docker, ferramentas que ao meu ver vão lidar muito bem com a ideia proposta (node para o processamento dos dados no backend, express para as rotas e um banco de dados relacional, onde muitas informações possuem conexões umas com as outras).

Comecei criando a pasta a pasta do projeto, e dentro dela rodei o comando:

``` 
npm init -y 
```

para iniciar um projeto node

Logo que o package.json estava criado, reuni alguns pacotes externos nos quais eu vou necessitar durante a criação do projeto, e são eles:

1. Express
2. Bcrypt
3. JWT
4. Sequelize
5. Nodemon

Assim que as todas as depêndencias foram instaladas com o npm, parti para a criação do banco de dados. O banco usado em questão é o PostgreSQL por ser um banco de dados relacional e de facil manutenção, porem estou fazendo uso do mesmo via Docker. Para criar um banco de dados PostgreSQL via docker você precisa seguir os seguintes passos

1. Ter o Docker instalado na sua máquina
2. Criar a imagem com o comando:
   `docker run --name meu-postgres -e POSTGRES_PASSWORD=minhasenha -p 5432:5432 -d postgres
`
3. Conectar-se com o banco pelo comando: `docker exec -it meu-postgres psql -U postgres
`
4. E crie um banco de dados com o comando `CREATE DATABASE` e depois insira as informações do passo **2** em uma IDE (como o DBeaver) e seja feliz com seu banco.

Assim que seu projeto estiver iniciado e com o banco criado, rode o comando `npm sequelize init` para o sequelize criar as estruturas de pastas necessárias.

Agora que o projeto e o banco estão criados, é só partir para o desenvolvimento, e isso fica na parte 2 desse artigo!

Até!
Can't find the css file from Dev Tools
Published: 2023-10-10 18:00:49

I purchased a template and created a site (still working on it)
http://eazylearn.ai/.

The left side of the banner text needs to be moved up more. I see the padding and the margins in the dev tools but can't find where it is located for me to edit the file. Below is what I find but I can't seem to locate the file. 

Spent hours trying to figure this out but still no luck. Any help would be appreciated.


@media (min-width: 992px)
.pt-lg-5 {
    padding-top: 3rem!important;
}
A Guide to Creating a Video-Sharing Platform like Flickapp
Tags: tutorial, opensource, php
Published: 2023-10-10 17:43:12

In the ever-evolving digital landscape, the power of video has taken center stage. It's a medium that can entertain, educate, inspire, and connect people from around the world. Platforms like [Flickapp](https://flickapptv.com) or [Vimeo](https://vimeo.com) have not only harnessed the magic of video but have also achieved remarkable success in doing so. If you've been inspired by Flickapp's journey and are eager to embark on a similar path of creating your own video-sharing platform, this comprehensive guide is here to light your way.

## The Rise of Flickapp: A Tale of Success

Before we delve into the intricacies of building your platform, it's essential to understand the success story that Flickapp represents. Launched in 2022 by a group of filmmakers, Flickapp emerged as a platform with a distinct identity for Africans. While other video-sharing platforms were often cluttered with viral content and ads, Flickapp carved a niche for itself as a sanctuary for creatives and artists.

**Quality Over Quantity:** Flickapp chose quality over quantity from the outset. The platform encouraged its users to upload high-definition, artistic content rather than focusing on the number of views or clicks. This commitment to quality set Flickapp apart in a landscape dominated by skits and prank clips.

**Community and Collaboration:** Flickapp fostered a sense of community among its users. Filmmakers, animators, and artists found a welcoming environment to showcase their work, exchange ideas, and collaborate on projects. This sense of belonging contributed to Flickapp's unique charm.

**Ad-Free Model:** Unlike many competitors, Flickapp initially operated on an ad-free model. This was a breath of fresh air for users tired of intrusive ads disrupting their viewing experience. The platform monetized through paid subscriptions, offering premium features for a fee.

**Monetization Opportunities:** As Flickapp grew, it introduced various monetization options for creators. Video On Demand allowed users to sell their videos, and features like Tip Jar and Pay-to-View provided additional income streams. This approach empowered creators to turn their passion into profit.

**Constant Innovation:** Flickapp didn't rest on its laurels. It continued to innovate by adding features like 4K video support, live streaming, and a customizable player. These enhancements kept users engaged and attracted new ones.

In the following sections, we will explore the steps and considerations involved in creating a video-sharing platform like Flickapp. While replicating Flickapp's success won't be easy, understanding its journey can provide invaluable insights into what makes a video-sharing platform thrive in today's digital ecosystem. So, let's embark on this exciting journey together and explore how you can turn your vision into a platform that captures the hearts and creativity of video enthusiasts worldwide.
Mobile Device Management Market Leading Growth Drivers, Emerging Audience, Segments, Sales, Profits & Analysis
Published: 2023-10-10 17:38:28

The Insight Partners through the latest research report titled- “ Mobile Device Management Market Statistics and Industry Analysis| 2030” tries to investigate the dynamics of the chosen market. Researchers attempted to analyze the current situation and craft precise estimates of the future markets. It’s a syndicate research solution that offers a glimpse of industry trends, drivers, challenges, and a window of opportunities for Mobile Device Management. market players. Accurate estimates on market size, share, and CAGR add up to the reliability of this report.
The List of Companies

1.BlackBerry Limited.
2.Citrix Systems, Inc.
3.IBM
4.Microsoft
5.MOBILEIRON, INC.
6.SAP SE
7.Sophos Ltd.
8.SOTI Inc.
9.VMWare, Inc.
10.Zoho Corporation Pvt. Ltd.
What to expect from this edition of Mobile Device Management. market report.
1) Analysis of Industry Dynamics
This chapter of the report briefs on market size, shares, and revenue statistics calculated through scrutiny of various sources - Industry Business Outlook, Revenue, Trends, Comprehensive Analysis, Development Strategy, Future Plans and Industry Growth, Potential growth, attractive valuation, and Interactions with Industry Professionals. This section conjectures an examination of the worldwide Mobile Device Management. market deals, share, worth, status, and figure 2030.