teleren/devto huggingface dataset:
Effectively Handling MacOS Screenshots
Published: 2024-01-09 14:00:00

_(cover image: midjourney)_

Screenshots can get messy: If you copy to clipboard then you first have to hope where you want to put it accepts pasting, otherwise you’ll need to somehow get the clipboard saved to a file. And if you want to take multiple screenshots? You’ll have to grab, paste, grab, paste, switching context a bunch of time. And if you suddenly have need for a screenshot again 10 minutes later, then, well too bad it’s gone. 

To simplify and streamline all that, here's a small tweak that’s easy to set up so screenshots fall into an easy and simple workflow:

* Open `screenshot.app` (e.g. `SHIFT-CMD-5` shortcut, or via Spotlight/Launchpad)
  ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q899eauq11gssydiplew.jpg)

* Click Options, then “**Other Location**”
  ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wi8ur55b8xdvy8fipl56.jpg)

* And then go to your **Documents folder** and create a new folder called “**Screenshots**” and select that as your screenshot location

* Then close `screenshot.app` (hit ESC)

* Open Finder, go to Documents, and **drag the new Screenshots folder to your dock**
  ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uzj2ad4qxkx6fu6ay0p4.png)

* Then right-click the folder in the dock and select **Sort by Date Added**
  ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/33xuuz1y3084x2jq9mgk.png)

Now all new screenshots will instantly appear at the top of that folder, which is easy to click on from any app and thus easy to drag screenshots in no matter which app you're in. Now it’s easy to take several screenshots in one go and trust they’ll all end up in that folder where they can be easily accessed later. And now they also persist, so you can refer back to them later. And they’re easy to modify by just clicking on them, since that opens Preview.

That's it. Just a tiny trick to reduce a small friction.
"Day 6: Excel Essentials Unveiled - Sharing Today's Insights on My Learning Adventure! 📊🚀 #ExcelSkills #LearningJourney"
Published: 2024-01-09 13:52:19

EXCEL - 5

COMMON FUNCTIONS USED ARE : -

Mostly in both Google sheets and Excel Functions are the same.

Before we get into function lets learn about cell reference

Cell reference

Relative reference
Absolute reference ( do not change as we use it again “$”, press F4 to add $ sign )
Mixed reference 


Relative to Absolute, just add $ with F4 buttons.




Mathematical functions

Sum, Sumif, Sumifs
Round, Roundup , RoundDown
Subtotal
Sumproduct
Sequence
Randarray
Aggregate
Even
Odd

Suffix if - it takes only one condition.
Suffix ifs - It takes multiple conditions.

STATISTICAL FUNCTIONS


Function :-
Count, countif, countifs ( only for numerical )
Countblank ( count number of blank )
Counta ( alphanumeric )
Average, Averageif, Averageifs.
Max , Min, Maxifs, Minifs




Logical operators :- 

>
<
>=
<=
<> is taken as =


If we want to know how value is intaken in a formula ,
Select the formula and press F9 key it will show all the values selected from the cell.

Double negatives (  - - ) turn true False into a value.


LEARNING IS AN EVERYDAY PROCESS SO, i will be updating previous learning with new tips and tricks. 


Follow me on this where every day will be added if i learn something new about it  :- https://dev.to/nitinbhatt46



Thank you for your time.
Ibuprofeno.py💊| #18: Explica este código Python
Published: 2024-01-09 13:51:18

## **<center>Explica este código Python</center>**
#### <center>**Dificultad:** <mark>Básico</mark></center>

```py
colors = ["red", "green", "pink"]
colors.pop()
colors.pop()
colors.pop()
colors.pop()
print(colors)
```

- A. `[]`
- B. `IndexError`
- C. `SintaxError`
- D. `[-1]`

---

Respuesta en el primer comentario.
Copia de Buckets S3 entre contas AWS
Published: 2024-01-09 13:50:32

**Na conta para qual o Bucket será copiado (Conta de destino)**

- Criar o bucket que irá receber os arquivos copiados.
- Criar um usuário IAM e coloque a policy abaixo:

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::<NOME-DO-BUCKET-DE-ORIGEM>",
                "arn:aws:s3:::<NOME-DO-BUCKET-DE-ORIGEM>/*",
                "arn:aws:s3:::<NOME-DO-BUCKET-DE-DESTINO>",
                "arn:aws:s3:::<NOME-DO-BUCKET-DE-DESTINO>/*"
            ]
        }
    ]
}

```

- Gere uma credencial programática e a configure em sua maquina ou em uma instância utilizando o AWS CLI. 
- caso não saiba como realizar essa configuração,[clique aqui](https://dev.to/henbsantos/configurando-o-aws-cli-1ok1).



**Na conta a qual o Bucket está (Conta de Origem)**

- Inserir a policy abaixo no bucket que será copiado:

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<ID-DA-CONTA-DESTINO>:user/<NOME-DO-USUARIO-IAM-CRIADO-NA-CONTA-DESTINO>""
            },
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::<NOME-DO-BUCKET-QUE-ESTÁ-INSERINDO-ESSA-POLICY>/*",
                "arn:aws:s3:::<NOME-DO-BUCKET-QUE-ESTÁ-INSERINDO-ESSA-POLICY>"
            ]
        }
    ]
}

```


**Acesse a maquina a qual foi configurada as credenciais**

-Execute o comando para que a copia seja realizada.

`aws s3 sync s3://<NOME-DO-BUCKET-DE-ORIGEM> s3://<NOME-DO-BUCKET-DE-DESTINO>`

_Pode utilizar o comando aws cp, porem o sync é mais eficiente caso queria rodar a copiar mais de uma vez sincronizando os arquivos_


**EXTRA**
Se o bucket for muito grande, vale a pena executar a cópia utilizando o comando 'screen' (em ambientes Linux). Esse comando fará com que a cópia seja executada em segundo plano. Dessa forma, em situações em que as credenciais estejam configuradas em uma instância EC2 e a conexão com a mesma seja perdida, a cópia não será interrompida.

- Criar uma sessao nomeada 

`screen -S nome_da_sessao
`

- Minimizar sessão

`Ctrl+A+D`

- Lista sessões ativar 

`screen -ls`

- Ir para a sessao 

`screen -r id_da_sessao `

- Encerrar sessão 

`screen -r id_da_sessao 
Ctrl+C
exit`
Reporting abuse not possible ...
Published: 2024-01-09 13:46:41


In order to keep my Internet download volume below the monthly threshold I have switched off displaying of images on DEV pages as my experience up to now was that the vast majority of them does not provide content worth to be looked at anyway. 

Now I detected comments promoting sites with sexual content and wanted to report them ... but ... the abuser does not need to proof himself to be a human by solving a captcha, ... but me trying to report on abuse can't because it requires it and with switched off displaying of images this becomes impossible. 

In other words robots are free to write articles and comments, but reporting the abuse requires higher effort than creating it in first place. 

Considering the high level of spam here on DEV isn't there something wrong with the DEV philosophy how spam and abuse is handled making it easy to abuse, but hard to impossible to report about it???
REST vs GraphQL: Choosing the Right API for Your Project
Published: 2024-01-09 13:39:32

As a software engineer, one of the most critical decisions in modern application development is choosing between REST and GraphQL for the API. Both approaches have their strengths and weaknesses, and understanding them is key to implementing an efficient and effective solution. In this post, we will explore REST and GraphQL, highlighting their differences and ideal use cases.

## REST: Representational State Transfer

### Pros:
- **Proven Standard**: REST is a mature and well-established model, widely used for API development on the web.
- **Simplicity and Flexibility**: REST APIs are easy to understand and can handle multiple types of calls, return different data formats, and communicate with various types of clients.
- **Scalability**: Due to its stateless nature, REST is inherently scalable, facilitating the handling of large numbers of requests.

### Cons:
- **Over-fetching and Under-fetching**: REST often leads to downloading unnecessary data (over-fetching) or needing multiple rounds of requests to get all necessary data (under-fetching).
- **Rigid Structure**: REST endpoints are predefined, which can limit flexibility in handling dynamic responses.

## GraphQL: Graph Query Language

### Pros:
- **Efficient Data Retrieval**: With GraphQL, clients can request exactly what they need, nothing more and nothing less, solving the problems of over-fetching and under-fetching.
- **Rapid Frontend Development**: Allows frontend developers to work more autonomously without depending much on backend changes.
- **Introspection and Powerful Tools**: GraphQL's self-describing nature facilitates the exploration and use of the API, with tools like GraphiQL.

### Cons:
- **Query Complexity**: The flexibility in queries can lead to inefficient or hard-to-manage queries on the server side.
- **Learning Curve**: GraphQL can be more complex to understand and adopt, especially for teams accustomed to REST.

## Which to Choose?
The decision between REST and GraphQL depends on the specific needs of your project:
- **Choose REST if...** you are looking for a simple, proven, and easily scalable solution. It's ideal for applications with less dynamic API requirements or when working with teams less familiar with GraphQL.
- **Choose GraphQL if...** you need a highly efficient API in terms of data loading and customization. It's excellent for applications with rich and dynamic user interfaces, or when rapid iteration on the frontend is required.

Both REST and GraphQL offer unique approaches to API management in modern applications. The choice depends on several factors, including the complexity of the data, the needs of the end user, and the development team's experience. Understanding the advantages and limitations of each is crucial for making an informed decision that aligns with the goals and resources of your project.
Personality Development
Published: 2024-01-09 12:56:22

Self-awareness: Understanding your strengths, weaknesses, values, and emotions is crucial. It involves recognizing your thoughts, feelings, and actions, and how they impact yourself and others.

Self-confidence: Believing in oneself and one's abilities is essential for personal growth. Confidence allows individuals to take risks, face challenges, and pursue their goals with determination.

Communication skills: Effective communication is fundamental in personal and professional life. Developing strong verbal and non-verbal communication skills can improve relationships and opportunities.

Adaptability: Being adaptable and flexible helps in dealing with changes and challenges. It involves being open to new ideas, learning from experiences, and adjusting to different situations.

Emotional intelligence: Understanding and managing emotions, both in oneself and in others, is a key aspect of personal development. It involves empathy, self-regulation, and social skills.
        https://www.sevenmentor.com/best-personality-development-and-soft-skills-training-courses-in-pune.php
SQL vs NoSQL: Choosing the Right database for Your Project
Tags: webdev, programming, database, softwareengineering
Published: 2024-01-09 13:30:40

As a software engineer with years of experience in the market, I've had the opportunity to work with a wide variety of databases, both SQL and NoSQL. Choosing between these two categories of databases is very important and can have a significant impact on the performance, scalability, and ease of development of your application. In this post, we will explore the pros and cons of SQL and NoSQL, providing a clear guide to help you make an informed decision.

## SQL: Structure and Reliability

### Pros:

- **Defined Structure**: SQL databases, like MySQL or PostgreSQL, use a predefined schema that helps maintain the structure of the data. This is ideal for data that does not change frequently and requires consistent organization.
- **Data Integrity**: Thanks to ACID transactions (Atomicity, Consistency, Isolation, Durability), SQL databases ensure high data integrity.
- **Uniform Language**: SQL is a standardized language that allows for efficient complex queries, ideal for detailed analysis and reports.

### Cons:

- **Vertical Scalability**: SQL databases often require vertical scalability (upgrading existing server hardware), which can be costly and has its limits.
- **Limited Flexibility**: Changes in the schema can be difficult and laborious, which can be challenging in agile environments with changing requirements.

## NoSQL: Flexibility and Scalability

### Pros:

- **Horizontal Scalability**: NoSQL databases, like MongoDB or Cassandra, are designed to scale horizontally, using server clusters, which makes it easier to handle large volumes of data and traffic.
- **Dynamic Schemas**: They allow greater flexibility as data can be stored without a defined schema. This is ideal for data that changes or evolves frequently.
- **Diversity of Types**: NoSQL includes various types such as document-based, key-value, wide-column, and graph databases, each optimized for different types of queries and access patterns.

### Cons:

- **Eventual Consistency**: Some NoSQL databases offer eventual consistency instead of ACID transactions, which may not be suitable for applications that require high data integrity.
- **Complexity in Queries**: Performing complex queries can be more challenging in NoSQL due to the lack of a standardized query language like SQL.

## Which to Choose?
The decision between SQL and NoSQL largely depends on the specific needs of your project:

- **Choose SQL if...** your data requires a rigorous structure, data integrity, and complex querying capabilities are a priority.
- **Choose NoSQL if...** you are working with large volumes of data or data that changes frequently, and need scalability and flexibility.

The choice between SQL and NoSQL is not a one-size-fits-all decision. Each project has its unique requirements and challenges. As software engineers, our job is to understand the characteristics and limitations of each type of database to make the best possible choice that supports the needs of our projects and clients.
Role of AI in Unlocking the Full Potential of Customer Data Platform
Tags: aicdp, ai, customerdataplatform, cdp
Published: 2024-01-09 13:22:47

Customer Data Platforms (CDPs) have become integral to modern businesses, empowering them to collect, analyze, and utilize customer data effectively.

However, the integration of artificial intelligence (AI) has emerged as a game-changer to fully unlock the potential of CDPs. By leveraging AI, we can extract invaluable insights from vast amounts of customer data to enable personalized marketing strategies and improve customer experiences.

AI is also integral to Ignitho’s CDP accelerator that enables you to deploy a CDP with prebuilt AI models and full API access in as little as 2 weeks.
Read more on [ai customer data platform](https://www.ignitho.com/blog/role-of-ai-unlocking-full-potential-of-customer-data-platforms-cdp/).
Developing Your Skills as a Programmer
Tags: beginners, tutorial, programming
Published: 2024-01-09 13:16:23

**Programming | Beginners | Productivity | Career**
At times, we find ourselves stuck in our programming journey. That's when having people who push us in the right direction becomes invaluable. Recently, a my mentor shared a video that resonated with me: [Watch the video here](https://youtu.be/q-_ezD9Swz4?si=NLVIn-iViPxKaBHA).

Here's what I took away from it:

**Learn How to Learn**
As programmers, continuous learning is a necessity. Having a personalized learning formula makes the process simpler and more effective. It's said that we remember:

- **10%** of what we read
- **20%** of what we hear
- **30%** of what we see
- **50%** of what we see and hear
- **70%** of what we discuss with others
- **80%** of what we personally experience
- **95%** of what we teach others (Edgar Dale)

While the Feynman method is another approach, I'm still working on implementing it into my learning routine.

**Why Learning is Crucial**

- Rapidly changing technologies
- Code is a tool for your customer, solving problems
- Adaptability – you need to learn fast to fill the gap
- Independent learning – not everything is in documentation, practical experience is key
- Productivity – efficiency in learning gives you more time for other activities
- Your Motivation
- Understanding what excites you and why you code is crucial. Whether it's for your career, building an app, or simply a hobby, having a clear motivation helps during challenging times.

**Fundamentals Are Key**

Using specific technologies to solve specific problems is emphasized:

-  **Web**-> HTML/CSS/JS, then learn backend
-  **Mobile IOS**-> Swift
-  **Mobile Android** -> Kotlin, Java
-  **Mobile Android and IOS** -> ReactNative, Flutter
-  **Video games** -> Unity (C#), GODOT (C#), Unreal (C++)
-  **Machine Learning** -> Python

While this is valid, flexibility is essential. Choose the right technology for your problem.

**Avoiding Tutorial Overload**
Set a limit on watching tutorials; use gathered knowledge to solve problems. Challenge yourself, build a portfolio, and let your code speak for itself.

**Circle of Learning**

- Write code (don't aim for perfection initially)
- Learn
- Iterate
- Improve
- This process can be challenging, but avoid overthinking. Measure results and seek advice from experienced individuals.

**Buddy/Mentor or Share Your Code**

Sharing your code accelerates the learning process. Feedback from others, whether through peer review or mentorship, is invaluable. As the video suggests, hard work is essential, and now you know where to focus.


**Feel free to adjust the content as needed!**
5 Reasons why you should switch to Linux as a developer
Tags: opensource, linux, development
Published: 2024-01-09 13:12:22


Understanding the basics of Linux is a key skill for every developer and techie as a whole.It is highly debated whether Linux is the best operating system. But it all boils down to personal preference. Of course, some would say, Why would I want to use a shell-based operating system when I can just go directly and use a more beginner-friendly GUI-based application? But hold on, there is a big catch and there are obvious advantages to using it as a developer and a techie.

Let's break it down

**1. Security**
One of the major advantages that Linux has is its security, not in the sense that you can't get hacked, but the ability to set restrained permissions using your Linux, which gives the user full ownership of the amount of permissions that the user can set. As a techie, security should be one of your mottos, because you won't want a whole company's file dedicated to you to be compromised in any way. And the cool thing about Linux viruses is that they are rare compared to the occurrences on Windows.

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


**2. Easy Collaboration**
Here comes the very big one: collaboration. Some people might fight me big time for this but collaboration is easier to accomplish on Linux compared to Windows. Before you go off angry, wait and listen to me. The main reason for this is the open-source nature and vast number of package managers and developers. Also, because of the terminal-based nature of Linux, it is easier to track changes made in your code and easily collaborate with team members.

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


**3. Customisation**
After recently installing Arch Linux, I suddenly developed this strong affection for it. The main part of it that caught my attention was the ability to easily customise how everything on the system looks, with nice themes that suit your taste as a person. The exquisite nature of flexibility has made me choose Linux above all other operating systems.


**4. High Performance**
Here is one of the obvious picks: performance, Linux offers better performance than Windows and possibly the rest, because at least you don't have to deal with annoying system processes that sometimes eat up your processing space, and also the installation 




**5. Virtualization**
The last but definitely one of the greatest of them is the ability to create virtual instances of an operating system on Linux. Learning this puts you ahead in the tech space because most of the new cloud technologies work on the principle of virtualization. For instance, Docker works on this principle.


That's a wrap. Please endeavour to share your Linux experiences in the comment section below.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yq2wl5e8wpg8kekfzqt4.png)
nguyenlongceowin79
Published: 2024-01-09 13:08:27

Nguyễn Long đã có tầm nhìn sâu xa về ngành công nghiệp giải trí trực tuyến và đam mê với việc tạo ra những trải nghiệm giải trí tốt nhất cho người chơi. Anh đã đặt mục tiêu xây dựng một trang web đa dạng, phong phú và thu hút để đáp ứng nhu cầu giải trí của cộng đồng tân thủ năm 2024.#nguyenthanhlong #nguyenlongwin79 #adminwin79 #ceowin79Thông tin chi tiết:Email: nguyenlongceowin@gmail.comĐịa chỉ: Đường CN13, Tây Thạnh, Tân Phú, Thành phố Hồ Chí Minh, Việt Nam
[https://win79.boats/ceo-win79/](https://win79.boats/ceo-win79/)
Solucionando Problemas ao Instalar o Jabba no Linux
Published: 2024-01-09 13:03:11


Antes de mais nada, vamos entender o que é o Jabba.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9k4jw9hv5nh5tfi1t63o.jpg)

_O Jabba é um gerenciador de versões Java que facilita a instalação e a troca entre diferentes versões do ambiente de desenvolvimento Java (JDK). Ele simplifica o processo de gerenciamento de versões do Java, permitindo que os desenvolvedores alternem facilmente entre diferentes releases do JDK para atender às necessidades específicas de seus projetos. O Jabba é útil para manter a compatibilidade com diferentes aplicações Java e garantir que um projeto seja executado na versão adequada do Java._


Ao tentar instalar o Jabba no Linux, alguns usuários podem encontrar o erro "'...' is not a valid version." Este artigo oferece uma solução passo a passo para superar esse problema.

Problema:
Ao executar o comando para instalar o Jabba, os usuários podem encontrar a mensagem de erro:

```
'...' is not a valid version.
```

Solução:
Passo 1: Remover Instalações Anteriores
Antes de iniciar, remova qualquer instalação anterior do Jabba, se houver:

```
rm -rf ~/.jabba
```

Passo 2: Instalar a Versão Mais Recente do Jabba
Instale a versão mais recente do Jabba usando o seguinte comando:

```
curl -sL https://github.com/shyiko/jabba/raw/master/install.sh | bash -s
```

Passo 3: Ativar o Jabba
Ative o Jabba para que suas configurações sejam aplicadas ao ambiente atual:

```
. ~/.jabba/jabba.sh
```

Passo 4: Listar Versões Disponíveis do Java
Liste as versões disponíveis do Java para garantir que você escolha uma versão válida:

```
jabba ls-remote
```

Se você chegou no passo 4, é porque já rolou de boa a instalação. 😊 Espero ter ajudado. Obrigado e até a próxima 🖖🏻!