Categorías
Filosof_IA

¡Eso lo hago yo con la ía!

Una vez fui a un partido de la UD Las Palmas (todos hemos tenido varias vidas antes de esta. En fin.)

El caso es que había sentado al lado con su padre un chavalín, 10 u 11 años, quizá menos.

En determinado momento, un jugador de Las Palmas marcó un gol de chilena. Acto seguido, el chaval exclamó: «¡Eso lo hago yo con el FIFA!!»

Recuerdo que pensé: «No, desgraciado. Le das a un botón en el mando».

A veces pienso que la IA es lo mismo. Vemos una acción interesante (prosa maravillosa, dibujos preciosos), y viene el desgraciado de turno y te dice: «¡Eso lo hago yo con la IA!!»

Categorías
Microcontroladores Micropython

Escenarios de uso de `async` en MicroPython

Resumen de [[https://github.com/peterhinch/micropython-async/blob/master/v3/docs/TUTORIAL.md]]

1. Gestión de múltiples tareas de E/S

  • Escenario: Leer datos de un sensor mientras se actualiza una pantalla LED o se responde a pulsaciones de botones.
  • ¿Por qué async?: Los microcontroladores suelen necesitar ejecutar tareas como esperar datos de sensores, escribir en pantallas o gestionar interacciones. async permite que estas tareas se ejecuten de forma cooperativa (cediendo el control cuando están inactivas) en lugar de bloquearse entre sí.
  • Ejemplo:

    async def leer_sensor():
        while True:
            datos = sensor.read()
            # ... procesar datos ...
            await asyncio.sleep(0.1)  # Ceder control a otras tareas
    
    async def actualizar_pantalla():
        while True:
            pantalla.mostrar(estado)
            await asyncio.sleep(1)

2. Retrasos no bloqueantes

  • Escenario: Realizar acciones con intervalos distintos (ej.: parpadear un LED cada 500 ms mientras se registran datos cada 2 segundos).
  • ¿Por qué async?: time.sleep() bloquea todo el programa. async lo reemplaza con await asyncio.sleep(), liberando el microcontrolador para otras tareas durante las esperas.

3. Gestión de protocolos de comunicación

  • Escenario: Comunicación por UART, I2C o Wi-Fi mientras se ejecuta otro código.
  • ¿Por qué async?: Las comunicaciones suelen requerir que se espere por las respuestas. async permite iniciar una solicitud, luego cambiar a otras tareas y finalmente reanudar la tarea previa al recibir datos.
  • Ejemplo:
    async def obtener_clima():
        while True:
            respuesta = await wifi.get('http://api.weather.com')
            # ... procesar respuesta ...

4. Tareas en segundo plano con recursos compartidos

  • Escenario: Registrar datos en una tarjeta SD mientras se controla un motor.
  • ¿Por qué async?: Usar “primitivas de sincronización”, por ejemplo Lock (de micropython-async) para compartir recursos de forma segura entre tareas.
  • Ejemplo:

    lock = asyncio.Lock()
    
    async def registrar_datos():
        async with lock:
            with open('log.txt', 'a') as f:
                f.write(datos)
    
    async def controlar_motor():
        async with lock:
            motor.ejecutar(velocidad)

Notas clave para async en MicroPython

  • Multitarea cooperativa: Las tareas deben usar await explícitamente para ceder el control (no hay multitarea preemptiva, es decir, no hay control central de tareas).
  • Ligero: Usa mucha menos memoria que los hilos, lo cual es crítico para microcontroladores.
  • Bucle de eventos: La librería asyncio gestiona la planificación de tareas (similar al bucle de eventos de JavaScript).

Para más detalles, consulta el tutorial de micropython-async.

Categorías
Sin categoría

Propuestas para un espacio de retroinformática como proyecto de patrimonio industrial

1. Documentación y Contextualización Histórica

Identificación de la evolución tecnológica de los dispositivos almacenados (ordenadores, videoconsolas, radiocassettes, televisores).

Relación de los dispositivos con cambios culturales y tecnológicos, destacando su impacto en la sociedad y en el entretenimiento.

Comparación entre generaciones de hardware, mostrando diferencias en diseño, componentes y funcionalidad.

2. Conservación y Restauración

Mantenimiento y reparación de dispositivos para que funcionen en su estado original.

Preservación de carcasas, circuitos y componentes electrónicos ante el deterioro por el tiempo y el almacenamiento.

Digitalización de software y archivos (ejemplo: ROMs de videojuegos, programas antiguos en disquetes o cassettes).

Estrategias de almacenamiento adecuadas para evitar humedad, polvo y corrosión en los dispositivos antiguos.

3. Exposición y Divulgación

Creación de una pequeña zona expositiva donde los visitantes puedan ver y conocer los dispositivos.

Exposición temática rotativa, enfocándose en la historia de marcas icónicas (Atari, Amstrad, Sony, Sega, Nintendo, etc.).

Presentación de modelos funcionales para que los visitantes puedan interactuar con ellos.

Recreación de espacios de uso originales, como un “rincón ochentero” con una TV CRT y una consola clásica conectada.

4. Interactividad y Educación

Talleres de desmontaje y reparación para enseñar cómo funcionan los dispositivos.

Charlas sobre la historia de la tecnología y su evolución en el mercado.

Experiencias prácticas donde los asistentes puedan probar sistemas antiguos (por ejemplo, escribir en un MS-DOS, programar en BASIC, jugar en un Amiga 500).

Creación de fichas técnicas para cada dispositivo, con información sobre su año de fabricación, características y curiosidades.

5. Relación con la Historia del Retro y la Comunidad

Vinculación con otros grupos retro y eventos (ferias, exposiciones, competiciones de juegos antiguos).

Rescate de tecnología obsoleta y su importancia en la informática y el entretenimiento moderno.

Colaboraciones con otros coleccionistas para intercambiar información y dispositivos.

Registro y catalogación de los dispositivos disponibles en el local, creando una base de datos accesible para la comunidad.

Categorías
Sin categoría

Una abuela supera a DeepSeek en el microcontrolador de su yogurtera

🥄 La primera IA en una yogurtera, creada por una abuela programadora, supera a DeepSeek esta semana

En un giro inesperado en el mundo de la inteligencia artificial, Doña Paquita, una entrañable señora de 74 años de Albacete, ha conseguido lo impensable: programar una IA en el microcontrolador de su yogurtera Flan-O-Matic 3000, logrando superar en rendimiento a DeepSeek y otras potentes redes neuronales.

🧠 La revolución del «TermoAprendizaje Profundo»

Según cuenta Doña Paquita, todo empezó cuando intentó arreglar la yogurtera tras un fallo eléctrico. «Le cambié el fusible, pero al abrirla vi que tenía un chip muy majo, y pensé: ‘¿Y si en vez de hacer yogures, le enseño a jugar al ajedrez?'». Así nació YogurtNet, una IA basada en «TermoAprendizaje Profundo», que utiliza la temperatura del yogur para optimizar su rendimiento computacional.

«Si el yogur cuaja bien, significa que la red neuronal está bien entrenada. Si sale líquido, hay que recalibrar los pesos sinápticos», explica con una lógica impecable.

🔥 Rompiendo récords sin consumir más de 12W

A pesar de correr en un humilde ATmega328P, el mismo chip que usa un Arduino, YogurtNet ha conseguido superar a DeepSeek en varias pruebas de generación de texto, traducción y composición de coplas manchegas. Según los expertos, su modelo es tan eficiente que realiza cálculos complejos en menos de 500ms, todo mientras calienta un litro de leche con fermentos lácticos.

La comunidad científica está asombrada: «Es un paradigma totalmente nuevo», comenta el Dr. Eugenio Quesada, experto en IA. «No solo ha creado un modelo más eficiente que los actuales, sino que ha reducido el consumo energético a niveles ridículos. Los centros de datos de Google gastan megavatios en entrenamiento, y ella lo hace con un cacharro enchufado en la cocina.»

🍶 El futuro: YogurtNet 2.0 y un chatbot de recetas

Ante el revuelo causado, Doña Paquita ya trabaja en la siguiente versión: YogurtNet 2.0, que incorporará un módulo de reconocimiento de voz para que la yogurtera pueda dar consejos de cocina y responder preguntas en tiempo real. «Si le pides la receta de unas natillas, no solo te la da, sino que te dice cómo hacerlas con lo que tienes en la nevera», presume la abuela programadora.

Mientras tanto, NVIDIA ha ofrecido un contrato millonario a Doña Paquita para que implemente su tecnología en sus próximas GPUs. Sin embargo, ella se lo piensa: «Primero quiero asegurarme de que siga haciendo yogures, que si no, a ver qué desayuna mi marido.»

🎭 Conclusión: Un paso adelante para la IA, un paso atrás para los yogures industriales

La IA de Doña Paquita ha dejado claro que la revolución tecnológica puede venir de los lugares más inesperados. Con YogurtNet, el mundo de la inteligencia artificial entra en una nueva era… una era más cremosa, con menos consumo energético y, probablemente, con mejor sabor.

¿Será este el futuro de la IA? Solo el tiempo y los yogures lo dirán.