15 de mayo de 2024

Un asistente virtual en la computadora

La biblioteca de Python pyttsx3 ofrece múltiples alternativas para transformar textos en audios. Del otro lado del mostrador, SpeechRecognition sirve para lo contrario: convierte en escritos lo que se dice. Y las dos son el corazón de mi aplicación Virtual-Assistant, que es capaz de recibir órdenes sencillas —como realizar una búsqueda en Wikipedia, consultar el valor de una acción o reproducir un video de YouTube— y ejecutarlas con acierto y sin demora.

Un software para restaurantes

Tkinter, una biblioteca de referencia para el trabajo con interfaces gráficas desde Python, es una muy buena puerta de entrada para aprender cómo una aplicación interactúa con el usuario, cómo le solicita que ingrese datos y captura las pulsaciones del teclado y los movimientos del ratón. Esa fue la herramienta fundamental que usé en My-Restaurant, un programa que registra los consumos de los clientes de un mesón y les emite la cuenta.

Un juego multimedia y un soft de scraping

En el décimo proyecto del curso Python Total (Udemy), usé la biblioteca pygame para crear el Space-Invaders, un juego multimedia totalmente funcional y desarrollado en menos de 200 líneas de código. El siguiente desafío fue aprender a extraer información de sitios web con las bibliotecas bs4 y requests. Y el resultado fue el programa Web-Scraping, que mantiene actualizada una lista de libros según la información que toma de un sitio web determinado.

14 de mayo de 2024

Cinco poderosas bibliotecas en acción

El programa Serial-Number-Finder explora directorios y subdirectorios para dar con archivos de texto. Luego, busca en ellos una secuencia alfanumérica determinada. Para lograrlo, echa mano a varias bibliotecas de Python. Con "os" gestiona las rutas de acceso y la navegación por las carpetas, usa "re" para la detección de patrones textuales, recurre a "time" y a "datetime" para tratar medidas de tiempo, fechas y horas, y con "math" hace las operaciones matemáticas.

13 de mayo de 2024

Usando los decoradores de Python

El programa Shift-Granting da la bienvenida a los clientes de una farmacia y les expende su correspondiente número de turno según al área del comercio a la que se dirijan (Medicamentos, Perfumería o Cosméticos). Pero fue, sobre todo, una buena sesión de entrenamiento en el uso de “decoradores”, esa avanzada herramienta de Python que permite envolver una función dentro de otra para extender el comportamiento de la primera sin tener que reescribirla.

12 de mayo de 2024

El poder de orientarse a objetos

En 2023, tomé el curso Python Total, dictado por el excelente instructor Federico Garay, en la plataforma Udemy. Entre el mucho software que escribí en ese aprendizaje, uno de los que más recuerdo es Bank-Account. Este programa realiza las operaciones básicas de la administración de una cuenta bancaria, pero si por algo quedó en mi memoria fue porque con él comencé a vislumbrar todo el poder de la Programación Orientada a Objetos.

11 de mayo de 2024

Trabajando con números y textos en Python

Entre mis primeros programas con el lenguaje de programación Python, está el Text-Analyzer, que recibe un texto, luego tres caracteres, e informa la cantidad de veces que se repiten esos caracteres en el escrito. Además, el programa imprime el texto invertido, entre otras cosas. También desarrollé una versión del juego “El ahorcado”, y el Guess the Number, que en base a preguntas y respuestas deduce en qué número está pensando el jugador.

Algoritmos de ordenamiento

El reto que plantea el ejercicio push_swap (de 42 Madrid) podría resumirse así: “Escriba un algoritmo que, recibida una pila (stack) de hasta 500 números enteros, los ordene de menor a mayor usando para ello una cantidad limitada de movimientos”. Responder a ese desafío fue estimulante y un buen entrenamiento para abordar problemas complejos; entre otras cosas porque la mejor solución posible varía mucho según las características del stack que se reciba.

7 de enero de 2024

"Leer" el Quijote en menos de un segundo

Con el proyecto
get_next_line aprendí sobre las variables estáticas en el lenguaje C, experimenté el trabajo con los file descriptors y me ejercité en el manejo cuidadoso de la asignación y la liberación de memoria. Fue grande la satisfacción y el asombro cuando el programa que había creado fue capaz de recorrer todo el texto de El Quijote y entregarlo fraccionado en porciones de extensión variable en bastante menos de un segundo.

4 de enero de 2024

Mi versión de una poderosa función de C

Uno de los primeros asombros que experimenté como recién llegado al mundo de la programación en el lenguaje C, fue printf, porque por su poder y versatilidad proporciona soluciones rápidas a múltiples tareas. Precisamente por eso, en 42 Madrid, adonde comencé mi formación como programador, su uso estaba terminantemente prohibido a los principiantes. Grande fue entonces la satisfacción cuando, con pocas semanas como estudiante, logré escribir mi propia versión de esa función.

3 de enero de 2024

Más de 30 herramientas de propósito general

Tras superar los 26 días seguidos (de lunes a domingos) de la 
Piscina de 42 Madrid, llegó la hora del primer desafío del Common Core: Libft, una biblioteca de 34 funciones de propósito general en lenguaje C para ser utilizada en proyectos posteriores. Fue un gran entrenamiento en el que había que prestar especial atención a La Norma, el conjunto de estrictas reglas de calidad que debe cumplir el código en 42.

1 de enero de 2024

Nueva etapa para 72 Palabras

Este blog, un proyecto personal, nació en 2007. En una primera etapa fue parte de la edición online del diario Clarín de Buenos Aires, luego se independizó, y desde 2012 ha estado hibernando. Ahora vuelve a la vida, pero con un propósito diferente al original: ya no está dedicado a novedades tecnológicas, ahora mostrará, al menos por un tiempo, mi nuevo perfil profesional y mis proyectos como programador y analista de datos.