Interferon

Interferon es un álbum de música techno donde todas sus pistas van a 121bpm, un ritmo lento que permite explorar el sonido con bastante margen de maniobra. Contrapuntos, arpegios, bajos gruesos, colchones y líneas melódicas en un trabajo aún en desarrollo.

Interferon Sigma

Descarga

-

Interferon Epsilon

Descarga

-

Interferon Beta

Descarga

-

Interferon Alpha

Descarga

-

Más en Soundcloud, Google Sites y Youtube.

Diresp

Uno de los principales problemas de los sistemas de información es la falta de espacio en algún lugar de almacenamiento.

Conocer en qué lugares se producen las mayores concentraciones de espacio ocupado sirve de ayuda para tomar decisiones rápidamente, como eliminar ficheros que no son necesarios, moverlos a otro lugar o ampliar espacio.

Los sistemas distintos a Windows, como GNU/Linux, UNIX y MacOS normalmente incluyen una herramienta denominada du (disk usage), que fácilmente proporciona esta información.

En el caso de sistemas Windows, para averiguar rápidamente el espacio que ocupa cada subcarpeta de una carpeta dada, desarrollé en C una pequeña herramienta de línea de comandos denominada diresp3.exe.

Para utilizar esta herramienta es necesario que el fichero diresp3.exe esté ubicado en una carpeta donde pueda ejecutarse desde cualquier otro lugar, por ejemplo en c:\windows\system32, o en cualquier otra que esté incluida en la variable PATH del sistema. Después, en la línea de comandos vamos a la carpeta donde queremos obtener el tamaño de sus subcarpetas y ejecutamos diresp3.exe directamente. Como resultado tendremos la lista de subcarpetas con sus correspondientes espacios ordenada de menor a mayor espacio.

La guía de Raku

Raku es una especificación de lenguaje de programación con muchos puntos fuertes: el soporte de Unicode más completo que existe en la actualidad, un potente motor concurrente, tipado gradual, gramáticas avanzadas y variedad de paradigmas de programación entre otras características interesantes.

La implementación actual de Raku es un compilador denominado Rakudo, que incorpora la máquina virtual MoarVM que a su vez interpreta el código de Raku y lo ejecuta en el sistema.

Si quieres conocer Raku, uno de los lugares recomendados es https://raku.guide. La versión española, la cual desarrollé y participo en su mantenimiento, está disponible en es.raku.guide.

Módulos de Raku

El lenguaje de programación Raku dispone de un ecosistema de módulos que amplian su funcionalidad, facilitando desarrollar soluciones con menos líneas de código.

Mi granito de arena en este ecosistema incluye los siguientes módulos orientados a la gestión de sistemas:

FileSystem::Capacity
Proporciona información de la capacidad del sistema de archivos

Package::Updates
Busca y visualiza actualizaciones de paquetes de los gestores de paquetes más utilizados

System::Stats::CPUsage
Estadísticas en porcentaje de uso de CPU

System::DiskAndUpdatesAlerts
Envía notificaciones sobre la capaciad de discos y actualizaciones pendientes

System::Stats::DISKUsage
Proporciona estadísticas de uso de disco

System::Stats::MEMUsage
Proporciona estadísticas de uso de memoria RAM

System::Stats::NETUsage
Proporciona estadísticas de uso de red

Win32::DrivesAndTypes
Visualiza unidades Win32 sus tipos

RawApp
Un pequeño framework de aplicación web

Tutorial de PowerShell

PowerShell es un lenguaje de programación interpretado de Windows, utilizado normalmente para trabajar con .NET. Muy útil para gestionar el sistema, automatizar operaciones, implementar configuraciones y llevar a cabo integraciones.

En 2023 publiqué un tutorial disponible en este enlace de Github orientado a principiantes y como referencia para los que ya lo vengan utilizando.

Tutorial de punteros en C

C es el lenguaje de programación en el que están escritos la mayoría de los lenguajes de programación más populares. Desde su publicación en 1972 no ha habido lenguaje que haya envejecido tanto y tan bien. Sencillo y poderoso, en C se han escrito los sistemas operativos predominantes como UNIX, el kernel de Linux, Microsoft Windows, Android e iOS, así como la mayoría de los servicios más importantes de Internet como los servidores web Apache y Nginx, o bases de datos como MySQL o Redis.

El aspecto más poderoso y útil de C son los punteros. Con ellos puedes realizar operaciones masivas en estructuras complejas de datos de la forma más rápida y eficiente posible. Para comprender a los punteros de forma adecuada traduje uno de los mejores tutoriales sobre este tema, escrito por Ted Jensen y disponible en este enlace. La versión PDF está disponible en este otro enlace.

Ken Thompson y la confianza

Ken Thompson diseñó e implementó el primer sistema operativo UNIX en 1970, creó el lenguaje B, que fue el predecesor del lenguaje C, definió la codificación UTF-8 inicialmente en una servilleta de papel... Todo esto entre otras cosas influenciaron de forma notable las ciencias de la teoría de la computación. En 1983 Ken Thompson recibió el premio Alan Turing junto con Dennis Ritchie por su contribución al desarrollo de la teoría general de sistemas operativos (concretamente la implementación de UNIX) y aprovechó la recogida del premio para hablar sobre la "Confianza en la confianza", demostrando que es muy difícil detectar un programa troyano (o virus troyano) cuanto más bajo sea el nivel de su implementación. El documento que contiene esta demostración puedes verlo en este enlace y la traducción que realicé al español en este otro enlace.