teleren/devto huggingface dataset:
Perfect Number Program in C
Tags: c, interview, programming
Published: 2023-05-27 06:52:55

For explanation watch video 

{% embed https://youtu.be/SHHekYnzhl8 %}

Perfect Number : 
In mathematics, a perfect number is a positive
integer that is equal to the sum of its positive divisors, excluding the number itself.
ex : 6 = 1,2,3 <  6  
 1+2+3 =6
 ex: 5 : 1 
sum = 1 !=5 
5 is not perfect number
Perfect Numbers examples : 6,28,496,8128

Program to check given number is perfect or not:

```
#include<stdio.h>
int main(){
	int n;
	printf("Enter the number: ");
	scanf("%d",&n);
	int sum = 0,i;
	for(i=1;i<n;i++){
		if(n%i==0){
			sum = sum + i;
		}
	}
	if(sum == n){
		printf("%d is a perfect Number",n);
	}else{
		printf("%d is not perfect Number",n);
	}
	return 0;
}

```
This week’s newsletter is out! (27-05-2023) - Gifs, culture, media, AI & vegetables
Tags: javascript, tech, webdev, discuss
Published: 2023-05-27 06:18:58

---
title: This week’s newsletter is out! (27-05-2023) - Gifs, culture, media, AI & vegetables
published: true
description: Another week of great javascript, tech and web development links.
tags: javascript, tech, webdev, discuss
---

Gifs, culture, media, AI & vegetables

https://markjgsmith.substack.com/p/mark-smiths-newsletter-27-05-2023

Would love to hear any comments and feedback you have.

[@markjgsmith](https://twitter.com/markjgsmith)
It's time to switch from MithrilJS to VanJS
Tags: mithriljs, vanjs, mithril
Published: 2023-05-27 05:02:48

I have been and always be a big fan of MithrilJS (see my previous posts).

But VanJS changed it all by it's simple API and very tiny size (1.2K)
There is no more reason to use Mithril, at least for me...

Here is a simple Counter in Mithril and VanJS, compare and choose your weapon :-) 

[Demo](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvAHjmoCcIAHYgAjgdqAXgA6IEsW5xEAelkBXNNwDWAc3x0ssrBGKEuUHXoPR8AKzjiAfC1nsuva6LQuWAEwgA3PhHdiQDlpaYhsXPj43WU8va0oQOBhYamIIegREEABmRAAmEABfCnRsXEyvDDQLBCo6BiZiPFh+GApiCjQKKGEAeQAjcxgUig5egaHifDUYYgAFIOIQgE9uGB6wCjhhAApW9s6oAEpha12AfjPtxOIAFQgcWgVibYPDjpgAdz4AZRnDw-wGHc7m2xDe-mA034FSg20OwA4MwUHDQfH0EDg+GIRWufBhu3hzT4aGE6LgXWEVWIAG4YABCYTCKAAMmZL3w3UZUDOxGEcFBHQo1EOiBgjMpHNZk3cSRmMBebypwlaVVo+DAtA4AFEMNRCNtQSdnq0jv9DkV6GhPgTgGT8GruAo4PqYOaLcIONt3G8IMqTjB8GhaDKbisYGcYIgrV8bjAAB7Gt4KHatfBpsEnUHqqAYZ4ARlkAAYARrtbr9YbrAGMNxVmh3ABhQjQEGejOM9xnD4C3b+-6ICCgs1vV0UDCUz58ea0ONLA0CtOB47WYDNZDkxcQAC6HpeyELW4uxfFtDOaBQwCKi7QW7HwnctGoChwDE0iNzMC1sBfzzB1MRxDIqiUD4A0XDwFcJaajqerzsg+xbsuq4zHw3QYPBW4MsqEYnOhxA7pGYrWBg+DXAAgsQxBcH0Tzyu0rr-gq4qdt2nS9qcsKjhgZqIJ6aDHIyp7dte+AytIFAGourqZrCVRgNsUn-GOPGyeaSkKNsGAUJuanFFCiACvxRr4H0ED1rsHS6QA+n6Vb4L6AYQOq0CMJ67EBgoZz2XADaWhMMDem8IhwicyH8CSyCLvh1K8iqk6-M8ck5sQACyNbbFZ-zqtB5YGryK7NMAVlRhQCiIFAFBqLxBSkpsu4iVg6XuViSkVQ1TVEQGpqHNScBYSybJ9dhIGItwObUDAADqJhZsmg5wP22wjTAWC0F48pvJMyaumpirZWWsHNd0AZguaFAfDsUVIUS3STHAUAQBN2yFhQAC0eZvKMxDwRyTBqPo723v4nqLiBjXcAanUtf81IQPJ-jKocAFAcgW7UkStDCEV5WlQOXpvFVHAFP+SIoqh+0wRW+XACS-KdO0BrLuypaUxliqI28eYwFkm32fgjrOtstC7RQaoKMT8bcJq-AymAGAKFAxDAEC7iIAobQYGoMhaXAxAfqKmZFVZ3ALLQVnFe4bSil01sQCgt60PbBRvKZ9aIB8xPxIkySpOkeCFogeZ5gAnMHhTFCAmA4Hg1TxHUjDMJk9xSxw0KVHwYBBFgkQELIFRVJY4guHUut8MANGUfQFB8IQebVzEBR8MIeKVFimtWK4aDyHwKUAJI3AAEgASr3AAyLgVBwfB0Eo-DN4WfDdyrAV8BgLdcBgfSwBPGBTwPSRQLQTdl+EER4hAnyIBnSgpGkaBwifqJn8-yNk1g2ziI1ZniNXyCn8-AC+Dv3ELXH+ZdqA5jgDIHOqRiDb3DjnFKJhDB8F8rPGAHBxBvH-oAs+3c9SVGmO4NEhAYDEnjPwB6VocG4KAR-EAFdFiuEoGXegEDHoqCvg-E4fAADUvCZ4MCKNPR4DA+E52ng9agKgrAgGwU-QBiEcEFBcCozuWB8CrVntsIIIRq77ygIfQ4LgXDyAAGqVAAFLfFMbIVB75GCr3IV8b4etHG0HGCkPgHwTC+DQHoFuUAFBkLzMXdI-BBGuWPvnUibj5QfRMWgIkaD6hT2bjEPgH8n613oRYtA1jUGiKiWAyJGD5EREYfQbYwA2FSM4Zkw4TdrAiPQRwfAMJ+HCPEL3AAcg2LBLhjGdxiSrL0j5nwNBMsGJY1cUmuSGV7WUt8-aZFyAANkQFkPMr0A6FnDiUaOmRNBQLjvQBOjRMiFFvJHUoeB866H0IUIAA)

```js
import van from "./van.js"
const {button, h1, span, div} = van.tags

// MITHRIL
var count = 0 // added a variable
var Hello = {
    view: function() {
        return m("main", [
            m("h1", {class: "title"}, "Mithril Counter"),
            // changed the next line
            m("button", {onclick: () => ++count}, count + " clicks"),
        ])
    }
}

m.mount(root, Hello)

//VanJS
// Create a new State object with init value 1
const counter = van.state(1)

let Counter = div (
  h1("VanJS Counter ", counter),
  button({onclick: () => counter.val++}, span(counter, " clicks"))
)

van.add(document.body, Counter)

```
What you learning about this weekend?
Tags: codenewbie, discuss, learning, beginners
Published: 2023-05-27 04:00:00

Heyo 👋

What ya learning on this weekend?

Whether you're sharpening your [JS](https://dev.to/t/javascript) skills, making PRs to [your OSS repo of choice](https://github.com/forem/forem) 😉, sprucing up your portfolio, or [writing a new post](https://dev.to/new) here on DEV, we'd like to hear about it.


![a cartoon brain eating a bunch of books](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qn0u8ma8pjt2wwyy3box.gif)

Keep on keeping on, you'll get there! And when you do, make sure to celebrate. 🙌
Laravel 9 - use bindings in your raw queries
Tags: laravel, programming, php, backend
Published: 2023-05-27 03:59:48

You can pass an array of bindings to most raw query methods to avoid SQL injection.

> This is vulnerable to SQL injection
```
$fullname = request('full_name');

User::whereRaw("CONCAT(first_name, last_name) = $fullName")->get();
```
 
> Use bindings
```
User::whereRaw("CONCAT(first_name, last_name) = ?", [request('full_name')])->get();
```
How can I remove the "padding"-like stuff on the `<a>`?
Tags: webdev, help, html, css
Published: 2023-05-27 03:18:27

So, my website, on the homepage, has a "badge" that is fit to the container:
![[Image of my homepage.]](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/suir08i0p7j8oc26jis2.png)

This is how it is set up:
```html
<nav id="banner">
  <img type="image/png" alt="[Image of Katty.]" src="/assets/images/Katty/emblem.png"/>
  <!-- [...] -->
</nav>
```

However, on subpages, like `/projects/index.html` (https://calinzbaenen.github.io/projects/), there is some blank space between the "badge" and the end of the "banner":
![[Image of the Projects section of my website.]](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hm5m7919jphohequzp0c.png)

This is how it is set up:
```html
<nav id="banner">
  <a draggable="false" tabindex="-1" href="/">
    <img type="image/png" alt="[Image of Katty.]" src="/assets/images/Katty/emblem.png"/>
  </a>
  <h1>Projects</h1>
</nav>
```

From one of my stylesheets, I already have `margin` and `padding` set to `0` for them; their size is also fit-content.
ChatGPT recommended I make the `<a>` a `display:block`; element; I tried that, and it did not work. After I reported that, ChatGPT recommended I make the `<a>` have `display:inline-block;` and the `<img>` `display:block;`; after that did not work, I stopped trying to consult the AI.

I'm using Firefox 113.0.1 (64-bit) on Ubuntu x86_64.


<center><b>Thanks in advance!<br/>Cheers!</b></center>
"Address Already in Use": A Simple Guide to Freeing Up Ports
Tags: errors, terminal, ports, process
Published: 2023-05-27 02:21:49

As a developer, there's nothing quite as frustrating as being ready to launch your application, only to be greeted with an error like `EADDRINUSE`. This common error message indicates that the port you're trying to use is already occupied by another process. In this post, we'll go through the steps you can take to identify and kill the process that's tying up your port, whether you're on a Mac, Linux, or Windows system.

## What does EADDRINUSE mean?

The `EADDRINUSE` error typically occurs when you're trying to start a server on a specific port, but that port is already being used by another process. This error is common across various languages and frameworks, including Node.js, Express.js, and in this case, Playwright with TypeScript.

Here's an example of the `EADDRINUSE` error:

```
Error: listen EADDRINUSE: address already in use 127.0.0.1:9323
    at Server.setupListenHandle [as _listen2] (node:net:1372:16)
    at listenInCluster (node:net:1420:12)
    at GetAddrInfoReqWrap.doListen (node:net:1559:7)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:73:8) {
  code: 'EADDRINUSE',
  errno: -4091,
  syscall: 'listen',
  address: '127.0.0.1',
  port: 9323
}
```

## Identifying the Process

To free up the port, we first need to identify the process that's using it. Here's how you can do this on different operating systems:

**Mac/Linux:**

Open your terminal and type in:

```
sudo lsof -i :9323
```

This command will give you a list of processes using port 9323, along with their PID (Process ID).

**Windows:**

Open the command prompt and type in:

```
netstat -ano | findstr :9323
```
For example:

```
PS C:\Users\YourUser\YourProject> netstat -ano|findstr "PID :9323"           
  Proto  Local Address          Foreign Address        State           PID
  TCP    127.0.0.1:9323         0.0.0.0:0              LISTENING       27924
```
This command will provide a list of processes using port 9323, along with their PID.

## Killing the Process

Once you have the PID, you can kill the process:

**Mac/Linux:**

Suppose the PID you found was 27924, you'd type:

```
kill -9 27924
```

**Windows:**

Again, if the PID was 27924, you'd type:

```
taskkill /PID 27924 /F
```

## Prevention is Better than Cure

While it's good to know how to solve the `EADDRINUSE` error, it's even better to prevent it from happening in the first place. Be mindful of the ports your applications are using and ensure they're appropriately closed when you're done.

**Conclusion**

The `EADDRINUSE` error can be a speed bump on your coding journey, but it's not an insurmountable one. With a little bit of terminal knowledge, you can quickly identify and eliminate the rogue process. So the next time this error pops up, you'll know exactly what
#0: On starting a new dev blog
Tags: devjournal
Published: 2023-05-27 00:18:41

I shall be commencing my blog reporting on my findings through my software engineering career here.

I've been on the job hunt for 2 months now ever since I got laid off during this unfortunate economic climate, and I figured it would be a good idea even while I'm soon to be employed to keep a report of what I've been learning and outline my thought processes for anyone who might be interested for whatever reason. Here's to a good start.

For the time being, it will probably be regarding Unreal  because that's what I'm principally trying to get started on at the moment, but I'm also trying to work on a web app with a friend using a new stack of Go+Flutter so let's see how that goes.
Create nice-looking GUI applications in Common Lisp
Tags: gui, tk, lisp, crossplatform
Published: 2023-05-27 00:18:38

We can build interfaces looking like this:

![The Forest ttk theme for Tcl/Tk](https://raw.githubusercontent.com/rdbende/Forest-ttk-theme/master/Forest-light%20screenshot.png)

This is the [Forest ttk theme](https://github.com/rdbende/Forest-ttk-theme). "ttk"? Yes, for Tcl/Tk! A lightweight and cross-platform GUI toolkit (and language). It doesn't have to look outdated!

Install the [nodgui library](https://notabug.org/cage/nodgui/) with Quicklisp, clone a theme, load it and use it:

```lisp
  (with-nodgui ()
    (eval-tcl-file "ttkthemes/ttkthemes/png/yaru/yaru.tcl")
    (use-theme "yaru")
```

that's all there is to it.

The ttkthemes work: https://ttkthemes.readthedocs.io/en/latest/themes.html (just like with Python's Tkinter).

See more on the Cookbook and on Peter Lane's examples: https://peterlane.netlify.app/ltk-examples/

More screenshots and examples: https://github.com/vindarel/ltk-tests/, such as this toy media player:

![A media player GUI in Lisp](https://raw.githubusercontent.com/vindarel/ltk-tests/master/media-forest-light.png)
PhpStorm Open Search Results in a new Tab
Published: 2023-05-26 23:59:08

I found this tip on from [WordPress Diaries](https://www.wpdiaries.com/phpstorm-settings/#search-results), run by [Sergey Korolev](https://www.wpdiaries.com/about/).

I am re-posting it here as it is a great PHPStorm Tip: 

By default: when you search in PhpStorm (⌘ ⇧ F on Mac or Ctrl Shift F on Windows) and click the button Open in New Window in the search window, the results are shown in the same tab every time (overwriting each other). So you can not switch between the current and previous search results quickly. You need to search again instead.

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


How to change:

* Run the search (⌘ ⇧ F on Mac or Ctrl Shift F on Windows)
* Click the button Open in New Window on the bottom right of the search window
* Right-click on a tab in the search results
* Select View Options > Open Results in New Tab
Elevating Data Analysis with a Pinch of AI Wizardry and JavaScript
Published: 2023-05-26 23:52:49

Last week, just when I was casually strolling through the vast land of GitHub, I stumbled upon a project that caught my attention like a squirrel spotting a shiny nut: Pandas AI.

---


Let me tell you, folks, [Pandas AI](https://github.com/gventuri/pandas-ai) is like a magical wand for Python developers who want to add some serious artificial intelligence mojo to their data analysis game. It's a nifty library designed to partner up with the famous Pandas tool, not to steal its thunder, mind you.

![mind blowing](https://media.giphy.com/media/xT0xeJpnrWC4XWblEk/giphy.gif)

Now, this got my gears turning, my friends. I thought, why not embark on a coding adventure of my own? And thus, I birthed [ArraysAi ](https://github.com/alfredoaguiararce/arrays-ai) into this wild world of software sorcery. Just like its Pandas sibling, ArraysAi aims to sprinkle some AI spice onto your data analysis endeavors, making your life easier than figuring out where the missing semicolon in your code went.

Picture this, my fellow developers: a fully functional project that you can chat with, just like you chat with your pals or those talkative pigeons in the park. I'm talking about asking questions, crunching data, and getting answers faster than you can say "Hello World." It's like having a conversation with your PDFs, except this time it's actually useful!

![thumbs up](https://media.giphy.com/media/8xgqLTTgWqHWU/giphy.gif)

But hey, let's not get ahead of ourselves. I'm still in the early stages, my coding comrades. That's why I need your help, your wisdom, and your wicked feedback. Together, we can iterate, improve, and unleash a rock-solid version that will blow your developer socks off. So, bring on the feedback, folks! I'm all ears, ready to conquer the realm of data analysis with a dash of AI wizardry. Let's do this!

---

Visit our GitHub repository [ArraysAi ](https://github.com/alfredoaguiararce/arrays-ai)to explore the magic. Share your feedback, ideas, and insights. Let's collaborate, iterate, and create a data analysis experience like no other.
A Way to Avoid Distractions on Social Media While Using It
Published: 2023-05-26 22:54:19

Although I despise Facebook for a number of reasons, I am required to use it for academic and professional purposes. It is therefore very difficult to completely avoid it. However, for those of you who feel the same way I do, I think I have a solution.
I only use Facebook on a PC. In a Medium blog, I read about a browser extension called "News Feed Eradicator" for PC. I started using this extension three weeks ago.
It completely blanks out the news feed and replaces it with inspirational quotes. This means that you will no longer be disturbed by the distraction of the news feed while you are working on what needs to be done.
You can still see what you want to see manually. It just blocks the news feed.
I prefer using Telegram and WeChat for communication due to their reliable messaging features and user-friendly interfaces. My entire network of communication is on Telegram.
For professional networking and sharing industry insights, I use Pinterest, LinkedIn, and Twitter. These platforms allow me to connect with like-minded professionals and expand my knowledge in various fields.
You can also use the same extension to eradicate the news feeds on YouTube, LinkedIn, and Twitter. I use it on all of them. It is a lifesaver.
Here's the extension link,
https://chrome.google.com/webstore/detail/news-feed-eradicator/fjcldmjmjhkklehbacihaiopjklihlgg?hl=en
It's been a year. Time to make an app
Tags: dotnet, beginners, webdev
Published: 2023-05-26 22:29:25

Last post was around May 2022 right when I started working where I am now: a small IT company focusing on implementing anything other small companies need. 
I've had some practice with installing and configuring networks, providing remote and physical tech support with various things like servers, SQL databases, VPNs, Office365 and email, etc.

I also had the chance to program several code libraries in both C# and VBA to provide extended functionality to the Primavera ERP.
Unfortunately, as the sole programmer, I haven't had much chances to implement methodologies and have a senior guide me.

So now, after finishing the fantastic CS50 course from Harvard, I've decided to start a web app to learn about and practice the fundamentals that will serve as a basis to future career endeavours.

The app, a "simple" calisthenics workout tracker will be built with ASP.NET and I want to implement a database to support it.
I'll be using GPT to guide me through the steps since I have basically no knowledge of web development and proper project planning and implementation.

And that's it for now... I'll use DEV to log my progress. Even if no one reads it, it'll help me organize my ideas :)
Pub.dev How to choose the right package
Tags: flutter, dart, pub, package
Published: 2023-05-26 22:24:33

---
title: Pub.dev How to choose the right package
published: true
description: Pub.dev How to choose the right package
tags: flutter , dart , pub , package
cover_image: https://raw.githubusercontent.com/HosamHasanRamadan/github_vault/main/blogs/choose_right_package/assets/banner.png
# published_at: 2023-05-26 21:29 +0000
---
If you're struggling to choose the right package from Pub.dev's vast library of over 35K packages, this article will guide you through the process.

It's important to remember that once you've added a package to your project, it's your responsibility to keep up with updates and news related to that package. So, choosing the right package is crucial.

Here are the steps to follow:

### 1.  Define Your Problem  
Start by defining your problem accurately and specifying your expectations for the package. Be clear about how you want the package to solve your problem.
    
### 2. Check Flutter and Dart API Before You Browse Pub.dev  
 Before diving into Pub.dev, check the Flutter and Dart API. You may find that the solution you need is already available in the SDK.
    
### 3. Consider the Platforms You're Supporting  
Make sure to read the package documentation carefully, as some features may not work on all platforms, even if the package can be compiled on all platforms.
    
### 4. Packages Metrics :  

- **Documentation and Testing**
	Read the package documentation and check its quality and clarity. Look for examples and check the testing coverage and quality of the tests.
	 
- **Code Quality**
	Take a tour inside the code and check the style and quality of the code. Evaluate the complexity and readability of the code and consider how you can contribute to it.
	
- **Package History** 
	Check the update history and change logs to see how the package has evolved over time. This can give you an idea of how active the package is and whether it's being actively maintained.

- **Transitive dependency**
	Check the transitive dependencies and evaluate how heavy they are in maintenance. This can help you avoid packages with unnecessary dependencies that may add to the complexity of your project.
	
- **Community Activity**
	Check the issues section in GitHub and see how issues are being handled. Also, check the PRs and their acceptance criteria. Look for other community channels on Discord, Telegram, and other platforms to gauge the health of the community.
	
- **Popularity** 
	Consider the package's popularity, as indicated by GitHub stars and Pub.dev metrics (likes, Pub Points, and Popularity).

### 5. Test Before Implementation
 it's essential to test it first. Create a proof of concept or a test app to see if the package solves your problem as expected. This will help you avoid potential issues and ensure that the package is the right fit for your project.


In conclusion, choosing the right package from Pub.dev's extensive library can be challenging. By following these steps and considering these metrics, you can make the right choice and find a package that meets your needs and helps you achieve your project goals.
☕ Reflexionemos: La IA y la belleza.
Tags: spanish, ia, writing
Published: 2023-05-26 22:21:06


De a poco voy metiéndome en el mundo de la IA, probando diferentes herramientas y ver cómo funcionan. 
Veo que está generando impacto y cuando esto sucede, prefiero esperar un tiempo a que todo se "amolde" y recién ahí ver de qué trata.


Ayer hice por primera vez unas fotos mías generadas por IA (un poco tarde, lo sé). Utilicé la app llamada "**[Remini](https://remini.ai/)**", con una IA que fue entrenada con selfies.

Sinceramente me impresionó verlas porque era ver una Mary de un mundo alternativo. 😅
De un mundo paralelo, con otro cuerpo, otro background, otra profesión. Es como ver todo lo que podría haber sido mi vida si las cosas fueran diferentes.

Esto me hizo pensar y quisiera reflexionar con ustedes lo siguiente:


Recuerdo hace unos meses atrás la polémica que se armó por un filtro de TikTok llamdo **_Bold Glamour_** que te saca selfies perfectas y que aunque te muevas, no se sale.


![Ejemplo de una foto con y sin filtro](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wobgtw0kqum8pw6sskcg.jpg)

**Ophelia Nichols**, creadora de contenido en redes sociales, decía que esto puede ser muy peligroso desde el lado de la autoaceptación ya que lleva a una realidad totalmente distorsionada. “_Este tipo de filtros afectan la autoestima y empeoran la dismorfia corporal. Creo que filtros así empujan a jóvenes impresionables a pensar que se deben ver de esta manera para ser consideradas hermosas y ese no es el caso. Nadie lo necesita_”.


Sí bien entiendo el punto de tal controversia contra estos filtros porque es dañino para nuestra salud mental el buscar la perfección y que debemos ser quienes somos, no vi a nadie hablar con el mismo fervor contra las selfies generadas por IA.


![Fotos generadas por inteligencia artificial](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4b9oo82qvwyom3d76lel.jpg)


En lo personal a mi me shockeó bastante verme en esas fotos porque la IA te genera un modelo super hegemonico e irreal. Claramente esa en la foto no soy yo, ¡pero luce igual a mi! 
¿entonces sí soy yo? 

Hasta me hace acordar en las películas cuando viajas en el tiempo u a otra dimensión y que no debes encontrarte con vos mismo porque se armaría un caos en la matrix(?)


![Fotos generadas por inteligencia artificial](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2kl9lm6yrh9gfjbbb7qi.jpg)

La cuestión de este post es que en todo este tiempo vi mucho debate sobre chatgpt, y la Inteligencia Artificial en general. Más que nada sensacionalistas de temas como que te sacará el trabajo, y demás, pero nunca vi sobre las imágenes nuestras que estamos creando y como este puede afectarnos en nuestra perspectiva del mundo.

De más está decir si estas imagenes las empezamos a usar en redes sociales,vendiendo una imagen nuestra que no somos. 

Quisiera saber la opinión de ustedes sobre esto.
Los leo ☕