teleren/devto huggingface dataset:
Solana #1: Program Derived Address
Tags: solana
Published: 2022-08-10 15:10:00

<div>
<h2>Terminology:</h2>
</div>
<div>

<ul>
<li>
An Account whose owner is a program and thus is not controlled by a private key like other account.
</li>
<li>
PDAs (program derived address) are addresses with special properties. Unlike normal addresses, PDAs are not public keys and therefore do not have an associated private key. There are 2 use cases for PDAs. They provide a mechanism to build hashmap-like structures on-chain and they allow programs to sign instructions.
</li>
<li>
Given a seed of arbitrary bytes plus a program id, you can generate what look like an ed25519 public key.
</li>
<li>
A Program Derived Address (PDA> is home to an account that's designed to be controlled by a specific program. With PDAs, programs can programmatically sign for certain address without needing a private key. At the same time, PDAs ensure that no external user could also generate a valid signature for the same address. These address serve as the foundation for Cross-Program Invocation, which allows Solana apps to be compossible with one another. 
</li>
</ul>
</div>

<div>
<h2>Create a PDA:</h2>
</div>

<div>
<p>
PDAs are derived from a program id and a collection of seeds such as string "vote_account", a public key, an array of numbers. 
</p>
<div>
What Programming Language to Learn First 🎓
Tags: programming, beginners, discuss
Published: 2022-08-10 15:05:00

What programming language to learn first?
This question has haunted philosophers since the dawn of man, hundreds of options, and there is no best one.
So today I’m gonna take you on a tour to decide.

So, to simplify let's see programming languages that you should never learn as your first language:

- C/C++

Yes, yes... I know you may tell me:
But those are the best languages to learn because you learn how to operate with memory and bla bla bla. But isn't it too complicated for beginners, it’s also dangerous, stuff like memory leaks can cause hazards, so for my sake please look for alternatives.

- Java/C#

So as a beginner why the hell would you learn a boilerplate-driven language that relies on OOP which (for me is complete nonsense) life is too short to code with these languages. C# is hard to avoid for game development but throw Java in the trash ok?

- Rust

Rust is a gorgeous language in my opinion but for beginners learning it is truly a crime like C/C++ it provides so much low-level control and also the way it deals with memory is complicated.

Now we remain with a few that you should choose from in my opinion:



- Python

One of the most popular, but you might be surprised why it’s not the best. You can see why in this article [JavaScript vs Python](https://dev.to/youssefmic/why-javascript-is-better-than-python-22k4)
- Lua
It’s the most underrated language, in my opinion, it is easier than python with 21 keywords and is pretty powerful, but still not the best choice.

You have been waiting for this are you ready?
🥁🥁
Don’t hate me for that but it’s

- JavaScript:

It’s the language of the web and has a way of doing everything with no excuses also JavaScript has a classical curly brace syntax and needs no setup at all.
It might be a bit tough to debug but this is better to use it without a full IDE like Pycharm or IntelliJ

I'm okay with other opinions so what do you suggest no I am not a professional guy so take my words with a grain of salt.
🔴 Live Q&A session on Luos Discord today at 6:00 PM CEST
Tags: opensource, microservices, help, luos
Published: 2022-08-10 14:58:49

🔴 Live Q&A session on Luos Discord today at 6:00 PM CEST with Nicolas Rabault. Comment on this post with your question now and we’ll answer it and chat live!

To participate ⏩ https://discord.gg/mbhFNbSDn3?event=1004737808256221184

It will be a small friendly event to ask all the questions you want about Luos: upcoming features, vision, best use cases, pros and cons.
Do you know the Big-O notation?
Tags: algorithms, programming, computerscience
Published: 2022-08-10 14:52:00

_This article is being shared from the Codacy Code Quality Community, and was written by one of our members. Check out the original post **[here](https://community.codacy.com/t/do-you-know-the-big-o-notation/1005)** and feel free to join the community._

If you had an algorithm-related course as I did, you’ve probably heard of the term Big-O notation. It’s one of the most fundamental tools to analyze the cost of an algorithm before implementing it.

Big-O notation describes the complexity of your code using algebraic terms, but let’s take a simpler approach today when analyzing five typical Big-Os.

## O(1) - constant complexity
No matter the input data set size, it will always take constant time (or space) to execute.

```
int constantExample(int x, int y) {
     return x + y;
}
```

## O(log(n)) - logarithmic complexity
Generally reduces the problem size with each iteration.

```
int logarithmicExample(int n) {
     while (n > 1) {
          n = n / 2;
     }
}
```

## O(n) - linear complexity
It increases linearly and in direct proportion to the size of the input.

```
boolean linearExample(IList elements, int value) {
     foreach (var element in elements) {
          if (element == value) return true;
     }
     return false;
}
```

## O(n2) - quadratic complexity
It’s directly proportional to the square of the size of the input.

```
void quadraticExample(int array[], int size) {
     for (int i = 0; i < size; i++) {
          for (int j = 0; j < size; j++) {
               print(array[i], array[j]);
          }
     }
}
```

## O(2n) - exponential complexity
Its growth doubles with each addition to the input data set. A great example is the Fibonacci recursive function.

```
int fibonacci(int number) {
     if (number <= 1) return number;
     return fibonacci(number - 1) + fibonacci(number - 2);
}
```

💡 Do you want a Big-O cheatsheet? [Head over here](https://community.codacy.com/t/do-you-know-the-big-o-notation/1005#:~:text=Big%2DO%20cheatsheet%3F-,Head%20over%20here,-!%20You%E2%80%99ll%20find%20complexities)! You’ll find complexities for data structures and algorithms in the best, average, and worst-case scenarios.


![Big-O complexity chart from Big-O Cheat Sheet](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/em7r4sh3bak57l6gx2bj.png)
How to fix typos in your code for goods !
Tags: devjournal, tooling, tutorial
Published: 2022-08-10 14:19:00

I'm often struggling with typos when writing code.

Some typos are really nasty to find, such as:
- maintanance => maintenance
- begining => beginning
- proccess => process

of course, they are obvious when you read them here, but in a large repository...

There are three tools I use.

- [typos](https://github.com/crate-ci/typos)
- [codespell](https://github.com/codespell-project/codespell)
- [cspell](https://github.com/streetsidesoftware/cspell-cli)

all of them are opensource projects.

All these tools are reporting errors, the first two ones can help you to fix them.

## typos

simply type `typos` to see the error the tool report.

You can then use `typos -w` to fix the ones, the tool suggests.

- Fast
- blacklist dictionaries based
- [pre-commit.com hook available](https://github.com/crate-ci/typos/blob/master/.pre-commit-hooks.yaml)

## codespell

- blacklist dictionaries based
- interactive mode
- [pre-commit.com hook available](https://github.com/crate-ci/typos/blob/master/.pre-commit-hooks.yaml)

## cspell

- slow compared to the others
- whitelist dictionaries based
- reports anything it doesn't know, it can be very verbose
- you can easily add your own dictionaries
- ability to dump unknown words with `--words-only`, so you can build your own dictionaries easily
- [VS Code extension available](https://github.com/streetsidesoftware/vscode-spell-checker)
- [pre-commit.com hook available](https://github.com/streetsidesoftware/cspell-cli/blob/main/.pre-commit-hooks.yaml)


## Battle fight

- `typos` and `codespell` are definitely easy to use on daily basis
- `cspell` is the one I use in VS Code and commit hook, it requires some fine-tuning by building dictionaries, but it's worth it on long term.
The Front end Back end and Me
Tags: frontend, backend
Published: 2022-08-10 14:15:51

Before Enrolling at FlatIron I didn't even have a basic understanding g of the client server model. The ability to access vast amounts of information instantly was always a given and I spent little time worrying about the details of how this was accomplished. only after my first few weeks in coding bootcamp did I finally start to understand the basic principles that the foundation of the internet is built on.

The front end was what I assumed to be the most useful. Its what the users sees. This keeps things nice and organized and readable. The best thing about the front end is the immediate gratification you receive when you are working on it. The importance of the front end is to make a simple and clean interface that helps get useful information as fast as possible. The common language that the internet reads for the front end is JavaScript. Once you have the elements and components that the user will need to interact with you front end you can decorate the site with CSS. The front end is by far the prettier side of the process but a good front end it nothing without a good back end.

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

The back end while not as interactive and colorful is still a vital part of getting information to a user. In fact it is arguably the most important part since without it the data can not be properly stores organized and displayed. The back end is what holds and manages the data. rather than looking pretty it relies heavily on functionality rather than style. This is important if you want the right data to show up when you call it and its associated data. When the front end calls on the back end the path needs to be well laid out to get the right information to the right place on the screen of the user.

Front end and Back ends are very important elements to making a full stack application. Growing up I never gave much thought to how the information I needed to get got called an displayed on my screen. Now that we have been working on the various languages and methods that we use to get information from the back end to the front end I have a much fuller understanding of the client server model.
Change the way you google coding problems
Tags: programming, productivity, community
Published: 2022-08-10 14:14:47

Today I want to write a bit of a different post. I was thinking of featuring a few of the tools I use frequently, but everyone wrote about that already (and that's ok 😛).
So I decided to only showcase my absolute favorite... and that has to be GREPPER.
### What is Grepper?
Grepper is a free browser extension that works with your search engine to instantly get relevant code snippets.

To start I am not affiliated with the Grepper team at all, just want to showcase this awesome product!

I like Grepper so much because of how seamless using it is, we all google hundreds of things every day and click on StackOverflow about as many times. Grepper just gives you what you need at the top of the page!

### A Picture is worth a thousand words

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


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ql5b51reukwd3hxf19dh.PNG)
Grepper is still at a fairly early stage, and they take feedback very seriously, even my own 😛 . I hope this post will inspire some of you to try it out and perhaps together we can improve the product and it can improve our work!

Feel free to check out my grepper profile:
https://www.codegrepper.com/profile/daniel-hirshson


Star our [Github repo](https://bit.ly/3QFgAUf) and join the discussion in our [Discord channel](https://bit.ly/3HQtlYo)!
Test your API for free now at [BLST](https://www.blstsecurity.com/?promo=blst&domain=https://dev.to/Change_the_way_you_google_coding problems)!
What is Next.js?
Tags: webdev, nextjs, react, headlesscms
Published: 2022-08-10 14:12:00

Considering building a React application from scratch? Next.js, a React framework can help a ton.

So what is Next.js? What are its advantages? What about imitations? And most importantly, should you use it for your next project? In this blog post, we explore Next.js in more detail. We’ll talk about its architecture, types of applications you can build with it, share some code snippets, and explain why it’s the framework-of-choice for web development.

https://buttercms.com/blog/what-is-nextjs/
How to Manage Multiple Google Drive Accounts?
Published: 2022-08-10 14:10:17

If you are a Google Drive user, perhaps you know the struggle of trying to maintain more than one account on the platform, especially if you have a Mac. The process is tedious and not intuitive at all, and switching between accounts is time-consuming. Fortunately enough, there are a few methods on how you can manage multiple accounts at ease, without losing precious time or using complicated software. Therefore, let's talk about [managing google drive accounts](https://cloudmounter.net/manage-multiple-cloud/multiple-google-drive-accounts/) with CloudMounter.


CloudMounter is a powerful Mac application that functions as both a cloud management solution and a mounting tool that will enhance your cloud experience and help you seamlessly transfer, copy, merge, clone, delete and download all of your files stored in the cloud.
Whether you have movies, videos, audio files, documents, or photos, you can upload and download anything with CloudMounter. When it comes to handling multiple drives, you can bring all of your accounts and this wonderful app will do the rest for you.
Boas Práticas CSS
Published: 2022-08-10 14:03:44

---
title: Boas Práticas CSS
published: true
description: 
tags: 
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
---

É comum ouvir sobre boas práticas quando se estuda programação. O fato de existir diversas formas de se fazer algo exige que busquemos a melhor forma de expressar, em código, o que precisamos.

No CSS, há várias boas práticas que precisamos seguir para garantir alta legibilidade e facilitar a manutenção do nosso código.

## Uso de classes

Use classes **sempre** que você for repetir a estilização. Mas não só de cores, aproveite as classes para setar alturas, disposição de elementos e aplique nas divs que precisam receber esses valores.

![Classes - CSS](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g74mhz23d4npzv7mdvua.png)

## Variáveis

O uso de variáveis CSS é indispensável para qualquer projeto. Além de boa prática, facilita e muito quando precisamos alterar a cor de um elemento.

Basta criar na :root e todo o projeto terá acesso. Se você tiver muitas, pode optar em ter um arquivo só para elas.

![Variáveis](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o38mc3arz3d72clrpa4r.png)

![Chamada de variáveis](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5dmh7ry880i3201x1qvq.png)

## Unidade de medida

Usar px para tudo dificulta na responsividade do seu projeto. As medidas flexíveis, como **rem** e **em** definem o tamanho de acordo com o tamanho de fonte dos elementos anteriores e pode, e deve, ser utilizada para garantir que o tamanho dos objetos seja compatível com a tela.

Ao usar **rem**, o tamanho do seu elemento vai ser o mesmo do tamanho da fonte definida no **:root**. **2rem**, por exemplo, é 2x o tamanho da fonte. A mesma lógica vale para **em**, mas nesse caso, o valor a ser respeitado será do elemento pai.

## Resetar estilos padrões

Estilo padrão é aquele que é definido pelo user agent do navegador e cada um possui o seu. Antes de iniciar a estilização, precisamos remover espaços, bordas indesejadas e qualquer estilização prévia que interfira no resultado final.

A dica aqui é criar um estilo padrão, que vai ser colocado em todos os projetos. Aqui eu deixo os indispensáveis, mas você pode complementar e em conjunto com o :root iniciar o seu projeto da melhor forma possível.

![Estilo padrão](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2426bg6kuu0l7hgoyxfg.png)

---

Esse é um post escrito por mim :sparkles::heart:

E é o segundo de uma série de 4 posts sobre esse projeto. No próximo pretendo falar sobre os padrões CSS que uso.

Se você deseja adicionar algo, sugerir correção ou conversar sobre tecnologias e afins, pode me chamar no [Instagram](https://www.instagram.com/drumond_dev/) ou por e-mail no contato.elisadrumond@gmail.com
Program for Fibonacci Numbers
Tags: cpp, c, fibonacci
Published: 2022-08-10 14:02:00

### What is the Fibonacci series?
The Fibonacci sequence is a sequence where the next term is the sum of the previous two terms. The first two terms of the Fibonacci sequence are 0 followed by 1.

```
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21 ....
```
In mathematical terms,the sequence Fn of Fibonacci numbers is defined by recursion relation

```
Fn = Fn-1 + Fn-2 
```
where

```
F0 = 0 , F1 = 1
```
### We will discuss three ways to write the Fibonacci series program :

- Fibonacci series using recursion
- Fibonacci series using Iterative method
- Fibonacci series using Matrix Exponentiation

### (1) Recursive Method :
A simple method that is a direct recursive implementation mathematical recurrence relation is given above.

```
//pseudo code 
RFib(n)
{
  if n=0 return 0;
    else if n=1 return 1;
         else return (RFib(n-1)+RFib(n-2));
}
```
_Time Complexity: T(n) = T(n-1) + T(n-2) which is exponential.
Extra Space: O(n) if we consider the function call stack size, otherwise O(1)._

[Run Replit](https://replit.com/@kkumar-gcc/Calculate-Fibonacci-numbers-using-recursion)

### (2) Iterative Method :
We can optimize the space used in Recursive Method by storing the previous two numbers only because that is all we need to get the next Fibonacci number in series.

```
//pseudo code 
IFib(n)
if n=0 return 0;
   else if n=1 return 1;
        else {   a <= 0; b<=1;
            for(i=2 to n) do
            { temp <= b;
              b<= a+b;
              a <= temp;
            }
return b;
```
_Time complexity: O(n) 
Extra space: O(1)_

[Run Replit](https://replit.com/@kkumar-gcc/calculate-fibonacci-number-using-iteration)

### (3) Matrix Exponentiation :
Let n > 1

![Matrix Exponentiation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tqvtl38olff38gnjef6x.png)

![pseudo code ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/59hy8cd3yjtcm3o4bktn.png)

_Time complexity : O(log(n))
Extra space : O(log(n)) if we consider the function call stack size, otherwise O(1)._

[Run Replit](https://replit.com/@kkumar-gcc/Calculate-Fibonacci-numbers-using-Matrix-Exponentiation)

Thanks for reading
How to Extract Tree by spaCy
Tags: programming, python, algorithms, tutorial
Published: 2022-08-10 14:00:00

In this article, I will present the process of reading a document. for the analysis of the natural language structure of the tree These processes are useful for those working in the analysis of natural language structure from documents. This may lead to applications with applications to process language structures to prepare data. (Pre-Processing) in the process of doing Data Science, which is very important. if we can't handle the initial modeling process effectively It may be a model that has no quality.

which the algorithm to process There are steps as follows.

- Import libraries spaCy, NLTK for natural language. processing, I will import pos_tag (Part-of-Speech Processing), word_tokenize (reading words from the Token), and Tree (drawing a tree structure).
- Import a natural language processing model from the spaCy library using “en_core_web_sm”, a smaller language processing model. Suitable for general language processing.
- read text from the text file.
- Methods to draw tree structures It uses the tree node reading method, which uses the Tree algorithm to draw it.
- Calling the Plot tree structure from an imported language readable from a file.
- Determining the pattern of words and drawing (result.draw()) by checking words from Token.

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

The result of drawing a tree from a language structure.

**Sentence 1: ** “A small company manufactures customized bicycles.”

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

> Drawing the sentence structure “A small company manufactures customized bicycles.” with NLTK.

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

> Drawing the sentence structure “A small company manufactures customized bicycles.” with spaCy.

**Sentence 2: ** “Whenever the sales department receives an order, a new process instance is created.”

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

> Drawing a sentence structure “Whenever the sales department receives an order, a new process instance is created.” with NLTK.

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

> Drawing a sentence structure “Whenever the sales department receives an order, a new process instance is created.” with spaCy.
Mobile DevOps Summit on November 10th. Call For Speakers is now open!
Tags: mobile, devops, summit, conference
Published: 2022-08-10 13:52:00

**[Mobile DevOps Summit 2022](https://www.mobiledevops.io/summit)** is a one-day, free and virtual conference powered by [Bitrise](https://www.bitrise.io/) that brings together over 2500 mobile practitioners and global business leaders to discuss unique challenges faced by mobile teams.
Submit your talk and become a speaker to drive the conversation on how to build, test, release, monitor, and collaborate on mobile apps successfully.

Mobile DevOps Summit will cover topics such as:
- How to approach mobile testing, debugging, and quality assurance
- What mobile-specific performance metrics should be tracked?
- How to perfect the app store release process for iOS and Android apps
- How to engage more users and maximize the impact of your mobile app
- What are the processes and best practices for mobile apps?

The complete program provides a holistic understanding of how to implement Mobile DevOps best practices in an organization.

Submit your talk here: [https://sessionize.com/mobile-devops-summit-2022/](https://sessionize.com/mobile-devops-summit-2022/)

More information on the event is available here [https://www.mobiledevops.io/summit](https://www.mobiledevops.io/summit)

![FZt42k8XkAAtqnV](https://user-images.githubusercontent.com/45570191/183913253-a7eaad73-0fdb-4cac-b94d-980cce2ed532.png)
"Vector search and applications" by Andrey Vasnetsov, CTO at Qdrant
Published: 2022-08-10 13:41:38

Andrey Vasnetsov, Co-founder and CTO at Qdrant has shared about vector search and applications with Learn NLP Academy. 


![Preview](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ydhuvec9p3ezre5d54jo.jpg)
The video record of discussion is available by this link https://youtu.be/MVUkbMYPYTE

He covered the following topics:
- Qdrant search engine and Quaterion similarity learning framework;
- Similarity learning to multimodal settings;
- Elastic search embeddings vs vector search engines;
- Support for multiple embeddings;
- Fundraising and VC discussions;
- Vision for vector search evolution;
- Finetuning for out of domain.