Ampliando el universo Python con Rust

Mi compañera Natalia, entre muchos otros talentos que tiene, es traductora de alemán a español y además de traducir de manera independiente, es investigadora y docente en la Universidad Nacional de Córdoba.

Probablemente porque a mí los idiomas me resultan un desafío casi tan infranqueable como el baile o el canto (perdonen los y las colegas que han tenido y tendrán que lidiar mi inglés oral) le tengo una profunda admiración a las personas que saben muchos idiomas, pero no en la mera habilidad de reemplazar unas palabras por otras o producir más sonidos vocales, sino el de conocer y sentir en lo más profundo los distintos universos. Es el sentido en el que Borges se quejaba de una mala traducción que le hicieron:

De acuerdo a los diccionarios, los idiomas son repertorios de sinónimos, pero no lo son. Los diccionarios bilingües hacen creer que cada palabra de un idioma puede ser reemplazada por otra de otro idioma. El error consiste en que no se tiene en cuenta que cada idioma es un modo de sentir el universo.

Esta admiración por el poliglotismo como forma de ensanchar el universo vital yo la extrapolo a las personas que saben muchos lenguajes de programación de manera profunda. Son las personas que traen ideas de un universo a otro y rompen las burbujas, los prejuicios, las ignorancias. Son quienes proponen nuevas formas y límites, toman lo de aquí como inspiración para lo de allá. Sin dudas no existiría Python sin este tipo de personas. Vivan estos "Marco Polo" que conectan universos.

Como estoy con la ambición (pero no la dedicación suficiente) de abrirme una ventanita al universo Rust, suplo mi lentitud y dispersión con herramientas y atajos.

He aquí una manera sencilla de ampliar mi universo (Python) con un "Marco Polo" que conoce el mundo Rust y puede abrirnos una ventana a ese otro universo lleno de posibilidades.

Leer más…

Cómo usar WhisperX en Google Colab (2025)

WhisperX es un pipeline avanzado de reconocimiento de voz construida sobre Whisper, el modelo ASR de código abierto de OpenAI. Funciona en PyTorch y, aunque puede operar sobre CPU, el rendimiento mejora muchísimo con una GPU compatible con CUDA (es decir, NVIDIA). WhisperX mejora al modelo original con una alineación más precisa y veloz, soporte para modelos más grandes y diferenciación de voces (diarización) opcional. El resultado son transcripciones de alta calidad con marcas de tiempo a nivel de palabra e identificación clara de cada hablante y asegura ser hasta 70x más rápìdo que el modelo original

Mi compu no tiene una GPU con soporte para CUDA, así que ejecuto WhisperX en Google Colab y este es un tutorial corto de cómo lo configuro y uso en ese entorno en la nube.

Leer más…

textual-tetris, un tetris en la terminal

Como sigo sin empleo priorizando la búsqueda de salud mental, dedico mi tiempo ñoño a dos loables tareas:

  1. Colaborar con organizaciones que necesitan soluciones tecnológicas pero no tienen el presupuesto para competir con el mercado por mis conocimientos.
  2. La que compete a este post: aprender cosas nuevas implementando ideas viejas del TO DO permanente que anoto acá), para las que rara vez encontraba el tiempo.

Esta vez quería aprender un poco sobre Textual (hermano mayor de rich), el gran framework en Python para hacer interfaces gráficas basadas en texto, las famosas TUIs.

Y ya que estaba, aprendí a hacer un Tetris que es bastante digno de jugar, no se ve taaan feo, y actualmente tiene menos de 600 líneas contando los comentarios y se ve así:

Pero una probadita vale más que mil capturas: abrí una terminal y si tenés uv instalado (¡deberías!) ejecutá:

uvx textual-tetris 

Y ya estás jugando Tetris!

Leer más…