Aprender a programar - Recomendaciones

Hay lenguajes de programación que están hechos por gente con el alma podrida, sin duda. Pero lo peor de lo peor es lo que dice @TheReeler. El Vi.

Bill Joy, su creador, es sin duda una persona con problemas afectivos, alguien con odio y con inquina, incapaz de amar. Alguien podrido por dentro, tan infeliz que no es capaz de aguantar que alguien sonría. Por eso creó esa herramienta del infierno, para joder. Para que cualquiera que lo usara sufriera lo que sufrió el. Es la demostración más pura de odio por la humanidad.

Mención especial para PowerShell, claro ejemplo del estilo Microsoft: lo más enrevesado que se pueda, siempre.
 
@Tim @TheReeler
Estoy en mi ultimo examen de la carrera (me queda el proyecto!!) y es de la asignatura que mas te gusta Tim! :D.

Tengo que construir unos subscribers y publishers para un software que nos han mandado hacer.
Tienen que conectarse con mqtt.

Sin embargo, no consigo hacer funcionar mqtt porque me da un error rarisimo!
Cuando intento iniciar my servidor a traves del comando node app.js Me dice que my MqttServer no esta definido, cuando lo tengo en mi maravilloso archivo app.js e incluso he actualizado node.js a la ultima version.

He quitado el codigo que igual luego lo busca el profe!

Tengo mqtt instalado en todos lados, en la carpeta Client y en la carpeta Server y creo que tengo todo super bien definido, por eso me extrana que al intentar iniciar el servidor me diga que MqttServer no esta definido.

Alguna idea magica??.
 
Última edición:
@Miguel_Angel esto dice ChatGPT de tu error:

The error message you're seeing indicates that there is a ReferenceError in your Node.js application at line 36 of the app.js file. The error specifically mentions that MqttServer is not defined at that line.

To fix this issue, you need to make sure that the MqttServer class is properly defined and imported in your code before you try to create a new instance of it.

Here are some steps you can take to resolve the issue:
  1. Check Import Statement:
    Make sure you have an import statement for the MqttServer class at the beginning of your app.js file or in a file where it is defined.
    Example:

    Insertar CODE, HTML o PHP:
    const MqttServer = require('./path/to/MqttServer'); // Adjust the path accordingly
  2. Verify Class Definition:
    Ensure that the MqttServer class is defined correctly in the file specified in your import statement. Check for any typos or issues with the class definition.
    Example:
    Insertar CODE, HTML o PHP:
    // In MqttServer.js or the appropriate file
    class MqttServer {
        // Class implementation
    }
    module.exports = MqttServer;
  3. File Path Correction:
    If the file path in the import statement is incorrect, Node.js won't be able to find the MqttServer class. Double-check and correct the file path.
  4. Dependency Installation:
    If MqttServer is part of an external library or module, ensure that you have installed the necessary dependencies. You can do this by running npm install in your project directory.
After making these checks and corrections, try running your Node.js application again. This should resolve the ReferenceError you're encountering.

:ok :ok :ok
 
@Miguel_Angel esto dice ChatGPT de tu error:

The error message you're seeing indicates that there is a ReferenceError in your Node.js application at line 36 of the app.js file. The error specifically mentions that MqttServer is not defined at that line.

To fix this issue, you need to make sure that the MqttServer class is properly defined and imported in your code before you try to create a new instance of it.

Here are some steps you can take to resolve the issue:
  1. Check Import Statement:Make sure you have an import statement for the MqttServer class at the beginning of your app.js file or in a file where it is defined.
    Example:

    Insertar CODE, HTML o PHP:
    const MqttServer = require('./path/to/MqttServer'); // Adjust the path accordingly
  2. Verify Class Definition:Ensure that the MqttServer class is defined correctly in the file specified in your import statement. Check for any typos or issues with the class definition.
    Example:
    Insertar CODE, HTML o PHP:
    // In MqttServer.js or the appropriate file
    class MqttServer {
        // Class implementation
    }
    module.exports = MqttServer;
  3. File Path Correction:If the file path in the import statement is incorrect, Node.js won't be able to find the MqttServer class. Double-check and correct the file path.
  4. Dependency Installation:If MqttServer is part of an external library or module, ensure that you have installed the necessary dependencies. You can do this by running npm install in your project directory.
After making these checks and corrections, try running your Node.js application again. This should resolve the ReferenceError you're encountering.

:ok :ok :ok
Gracias @DeBilbao .. todos esos pasos verificados y estan correctos :)
 
@Miguel_Angel esto dice Copilot con GPT-4

Hello, this is Bing. It seems like you are having some trouble with your Node.js code. The error message indicates that you are trying to use a class called MqttServer that is not defined or imported in your app.js file.

MQTT is a lightweight messaging protocol for the Internet of Things (IoT) that allows devices to communicate with each other. To use MQTT in Node.js, you need to install a library that provides an MQTT client and/or server. One such library is [MqttNet](^2^), which is a cross-platform and asynchronous MQTT library for .NET and .NET Core.

To use MqttNet in your Node.js project, you need to follow these steps:

- Install the MqttNet package using the command `npm install mqtt-net`
- Import the MqttNet module using the statement `const MqttNet = require('mqtt-net')`
- Create an instance of the MqttServer class using the statement `const mqttServer = new MqttNet.MqttServer()`
- Configure the server options, such as the port, the connection validator, and the message interceptor, using the MqttServerOptionsBuilder class
- Start the server using the `start()` method of the MqttServer instance

You can find more details and examples on how to use MqttNet in the [documentation](^2^) and the [GitHub repository].

I hope this helps you solve your problem. If you have any other questions, feel free to ask me. 😊

Origen: Conversación con Bing, 11/1/2024
(1) c# - MqttNet Basic example - Stack Overflow. MqttNet Basic example.
(2) c# - MqttNet Basic example - Stack Overflow. MqttNet Basic example.
(3) mqtt - How to test the `Mosquitto` server? - Stack Overflow. How to test the `Mosquitto` server?.
(4) Resolving problems if your MQTT client fails to connect - IBM. Resolving problems if your MQTT client fails to connect.
(5) Resolving problem: MQTT client does not connect - IBM. Resolving problem: MQTT client does not connect.
 
@Miguel_Angel esto dice Copilot con GPT-4

Hello, this is Bing. It seems like you are having some trouble with your Node.js code. The error message indicates that you are trying to use a class called MqttServer that is not defined or imported in your app.js file.

MQTT is a lightweight messaging protocol for the Internet of Things (IoT) that allows devices to communicate with each other. To use MQTT in Node.js, you need to install a library that provides an MQTT client and/or server. One such library is [MqttNet](^2^), which is a cross-platform and asynchronous MQTT library for .NET and .NET Core.

To use MqttNet in your Node.js project, you need to follow these steps:

- Install the MqttNet package using the command `npm install mqtt-net`
- Import the MqttNet module using the statement `const MqttNet = require('mqtt-net')`
- Create an instance of the MqttServer class using the statement `const mqttServer = new MqttNet.MqttServer()`
- Configure the server options, such as the port, the connection validator, and the message interceptor, using the MqttServerOptionsBuilder class
- Start the server using the `start()` method of the MqttServer instance

You can find more details and examples on how to use MqttNet in the [documentation](^2^) and the [GitHub repository].

I hope this helps you solve your problem. If you have any other questions, feel free to ask me. 😊

Origen: Conversación con Bing, 11/1/2024
(1) c# - MqttNet Basic example - Stack Overflow. MqttNet Basic example.
(2) c# - MqttNet Basic example - Stack Overflow. MqttNet Basic example.
(3) mqtt - How to test the `Mosquitto` server? - Stack Overflow. How to test the `Mosquitto` server?.
(4) Resolving problems if your MQTT client fails to connect - IBM. Resolving problems if your MQTT client fails to connect.
(5) Resolving problem: MQTT client does not connect - IBM. Resolving problem: MQTT client does not connect.
Gracias!

Al final he conseguido hacerlo funcionar separando el codigo en dos, un archivo para el servidor, otro para el cliente y diciendole a cada package.json que el punto de entrada era el archivo de cada carpeta.

Cuando he resuelto ese problema no podia conectarme al broker de mqtt asi que lo he cambiado por otro y arreando! 😊

Ahora me queda implementar los mensajes en mi web / GUI en tiempo real (que no me lo han pedido en el examen pero me parece algo super interesante)

Gracias por la ayuda!
 
Examen final entregado!!!!

Ya no tengo mas examenes y cuando termine el proyecto en Mayo (comienzo la semana que viene) he terminado la primera parte de la carrera.

:atope:atope:atope

Si me apetece seguir tengo a mi disposicion el postgrado de Ciberseguridad o el de Analisis de Datos en Septiembre :).

Respecto al codigo de los post anteriores.. hoy me he dado cuenta que estaba super equivocado.
Por alguna razon pense que tenia que crear un cliente y un servidor, cuando lo que tenia que hacer era crear dos clientes con varios publishers y subscribers.. ya que estaba conectandome a un servidor via MQTT!.

En fin.. dos dias perdidos pero al menos he conseguido desarrollar la aplicacion y funciona! :), estoy muy contento.

Aqui os dejo el enlace a Github: GitHub - insurgent-github/DistributedSystemsTABA at Prod
 
Ya me han dado el temario del proyecto, me encanta!!!!!

1705442753688.png
 
Como introduccion a mi postgrado en Data Analytics (y sobre todo para saber si me va a gustar o no) estoy haciendo un cursito llamado Data Analytics: Foundations.

Se centra en como ordenar una serie de datos en Excel y Power Bi antes de presentarlos y analizarlos, muy interesante y recomendable. Espero que el postgrado se centre mas en las partes 2, 3 y 4 :)
1706517710600.png


Tienen otro de Ciberseguridad al que igual le hecho un vistazo, pero solo porque @Tim dice que es el futuro :D
 
No es el futuro, es el presente
Me mirare el curso :).

Me da la impresion que Data Analytics es una de estas profesiones que, gracias a la ayuda de la IA, se va a realizar de manera mas rapida y sencilla, si no la han incorporado ya a sus flujos de trabajo.

Dale los datos a la IA, dile que te los analice y los interprete (en 30 segundos!) y una vez que tienes todo puedes comenzar a hacer predicciones y sacar conclusiones.
 
¿Alguno se ha leído bien leída la letra pequeña del uso de las IAs? Es decir, ¿qué pasa con la información que tú le das como input? (documentos, correos, párrafos escritos a mano con explicaciones....)
 
¿Alguno se ha leído bien leída la letra pequeña del uso de las IAs? Es decir, ¿qué pasa con la información que tú le das como input? (documentos, correos, párrafos escritos a mano con explicaciones....)
Esta claro que pasan a ser parte de los datos con los que se entrena la IA.

Sorprendentemente esta informacion sigue perteneciendo al usuario (al menos en el caso de ChatGPT)
 
¿Y dónde ha cedido la empresa los datos para que con ellos se entrene a una IA?
Estamos hablando siempre de casos con copyright, si no lo hay, no problem.
 
¿Y dónde ha cedido la empresa los datos para que con ellos se entrene a una IA?
Estamos hablando siempre de casos con copyright, si no lo hay, no problem.
En el momento en el que has decidido usar la IA para encontrar una respuesta basada en esos datos.

Sin embargo, en ChatGPT puedes denegar el acceso a esos datos para que se entrene la IA.
 
En el momento en el que has decidido usar la IA para encontrar una respuesta basada en esos datos.
Mmmm, no. No es lo mismo que tú mismo subas el documento y le pidas algo sobre éste, que la IA esté entrenada usando datos que un usuario no le ha introducido y que tienen copyright.

Sin embargo, en ChatGPT puedes denegar el acceso a esos datos para que se entrene la IA.
OK, mi pregunta original iba por aquí. Estoy convencido que la inmensa mayoría de gente usar ChatGPT introduciendo inputs *privados* de su trabajo sin haberse leído esto:


Incluso alguno puede que lo haya hecho sin la debida autorización.
 
Mmmm, no. No es lo mismo que tú mismo subas el documento y le pidas algo sobre éste, que la IA esté entrenada usando datos que un usuario no le ha introducido y que tienen copyright.


OK, mi pregunta original iba por aquí. Estoy convencido que la inmensa mayoría de gente usar ChatGPT introduciendo inputs *privados* de su trabajo sin haberse leído esto:


Incluso alguno puede que lo haya hecho sin la debida autorización.
Seguro!. Sin embargo, creo que tienen una subscripcion para empresas.

Imagino que si es asi te informaran de todas las cosas que pueden pasar cuando subes tu informacion a sus servidores. En el trabajo que estoy rodando ahora tenemos vetadisimo el uso de Inteligencia Artificial para crear arte digital o conceptos.
 
A lo que me refiero es que ahora fulanito no sabe cómo hacer algo en su trabajo, así que no solo le pregunta a la IA, sino que sube un trozo de código propio para que le ayude.

Pueden pasar al menos tres escenarios:

1- Es consciente de que lo que sube, la IA lo usará para aprender.

2- Tiene deshabilitado en su cuenta que la IA pueda coger ese contenido para aprender.

3- No es consciente de nada y sube contenido con copyright que puede acabar en manos de terceros.

Personalmente es un tema que me da que pensar, sobre todo en lo relativo a proteger lo más valioso que tenemos: el software propio.

Por eso jamás he subido código fuente a un repositorio en la nube.
 
Lo que comenta @TheReeler es un tema importantísimo, y ante los tres escenarios planteados, alguien que puede usar la tecnología porque tiene acceso a la misma sin restricciones, elegirá la tercera opción ya que es la que le ofrece mejor resultado en menor tiempo.

No hace falta leerte ningunos términos y condiciones, ChatGPT te avisa cuando te registras y te lo dice bien claro: no compartas información privada porque podrá acabar en manos de alguien que la revise para saber si la respuesta que ha dado la IA ha sido correcta.

:ok :ok :ok
 
Pero esto no es un problema de la compañia que hace la IA, aunque estaria muy bien que por defecto la opcion elegida por la empresa fuese: "No se van a usar tus datos para entrenar a la IA" y el usuario tuviese que consentir "a posta" para dar acceso a los mismos.
 
Pero esto no es un problema de la compañia que hace la IA
No, el marrón es para la compañía que no sabe que sus datos son "regalados" a la IA por un empleado que no es consciente de lo que implica un uso para el cual seguramente no está autorizado. Precisamente hoy tengo una jornada de trabajo para prepararnos de cara a la nueva norma del ENS y éste será un punto de los que quiero tratar con los asesores.
 
En mi empresa ya se comentó el tema hace tiempo, precisamente por eso. Porque una cosa es poner código o un documento en el que no salen datos de clientes, pero habrá gente que si lo haga.
 
En mi empresa ya se comentó el tema hace tiempo, precisamente por eso. Porque una cosa es poner código o un documento en el que no salen datos de clientes, pero habrá gente que si lo haga.

Y ojo que cuando decimos "datos de los clientes", no solo nos referimos a datos de carácter personal, sino también a cualquier información que sea propiedad del cliente, lo cual incluye también el código fuente que tan alegremente se puede subir para que la IA te diga qué es lo que tienes que hacer con él para mejorarlo o para resolver un problema.

Un tema muy delicado este que comentáis.

Imprescindible tenerlo claro para poder poner en marcha la IA en proyectos reales en producción.

:ok :ok :ok
 
Arriba Pie