teleren/devto huggingface dataset:
CI/CD
Tags: beginners, devops, newbie, hasanelsherbiny
Published: 2024-02-23 17:27:21

as a developer or a person in IT field in general you probably have heard the term CI/CD many times but

## What is CI/CD?
The Term CI Stand For Continuous integration and CD stands for continuous delivery/continuous deployment.

Continuous Integration (CI) is the practice of frequntly integrating code changes into a shared repository, where automated tests are run to validate the changes it ensures that each code commit is tested and integrated into the main codebase, thereby detecting and fixing integration errors early in the development cycle which means the outcome of CI process should be a ready to deploy package which is also known as "Assets".

Continuous Deployment (CD): on the other hand extends the CI process by automatically deploying the package produced from the previous step (CI) to production or staging environments after they pass all tests, it enables teams to release software updates quickly and efficiently, leading to shorter release cycles and faster time-to-market. 

![CICD](https://miro.medium.com/v2/resize:fit:963/1*1mYyliE8xO9v1xoAqmfHtA.gif)



## Benefits of CI/CD
-Faster Time-to-Market: CI/CD automates repetitive tasks, reducing manual effort and accelerating the software delivery process
-Improved Code Quality: automated testing catches bugs and regressions early, ensuring that only high-quality code is deployed

- Increased Collaboration: CI/CD encourages collaboration among team members by providing a shared codebase and transparent feedback on code changes
- Enhanced Stability: Continuous testing and deployment pipelines help identify and resolve issues before they reach production, leading to more stable applications
- Better Visibility: CI/CD pipelines provide visibility into the status of code changes, test results, and deployment processes, enabling teams to track progress and identify bottlenecks
Lessons from leetcode: 347 Top K Frequent Elements
Tags: beginners, programming, python, leetcode
Published: 2024-02-23 17:21:34

## For future Simon to look back on...

As a self-taught dev, learning the ins-and-outs of Python usually happens as I am solving problems on [leetcode](https://leetcode.com/) or writing random programs in [replit](https://replit.com/~). This post is more for myself to remember what I've learned. If you're still interested in reading, then I hope this helps you!


## List Comprehension
I learned the importance of initializing a list of empty lists using list comprehension or a for loop, over simply using multiplication thanks to this [leetcode problem: Top K Frequent Elements.](https://leetcode.com/problems/top-k-frequent-elements/description/)

I created a list of empty lists like this:
```
bucket = [[]] * 5 # [[], [], [] ,[] ,[]]
```
And whenever I tried to update one list in `bucket`, every other list was updated as well.
```
bucket[1].append(5) # [[5], [5], [5], [5], [5]]
```
I was scratching my head about this for a while, thinking it was the other parts of my code that was the problem. In reality, it all started with my `bucket` initialization. I had essentially created an object `[]` that I copied 5 times in `bucket`, and thus each `[]` was a reference to the first `[]` object. Updating one would mean updating all.

The way around this would be to create a `for` loop or to use list comprehension which allows us to write the code more compactly.
```
bucket = []
for _ in range(6):
  bucket.append([])
```
or
```
bucket = [[] for _ in range(6)]
```

## Bucket sort
Another neat trick I learned from this leetcode problem was to use bucket sort to complete the task. Often times, I am thinking about using the least amount of resources as possible, and I usually run into a dead end doing so.

Funny thing is that my initial method of solving the problem involved using the same amount of space and more time than the solution I learned from [neetcode](https://www.youtube.com/watch?v=YPTqKIgVk-k&pp=ygUMbmVldGNvZGUgMzQ3). So, I really need to focus more about saving time first and optimize space second.
Empieza en ARCH Linux
Published: 2024-02-23 17:06:07

# Dificultades en el camino
Empezar en el mundo de los sistemas operativos es una gran aventura y para mi es bastante divertido conocer nuevos sistemas, conocer más de como es que se monta un sistema operativo en un ordenador, en fin eso es parte de lo que pude explorar instalando Arch como un latinoamericano, no es algo sencillo, ya que no existen muchos tutoriales claros y la información al menos si inicias en esto puede ser algo difusa.

## ¿Como lo instale?

Bueno para empezar tuve que conseguir una memoria no es necesario que tenga mucho espacio pero si que tenga al menos 4 o 8 gigas.



Después tuve que buscar la ISO del sistema, no es complicado, la velocidad de descarga depende de tu internet.
Este link te puede ayudar si tienes problemas para encontrar donde descargar la ISO.

[Arch I Descarga](https://archlinux.org/download/)

Al descargarla pueden surgir problemas, por lo que si es importante que la iso se descargue sin errores, si que se vaya el internet.

Una vez que empiezas y tienes tu memoria booteada (puedes butearla ya sea con algun programa de windows o linux recomiendo aprendas a usar rufus)

[Rufus link de descarga](https://rufus.ie/es/)

## Enchufa y ¡Corre!

Ahora que ya tienes la memoria, si nunca antes has instalado un sistema operativo bueno, estas de suerte, o quizas no ya que al menos personalmente Arch va a ser algo complicado para empezar, sin embargo si lo que quieres es probar y entender un poco de como funciona el montaje de un sistema operativo (al menos desde la experiencia que puede adquirir instalando lo), lo siguiente que tienes que hacer es buscar la tecla de la BIOS para tu computadora, no hay una tecla universal para entrar en la bios, en mi caso (una HP) yo entro mediante la tecla F10.

Una vez que cambies el orden de arranque, reinicia el ordenador y debera de mostar la pantalla de instalación de Arch Linux, la primera opción despliega una serie de comandos de inicio, no hay nada que temer en esta parte, lo siguiente eso si que va a ser un poco mas complicado.

Algo importante al iniciar por cuestiones de comodidad es cambiar el teclado, lo cual en mi caso lo tuve que hacer dos veces, una antes de instalar el SO(sistema operativo) y otra después de haberlo instalado.
Primero en el instalador corre el comando, esto cambia las teclas a el teclado latino (diferente a el teclado español).
Este comando corresponde a el formato latino si tienes otra distribución de teclado puedes probar algun otro argumento en vez de la-latin1. Puedes buscarlo como arch loadkeys for (tu distribución de teclado o idioma.

```
loadkeys la-latin1
```
Ya instalado el sistema quizás al reiniciarlo las teclas no sean las correctas de acuerdo a tu teclado para eso puedes usar el comando `sudo localectl status` para ver la configuración, de no tener la configuración de teclado que deseas puedes usar el siguiente comando `sudo localectl set-keymap la-latin1` si tienes alguna otra distribución en vez de la-latin1 coloca la misma distribución que colocaste al principio.
Eventos de Elixir, Erlang, BEAM e Engenharia de Software em 2024
Published: 2024-02-23 17:02:55

**Em negrito, os eventos no Brasil.**

Code BEAM America 2024
March 7-8 2024 | San Francisco, CA & Virtual 
[https://codebeamamerica.com/](https://codebeamamerica.com/)

Elixir Conf Europe
18-19 Apr 2024
Lisbon, Portugal
<https://www.elixirconf.eu/>

**CIbSE 2024
Mon 6 - Fri 10 May 2024 
Curitiba, Brazil**
<https://conf.researchr.org/home/cibse-2024>

GigCityElixir
May 10-11, 2024
Chattanooga, TN, USA
<https://www.gigcityelixir.com/>

NervesConf
May 9
Chattanooga, TN, USA
<https://nervesconf.us/>

Code BEAM Lite Stockholm
13 May 2024 (tutorials on 14 May)
Stockholm, Sweden
<https://codebeamstockholm.com/>

Evento de Elixir (a confirmar)
25 e 26 de maio de 2024
São Paulo, Brasil


~~Elixir Safari~~
~~19-23 June~~
~~Kenya~~
<https://elixirconf.africa/>
[canceled](https://twitter.com/adolfont/status/1765691786524234102)

**FSE 2024 in Porto de Galinhas, Brazil!
July 15th to July 19th, 2024, in Porto de Galinhas, Pernambuco, Brazil**
[https://adolfon.substack.com/p/fse-2024-in-porto-de-galinhas-brazil](https://adolfon.substack.com/p/fse-2024-in-porto-de-galinhas-brazil)

**44o. Congresso da Sociedade Brasileira de Computação (CSBC 2024)
21 a 25 de Julho de 2024, Brasília - Distrito Federal**
[https://csbc.sbc.org.br/2024/](https://csbc.sbc.org.br/2024/)

27th Workshop on Requirements Engineering (WER 2024)
Buenos Aires, Argentina, August 7 - 9, 2024
<http://www.wikicfp.com/cfp/servlet/event.showcfp?eventid=177460&copyownerid=184772>

ElixirConf US
Orlando, Florida
August 27-30, 2024
<http://elixirconf.com>

**CBSoft
30 de setembro a 04 de outubro de 2024
Curitiba, Paraná**
<https://cbsoft.sbc.org.br/2024/cbsoft/?lang=pt>

Code BEAM Europe
14-15 OCTOBER 2024
BERLIN, Germany
<https://codebeameurope.com/>

_ESEIW 2024_
_Sun 20 - Fri 25 October 2024_ 
_Barcelona, Spain_
<https://conf.researchr.org/home/esem-2024>

**SBQS
5 a 8 de novembro de 2024
Salvador, Bahia**
<https://sbqs.sbc.org.br/2024/index.php/pt/>
software testing
Published: 2024-02-23 16:55:07

Software testing is used to test the application and see weather features are working fine or not and the process of finding defects and ensure the app is working fine.
Software testing is the most important process to ensure the product is working according to the given standards.
In software testing we have different types of testing they are unit testing system testing regression testing smoke testing integration testing performance testing UAT testing.
Testing techniques are black box testing , white box testing, grey box testing white box testing is done by SDE and black box testing is done by QA and grey box testing is done by SDET 
The relevance of software testing is to ensure that the product quality is up to the standards
How to install AWS CLI on Windows
Published: 2024-02-23 16:52:58

The AWS CLI, or Command Line Interface, is a powerful tool for interacting with AWS services directly from your Windows machine. This guide will walk you through two primary methods for installing the latest AWS CLI version 2 on your Windows system.

## Method 1: Using the Installer
**1. Download the Installer:**

- Head to the official AWS CLI website:
https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html


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

- Click on Windows Option

- Click the Download link and save the installer file.

**2. Run the Installer:**

- Locate the downloaded installer file.

![2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tlaux5nb20sydfb0hbab.png)

- Double-click the file to launch the installation process.

- Follow the on-screen instructions, accepting the terms and conditions.

- Choose the installation location (default is recommended).

- Select the components you want to install (default is recommended).

- Complete the installation.

**3. Verify Installation:**

Open a Command Prompt window.

Type `aws --version `and press Enter.
If the installation was successful, you should see the installed AWS CLI version and other details.

![3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wlo9yedktv8u20718stb.png)

## Method 2: Using Pip (Python Package Manager)

**1. Install Python (if not already installed):**

- Download and install Python from https://www.python.org/.
- Ensure you add Python to your PATH environment variable during installation.

**2. Install the AWS CLI with Pip:**

- Open a Command Prompt window.
- Type pip install `awscli --upgrade --user` and press Enter.
- This will download and install the latest AWS CLI version using Pip.

**3. Verify Installation:**

- Open a Command Prompt window.
- Type aws --version and press Enter.
- If the installation was successful, you should see the installed AWS CLI version and other details.

## Conclusion
Whether you're a seasoned developer or just starting with AWS, the AWS CLI offers a powerful and efficient way to manage your resources. By following these steps and exploring the official documentation, you can unlock the full potential of this versatile tool and streamline your interactions with the AWS cloud platform.
SpiceDB at FOSDEM 2024: Recap
Published: 2024-03-26 16:23:50

---
title: SpiceDB at FOSDEM 2024: Recap
published: true
date: 2024-02-23 16:47:58 UTC
tags: 
canonical_url: https://authzed.com/blog/fosdem-2024
---

<iframe width="560" height="315" src="https://www.youtube.com/embed/wOtglviAl9U?si=4mExRW4wCEMKwyUL" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"></iframe>

Watch AuthZed's CPO and co-founder Jimmy Zelinskie's talk at FOSDEM 2024, as he delves into the world of authorization systems, specifically focusing on the evolution of access control models and the genesis of SpiceDB.

### Introduction

- The talk aims to discuss the broader context of authorization issues rather than just promoting SpiceDB.

### Authorization and Its Challenges

- Discussion on the evolution of web security threats, highlighting Broken Access Control's rise to the top of OWASP's threat list from 2017 to 2021.
- Overview of the historical context and development of authorization concepts by academia and industry.
- Introduction to various access control models: Discretionary Access Control (DAC), Mandatory Access Control (MAC), Role-based Access Control (RBAC), Attribute-based Access Control (ABAC), and Relationship-based Access Control (ReBAC).

### Evolution of Access Control Models

- Detailed explanation of DAC and MAC, their origins, and examples.
- RBAC's emergence in 1992, its core idea of mapping users to roles, and the challenges of defining roles consistently across different systems.
- ABAC was introduced in 2015, offering more dynamic and context-aware access control mechanisms.
- ReBAC's concept from around 2007, focusing on access control through relationships, popularized by systems like Facebook's social graph and Google's Zanzibar.

### The Impact of Zanzibar and SpiceDB's Origins

- Zanzibar's introduction by Google as a global, consistent authorization system, inspiring the creation of SpiceDB.
- SpiceDB's development story, from initial prototypes in Python to a mature system written in Go, inspired by Google's project and the novel Dune.

### SpiceDB Features and Capabilities

- SpiceDB as a parallel graph database optimized for authorization checks.
- Explanation of how developers use SpiceDB, including schema application, data storage, and querying.
- Description of SpiceDB's architecture, including its gRPC and HTTP APIs, Kubernetes-native design, and its ability to scale and maintain consistency globally.
- Introduction to developer tools like Zed and a web IDE for SpiceDB, enhancing developer experience and enabling easy integration and testing.

### Challenges and Extensions to Zanzibar

- While SpiceDB builds on Zanzibar's concepts, it extends them to be more flexible and applicable outside of Google's infrastructure.
- Additions include support for dynamic, context-based relationships and improvements in developer experience to encourage open-source community adoption.
Path Manager
Tags: bash, linux, tutorial
Published: 2024-02-23 16:47:22

<u></u>
![pmng](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zaxvxez0ukb17utplevz.png)

## <u>Administrador de rutas pmng</u>


Este proyecto fue creado con el propósito de facilitar la movilidad en rutas muy largas. A menudo, cuando trabajamos con estructuras de directorios complejas o realizamos tareas que involucran la navegación frecuente entre diferentes ubicaciones, puede resultar tedioso recordar y escribir manualmente las rutas completas. pmng busca simplificar este proceso al permitirte guardar, explorar y eliminar fácilmente las rutas que utilizas con frecuencia.

---


## <u>Instalacion en bash</u>


- **Muevete al home y clona el repositorio**

``cd ${HOME} && git clone https://github.com/KalleyBacker/Path-Manager.git``
- **Crea el directorio .functions.d**

``mkdir ${HOME}/.functions.d``

- **Copia el script en el directorio .functions.d**

``find ${HOME}/Path-Manager/ -type f -name "*.sh" -exec cp {} ${HOME}/.functions.d \;``

- **Configura la carga automática en tu archivo ~/.bashrc**

```
echo -e '\n#source_script
####################################################################
for script in $(find ${HOME}/.functions.d -type f -name "*.sh" )   #
do                                                                 #
        source $script                                             #
done                                                               #
####################################################################\n' >> ~/.bashrc
```

- **Carga la configuracion del bashrc**

``source ~/.bashrc``

---


## <u>Uso</u>

- **Guardar la ruta actual:**``pmng -s``


![pmng -s](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uugkjs6lh0nz92agmg0i.png)

- **Listar todas las rutas guardadas:**``pmng -l``

![pmng -l](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7dsclapycarqeefpnbhi.png)

- **Moverse a través de una ruta específica:**``pmng -m {ID DE LA RUTA}``

![pmng -m](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y7dgzeiea3pvuoc62nr4.png)

- **Eliminar una ruta de la cache:**``pmng -r {ID DE LA RUTA}``

![pmng -r](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u6jykq2hyajdu6rnzdcr.png)

- **Despliega la ayuda:**``pmng -h``

![pmng -h](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iiv79g8s4at2k48vq2t5.png)

---

## <u>Autor</u>
Juan Carlos Morla Reyes - (https://github.com/KalleyBacker)

---

## <u>Proyecto</u>

(https://github.com/KalleyBacker/Path-Manager)
Odoo : view form order importance
Tags: odoo
Published: 2024-02-23 16:21:02

In Odoo development, you may encounter an error message like the one below:

```
raise ValueError('External ID not found in the system: %s' % xmlid)
ValueError: External ID not found in the system: 

```
Upon inspecting your code, you may find that the necessary code is correctly implemented, leading to confusion about the cause of this error. This issue often arises when referencing an external ID of a view within a view file, but the definition of this external view is written after the reference. Consequently, the system is unable to locate it, indicating a problem with order precedence. To ensure smooth execution, it's crucial to place the code defining the references above the code block where these references are used.
IPhone 15 Pro Max Copy Understanding the Phenomenon
Tags: iphone
Published: 2024-02-23 16:05:01

In recent years, the smartphone market has witnessed an intriguing trend - the emergence of IPhone 15 Pro Max copies. These devices, often referred to as [iPhone 15 Pro Max Master Copies](https://high.com.pk/shop/iphone-15-pro-max-american-copy/), have gained popularity for their resemblance to Apple's flagship model, offering an alternative to consumers worldwide.

## What Sets IPhone 15 Pro Max Copies Apart?
IPhone 15 Pro Max copies are smartphones designed to replicate the design and functionality of Apple's IPhone 15 Pro Max. Whether it's the [IPhone 15 Pro Max American Copy](https://high.com.pk/shop/iphone-15-pro-max-american-copy/) or the [IPhone 15 Pro Max Turkish Copy](https://high.com.pk/shop/iphone-15-pro-max-turkish-copy/), these devices aim to provide users with a similar experience at a more affordable price point.

## The Appeal of IPhone 15 Pro Max Copies

One of the primary attractions of [IPhone 15 Pro Max copies](https://high.com.pk/shop/iphone-15-pro-max-american-copy/) is their affordability. While the original IPhone 15 Pro Max may come with a premium price tag, these copies offer similar features and performance without breaking the bank. Whether you're in the United States or Turkey, the accessibility of these devices has made them a popular choice among consumers.

## Understanding the Master Copy Concept
The term IPhone 15 Pro Max Master Copy refers to a high-quality replica of the original device. These copies often go beyond mere imitation, incorporating advanced features and technologies to enhance the user experience. With the rise of IPhone 15 Pro Max Master Copies, consumers have more options than ever before when it comes to selecting a smartphone that suits their needs and budget.

## The Global Impact of IPhone 15 Pro Max Copies
From North America to Europe and beyond, IPhone 15 Pro Max copies have made waves in the global smartphone market. Their affordability and resemblance to the original iPhone have attracted a diverse range of consumers, contributing to the widespread adoption of these devices.

## Conclusion
In conclusion, the phenomenon of IPhone 15 Pro Max copies reflects the evolving dynamics of the smartphone market. Whether it's the IPhone 15 Pro Max Master Copy or the IPhone 15 Pro Max American Copy, these devices offer consumers a compelling alternative to the original IPhone 15 Pro Max. However, it's crucial to balance affordability with ethical considerations to ensure a fair and competitive marketplace for all stakeholders.
JavaScript vs Python
Tags: javascript, webdev, python
Published: 2024-02-23 15:43:13

Once upon a time in the land of programming, two languages, JavaScript and Python, were having a friendly debate about who was the better language.

JavaScript, with its dynamic and high-level features, was a language known for its role in web development. It boasted, "I am the heart and soul of the web! Without me, websites would be as dull as a plain text file."

Python, known for its simplicity and readability, retorted, "Well, I am the darling of beginners and experts alike. My clean syntax and versatility make me a favorite for everything from web development to data science."

The debate heated up, and they decided to settle it with a contest. The challenge was to create a program that would make a cup of coffee.

JavaScript, being event-driven, started brewing the coffee and simultaneously tried to fetch the milk and sugar. But alas! It got confused in the callbacks and ended up pouring cold milk into the coffee maker.

On the other hand, Python, with its synchronous nature, methodically brewed the coffee, fetched the milk, and added sugar. It might have taken a bit longer, but it produced a perfect cup of coffee.

Seeing this, JavaScript exclaimed, "Okay, okay, I admit! You are better at making coffee. But let's not forget, I make the web interactive and fun!"

Python, being the humble language it is, agreed, "True, JavaScript. We both have our strengths and are perfect in our own ways. Let's celebrate our uniqueness rather than compete."

And so, they both agreed that it wasn't about who was better, but about how they could work together to create something amazing. And the programmers lived happily ever after, knowing they could rely on JavaScript and Python for their unique strengths.

**Moral of the Story**: Every programming language has its strengths and weaknesses. It's not about which one is better, but about choosing the right tool for the right job.

Remember, folks, this is a light-hearted story meant to entertain. In the real world of programming, both JavaScript and Python have their unique strengths and are used by developers worldwide for various applications. Happy coding!
Ibuprofeno.py💊| #55: Explica este código Python
Tags: python, spanish, beginners, learning
Published: 2024-02-23 15:36:23

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

```py
## Reto #55
my_tuple = (123)
print(type(my_tuple))
```

👉 **A.** `<class 'float'>`
👉 **B.** `<class 'tuple'>`
👉 **C.** `<class 'int'>`
👉 **D.** `<class 'bool'>`

---

Respuesta en el primer comentario.