teleren/devto huggingface dataset:
Using Graph Databases for Social Network Analysis: Best Practices and Tools
Published: 2023-04-12 15:50:01

Graph databases are an ideal solution for analyzing social networks, as they can efficiently represent and query complex relationships between individuals and groups. In this post, we'll explore the best practices and tools for using graph databases for social network analysis.

## Data Modeling Best Practices
To model social network data in a graph database, it's important to follow these best practices:

- **Identify the key entities:** Identify the key entities in the social network, such as individuals, groups, and relationships.
- **Define node and edge properties:** Define node and edge properties to capture important attributes of entities and relationships, such as age, gender, and the type of relationship.
- **Use consistent naming conventions:** Use consistent naming conventions for nodes, edges, and properties to make the data model more intuitive and easier to understand.

## Querying Best Practices
Once you've modeled social network data in a graph database, you can query it to gain insights into the relationships and connections between individuals and groups. Here are some best practices for querying social network data:

- **Use graph algorithms:** Use graph algorithms, such as betweenness centrality and community detection, to analyze the structure and behavior of the social network.
- **Use Cypher query language:** Use the Cypher query language, which is optimized for graph database querying, to write efficient queries.
- **Optimize query performance:** Optimize query performance by reducing the number of nodes and edges returned in each query, and by caching frequently accessed data.

## Tools for Social Network Analysis
There are several tools available for analyzing social networks using graph databases. Here are some popular ones:

- **Gephi**: A visualization and exploration platform for all kinds of networks, including social networks.
- **Cytoscape**: A platform for complex network analysis and visualization, with a focus on biological and social networks.
- **Neo4j Graph Data Science Library**: A library of algorithms and tools for analyzing large-scale graph data, including social networks.
- **Apache AGE**: An extension for PostgreSQL that lets you build graph database using relational databases.

## Conclusion
In summary, using graph databases for social network analysis requires careful consideration of data modeling best practices, efficient querying techniques, and the use of specialized tools. By following these best practices and using the right tools, you can gain valuable insights into the structure and behavior of social networks.

Check out Apache AGE, an extension for PostgreSQL that lets you build graph databases using SQL and Cypher language on top of relational database.

- [https://age.apache.org/](https://age.apache.org/)
- [https://github.com/apache/age](https://github.com/apache/age)
Abstract away the boring stuff
Tags: productivity, cloud, framework, deploy
Published: 2023-04-12 15:48:41

Computer science is often about creating abstractions to simplify complex problems and make them more manageable. Abstractions are simplified representations of complex systems or concepts that allow us to reason about them more easily.

Computer programming languages are abstractions that allow us to write complex instructions for computers in a way that's easier for humans to understand. E.g. operating systems and software frameworks provide abstractions that enable us to develop complex applications.

Abstractions are used in computer hardware design, such as in the development of computer processors and memory systems. These abstractions allow hardware designers to create efficient and powerful systems by simplifying the underlying complexities.

The key benefit of an abstraction is that it allows developers to reason about complex systems at a higher level of abstraction. This can make it easier to understand and work with those systems. Establishing reusable components and libraries can improve productivity and reduce development time.

The [Nitric framework](https://nitric.io) is a cloud-native development platform that provides a set of abstractions and tools to simplify the development of cloud-based applications. By creating an abstraction layer, Nitric makes it easier for developers to focus on building their applications rather than worrying about the underlying infrastructure.

One of the key benefits of Nitric is that it provides a great developer experience. Developers can use Nitric to build serverless functions, APIs, and other cloud-based applications using familiar programming languages and tools like typescript or python. Nitric abstracts away many of the complexities of building and deploying cloud applications.

[Nitric](https://nitric.io) provides a consistent and portable development experience across different cloud providers. Developers can use Nitric to build applications that can run on any cloud platform, including AWS, Google Cloud, and Microsoft Azure. This means that developers can choose the cloud provider that best suits their needs and leverage a number of other features that make it a powerful tool for cloud development, including support for containerization, automatic scaling, and integration with popular tools like Git and CI/CD pipelines.

By removing many of the complexities of building and deploying cloud applications, Nitric allows developers to focus on what they do best: writing high-quality code and delivering value to their customers.
35 berufliches Vorwärtskommen: Der eigentliche Weg – mangelnde fachliche Bildung.
Tags: deutsch, career, motivation, 1min
Published: 2023-04-12 15:42:44

Moin Moin,

machen wir uns nichts vor. Ein wichtiger Grund für Misserfolg kann mangelnde fachliche Bildung sein. Ob sich dies auf Konzepte oder praktische Erfahrung bezieht – fachliche Bildung ist essentiell für den eigenen Erfolg.

Die eigene fachliche Bildung sollte, daher für einen selbst einen hohen Stellenwert haben. Sollte man bei sich Unsicherheiten feststellen so kann dies ein Anzeichen für Unkenntnis sein.
> Selbstsicherheit rührt von Fähigkeit

( ”Confidence comes from competence” – Dan Lok )

Wie stellst du sicher, dass du bestens ausgebildet bist?
Prüfst du regelmäßig, ob du gewisse Grundlagen ( noch ) beherrscht?
Achtest du darauf, die Theorie in der Praxis anzuwenden? 
Wie sieht es insgesamt mit dem Sammeln praktischer Erfahrungen aus?

Beste Grüße,
Mustafa
Resolvendo problemas no HackerRank: Modificando números Kaprekar.
Tags: javascript, beginners, programming
Published: 2023-04-12 15:36:17

Olá, seja bem vindo a mais um Resolvendo problemas no HackerRank: No caso de hoje,vamos analisar valores e analisar se eles se classificam na categoria _kaprekar_ . Vejamos mais informações com a explicação detalhada e sua resolução.

**Modified Kaprekar Numbers -**

Um número de Kaprekar é um número inteiro positivo com uma propriedade especial. Se você elevar ao quadrado, dividir o número em dois inteiros e somar esses inteiros, você terá o mesmo valor com o qual começou.

Por exemplo:

- n = 9
- d = 1

Se n = 9 e ele for elevado ao quadrado, n² = 81. Se separar os seus valores serão 8 + 1 = 9, o valor origianl de n. Logo, ele seria um número kaprekar.

Dados dois inteiros positivos p e q onde p é menor que q, escreva um programa para imprimir os números de Kaprekar modificados no intervalo entre p e q, inclusive. Se nenhum número de Kaprekar modificado existir no intervalo fornecido, imprima INTERVALO INVALIDO.

 Vejamos o código a seguir:

```
function kaprekarNumbers(p, q) {
    // Write your code here
  let result = [];
    for(let i = p; i <= q; i++) {
      const squareString = (i * i).toString();
      const num1 = squareString.substring(0, squareString.length/2);
      const num2 = squareString.substring(squareString.length/2, squareString.length);
          
        if (Number(num1) + Number(num2) === i) {
            result = result.concat(i)
        }
    }
    if (result.length === 0) {
        console.log('INVALID RANGE')
    } else {
        console.log(...result);
    }
}
```

Para cada número no intervalo, a função calcula o quadrado desse número e converte o resultado em uma string. Em seguida, divide a string ao meio para obter dois números, "num1" e "num2". Se a soma desses dois números for igual ao número original, então esse número é considerado um "número de Kaprekar".

Caso contrário, a função continua iterando através dos números até que tenha verificado todos os números no intervalo. Se nenhum número de Kaprekar for encontrado, a função imprime "INVALID RANGE". Caso contrário, a função imprime todos os números de Kaprekar encontrados.


O resultado será:

```
1
100

1 9 45 55 99
```


Assim, concluímos mais um _Resolvendo problemas no HackerRank:_ até a próxima.
Instalar el driver de SQL Server para PHP 8.1 en Plesk
Published: 2023-04-12 15:34:00

Hoy he actualizado una aplicación con Laravel desde la versión 8 a la versión 10, y aparte del pequeño dolor de cabeza de subir dos versiones de Laravel, me he encontrado con el problema de que en la versión de PHP 8.1 no estaba configurado el driver de SQL Server.
Después de mucho buscar, los comandos que he tenido que lanzar son estos:

```
apt-get install apt-transport-https make gcc g++ unixodbc unixodbc-dev plesk-php81-dev

/opt/plesk/php/8.1/bin/pecl install pdo_sqlsrv

echo "extension=pdo_sqlsrv.so" > /opt/plesk/php/8.1/etc/php.d/pdo_sqlsrv.ini

/opt/plesk/php/8.1/bin/pecl install sqlsrv

echo "extension=sqlsrv.so" > /opt/plesk/php/8.1/etc/php.d/sqlsrv.ini

plesk bin php_handler --reread

plesk sbin packagemng -sdf
```

La información la he sacado de esta web y modificado un pelín para PHP 8.1:

https://support.plesk.com/hc/en-us/articles/12377482190999--How-to-install-the-sqlsrv-extension-for-the-Plesk-PHP-handlers-
How to use PowerShell to create Resource group and virtual Machine in Azure
Published: 2023-04-12 15:33:44

The first step is to go to Azure portal
Then click on the Azure cloud shell in the Azure portal and select PowerShell 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/he3hlxjn2as9jq4g1xm6.png)
Create a storage if you don’t have one

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

After creating your storage, you can write you script of what you want to create as shown below in the image and paste it in the PowerShell

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

From the above image, it shows that your Resource group has been created and that can be confirm by going to Resource group and check the list. My resource group name is myResourceGroup as you can see belowm, Also the script of whatever you want create can be pasted below the created resource as shown in Image

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aibprj6nysav2mm4abz0.png)
Then you have your virtual machine created using PowerShell in your resource group

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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ymlktebwh9q37ic1cr7.png)
Then you have your Virtual Machine running, to confirm if your Virtual machine has been created, go to resource group and click on the resource group you created as shown below

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y5tk4wa2xkmwq8wkz6vb.png)
 To check the performance of your Virtual Machine, click on Azure Advisor and see recommendation

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9n6u1e9c49zevbddd4m5.png)
Creating multiple accounts with one E-Mail address
Tags: watercooler, tutorial, productivity
Published: 2023-04-12 15:03:19

## The problem
When I was coding my first twitter bot, I ran into a major issue: I needed to register a new account for the bot, which required me to provide a unique email address.
There was one big issue with that: I had the intention of making multiple bots, just to test the capabilities of the twitter API.
I quickly realized that creating a new email for everyone of those would be really cumbersome and unmanageable after a while.

## Making use of "Address Aliasing"
I quickly found out about a neat little trick called "address aliasing". What it does is, allow you to add a "tag" to your email address, without actually changing it.
For Gmail and many other services you simply add a plus sign (+) right before the at (@) and add some text between the plus and at.
That could look as follows:
some.example@gmail.com --> some.example+devto@gmail.com
And that's also what I did for my bot account.

## Important things to keep in mind
1. If you are using a different provider than Gmail, there may be a different syntax for doing this.
2. It won't work for all services, as some built tag checks into their uniqueness check. For me it has worked everywhere I used it.
NVIDIA RTX 4070 tem data de lançamento vazada!
Tags: notícias, noticias, tecnologia
Published: 2023-04-12 15:24:10

---
title: NVIDIA RTX 4070 tem data de lançamento vazada!
published: true
date: 2023-04-12 14:40:53 UTC
tags: Notícias,noticias,tecnologia
canonical_url: https://guiadeti.com.br/nvidia-rtx-4070-tem-data-de-lancamento-vazada/
---

![Thumb Nvidia RTX - Guia de TI](https://guiadeti.com.br/wp-content/uploads/2023/04/RTX-4070x-1024x676.png "Thumb Nvidia RTX - Guia de TI")

Estamos próximos do lançamento da NVIDIA RTX 4070, sugere o blog Videocardz.

## Conteúdo
<nav><ul>
<li><a href="#nvidia">NVIDIA</a></li>
<li><a href="#rtx-4070">RTX 4070</a></li>
<li><a href="#compartilhe">Compartilhe!</a></li>
<li><a href="#creditos">Créditos</a></li>
</ul></nav>

## NVIDIA

A NVIDIA é a líder absoluta em placas de vídeo. A empresa também é conhecida por suas soluções de inteligência artificial e aprendizado de máquina, que têm aplicações em áreas como veículos autônomos, data centers, medicina e jogos. Além disso, a NVIDIA também desenvolve e fornece tecnologias para áreas como realidade virtual, computação em nuvem, computação de ponta e supercomputação. Suas GPUs são amplamente utilizadas por gamers, profissionais de criação de conteúdo, cientistas, pesquisadores e empresas em todo o mundo.

## RTX 4070

Se você está aguardando ansiosamente pela nova placa de vídeo da NVIDIA, ela deve ser lançada na próxima quinta-feira (13) custando US$ 599. A NVIDIA revelou em slides vazados sobre sua nova GPU GeForce RTX 4070, que promete uma experiência de jogo em resolução 1440p com mais de 100 quadros por segundo (FPS), utilizando recursos de ray tracing e o DLSS 3. Além disso, a empresa também destacou que essa GPU é voltada não apenas para gamers, mas também para criadores de conteúdo.

Os vazamentos revelam que a GeForce RTX 4070 terá um desempenho equivalente à RTX 3080, mesmo sem o uso do Frame Generation das GPUs Ada Lovelace. Embora a informação sobre a vantagem com o DLSS 3 tenha sido rasurada, é possível especular que seja algo em torno de 1.4 ou 1.5 vezes maior, com base na vantagem em relação à RTX 3070 na mesma imagem.

Em outras palavras, a NVIDIA GeForce RTX 4070 terá um desempenho comparável ao da RTX 3080, mas com um preço estimado de US$ 599, semelhante ao da RTX 3070 Ti, e contará com a vantagem do Frame Generator. É importante notar que, embora a comparação geral seja feita com a RTX 3080, o slide que apresenta o desempenho em jogos específicos não menciona a GPU Ampere.

![](https://guiadeti.com.br/wp-content/uploads/2023/04/RTX-4070-performance-1024x555.jpg)

## Compartilhe!

Gostou da notícia sobre placas de vídeo e lançamento de [hardware](https://guiadeti.com.br/guia-tags/cursos-de-hardware/)? Então compartilhe!

## Créditos

[Videocardz](https://videocardz.com/newz/nvidia-claims-geforce-rtx-4070-and-rtx-3080-offer-equal-dlss-performance-without-frame-generation)

O post [NVIDIA RTX 4070 tem data de lançamento vazada!](https://guiadeti.com.br/nvidia-rtx-4070-tem-data-de-lancamento-vazada/) apareceu primeiro em [Guia de TI](https://guiadeti.com.br).
Why use git cherry-pick instead of git rebase
Tags: github, git, beginners, programming
Published: 2023-04-12 14:40:19

Debugging can quickly become difficult when your `rebase` is significant. Fortunately, you can use `cherry-pick` to help you rebase your branch commit by commit.

Let's consider a practical example: you are developing on a branch named `feature`, and you need to rebase this branch onto `main`.

First, ensure that you are on the `feature` branch. Then, copy the commit hash that you want to apply to `feature` and use the following command:

```bash
git cherry-pick hash_from_main_branch
```

If the `cherry-pick` operation creates a conflict, you will need to resolve it. The advantage of this approach is that you can deal with a single `commit` and a smaller conflict. You know which `commit` created the conflict, making it easier to solve the problem.
LUCID DREAMS and PROGRAMING 🦄
Tags: programming, productivity, luciddreams, learning
Published: 2023-04-12 14:29:42

**Ever thought about finding a solution to a problem while you are actually sleeping ? **

Actually Yes ... We can think about a problem while sleeping and we can also find solutions for it , It can be achieved by_** lucid dreaming **_ . Its pretty cool Right ? with the amount of knowledge we have we can find solutions to our problems either coding or any other real life problems.. , it just takes some  practise and some time ... and Boom now you got some extra time to solve problems ... Just think about it , when someone gives a task of finding a solution to a particular problem , You can actually say I'll think about it while I'm sleeping  🤣 , and it can also be achieved by lucid dreaming where we find the solution with our full conscious mind accessing all the memories , knowledge , stuffs etc . Just try it 🦄
Creating Immutable/Unmodifiable Sets in Java
Tags: beginners, programming, tutorial, java
Published: 2023-04-12 14:10:39


>  Demo — [https://youtu.be/cVn3zvqXeIA](https://youtu.be/cVn3zvqXeIA)

    public class ImmutableSet {
        public static void main(String[] args) {
            //========== Method-1 ===========
            Set<String> immutableSet = Set.of("Value1", "Value2");
    
            //will contain only two elements
            System.out.println(immutableSet);
    
            /*
            Can't add or remove anything since Set is immutable.
            Doing so will throw UnsupportedOperationException
             */
            //immutableSet.add("Value3");
            //immutableSet.remove("Value1");
    
    
            //========== Method-2 ===========
            Set<String> sourceSet = new HashSet<>();
            sourceSet.add("E1");
            sourceSet.add("E2");
    
            /*
            Creates an immutable copy from another collection
             */
            Set<String> names = Set.copyOf(sourceSet);
            System.out.println(names);
    
            /*
            This won't make source immutable so we can still perform add and/or remove
            operations on the source collection.
            But these operations will have no impact on the immutable copy that we created.
             */
            sourceSet.add("E3");
            System.out.println(sourceSet);
    
            //this will still print two values E1 and E2
            System.out.println(names);
        }
    }
Why I need Zig
Tags: zig, rust, productivity, learning
Published: 2023-04-12 13:45:30

I've been thinking about why I feel more productive in some programming languages over others and this article by [Chris Krycho](https://twitter.com/chriskrycho) of the [New Rustacean Podcast](https://newrustacean.com/) made it click for me: [https://v5.chriskrycho.com/journal/some-thoughts-on-zig/](https://v5.chriskrycho.com/journal/some-thoughts-on-zig/)

I've been a programming language enthusiast since I started coding. A few years ago I decided to stop language hopping so much and work on building real things with a few of them. This helped me get through my masters with C++ and Python, and helped me start my career with Java. Now I spend a vast majority of my time writing TypeScript for work and personal projects, and this has been the most productive I've ever felt. Some of it comes down to experience for sure, but I think a big part of it is the size of the language.

I struggled to move as quickly as I can in TypeScript when working in Java or C++, and I think that made each "learning rep" longer so I couldn't do as many reps. This made the learning feedback loop feel not as rewarding. With the experience I've accumulated now, I feel more confident that I'll have better luck with those languages for the same domain. Which brings me to Zig.

I did a very narrow subset of Systems Programming in C++ and when I tried to get into it with Rust, I kept hitting a wall. I underestimated how steep the "steep learning curve" was. I've been playing with Zig for a couple days now and it's giving me the same productivity wins as TypeScript did in the beginning. I hope this will better build my confidence in the systems domain, so I can appreciate Rust more.

With all that said, this isn't a "Language A is better than B"; I'm a technology pluralist. And as much as I love Rust, I think I need a bit of time with Zig first to help me grow.

If you think of anything I have missed or just wanted to get in touch, you can reach me through a comment, via [Twitter](https://twitter.com/hasanhaja), via [Mastodon](https://fosstodon.org/@hasanhaja) or through [LinkedIn](https://www.linkedin.com/in/hasan-ali-0b247310b/).

Photo by <a href="https://unsplash.com/@johncobb?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">John Cobb</a> on <a href="https://unsplash.com/photos/ssAcdlJRsI4?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
Creating a Virtual Machine within 60 seconds using Quickstart Template in Azure
Published: 2023-04-12 13:25:25

Go to Azure portal
Search and click on Custom deployment, after that select Linux virtual machine and select Quick Start template as shown in the image below.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3dyhoglewkrh2vudzn9e.png)
Create a resource group 
Put your user name and password and then leave the information as default.
Click on create and review

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

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

After creating and deployment have completed the click on go to Resource

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

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

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

Then you have your Simple Linux Virtual Machine created

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tqruxasbjfudb3qzmr24.png)
Here you go, you have your Linux virtual Machine running.
Build, Test, and Deploy APIs with GPT-Generated Code
Tags: gpt3, api, opensource, llm
Published: 2023-04-12 12:14:10

Hey,

I've been working on a better code plugin for GPT. Here you ask GPT for what you need. Iterate by prompting, and you get deployed API endpoint which runs your code with every request. You can use any language, as it's run inside a Docker container.

Check out the repo for more information - [https://github.com/jb41/lambdapi](https://github.com/jb41/lambdapi)