Pues eso, claro y sencillo, la hiperinflación inducida no se detiene (ver nuestro artículo sobre la Venezuela rentista, que es perfectamente válido aún hoy en día).
Pues eso, claro y sencillo, la hiperinflación inducida no se detiene (ver nuestro artículo sobre la Venezuela rentista, que es perfectamente válido aún hoy en día).
Avezado lector, avezado lectora: vosotros ya sabéis tanto como nosotros la respuesta a esta pregunta pero ¿qué motiva esa respuesta? Hoy disertaremos al respecto, ¡estáis invitados!
«El lenguaje de programación C» (o, simplemente, Lenguaje C) es el título del libro publicado en 1978 por Brian W. Kernighan y Dennis M. Ritchie donde introdujeron la idea de presentar un programa de ejemplo llamado «¡Hola mundo!» y que es modelo común en casi todo tutorial para programar, sin importar el lenguaje usado.
Tal vez de allí sale la idea de omnipresencia del Lenguaje C: ese libro presentó muchos paradigmas, o al menos varios estilos de escritura que aún hoy seguimos usando. Pero también el Lenguaje C tiene un oscuro pasado que os sorprenderá…
Recuerdo con cierta nostalgia los discos flexibles de cinco y un cuarto de pulgada y luego los más robustos de tres y medio. Ya ni debería escribir la palabra rígido pero me habéis pillado: es para que los más jóvenes pregunten «¿pero es que cuántos tipos de discos hay?» o incluso, con el advenimiento de las Unidades de Estado Sólido (SSD), «¿Qué es un disco?». Lo cierto es que la capacidad de almacenamiento es indetenible, llegando incluso al orden de los petabytes, por lo que necesitamos la monitorización para llevar cuenta de tan monstruosas cifras, veamos.
¿A que os he sorprendido, a dónde ha ido la palabra kilobyte? Históricamente en informática hemos cometido serios errores como acortar los años a dos cifras, o considerar que un kilobyte son mil bytes cuando en realidad son 1024. Vamos ¿qué diferencia hacen 24 contra mil? «Epa vejete que son casi lo mismo» me dicen pero ahora que los dispositivos de almacenamiento son gigantescos se comienzan a ver grandes diferencias.
Os explico (esto es necesario para comprender el software que veremos): un terabyte, o mejor dicho, un tebibyte son exactamente:
1 099 511 627 776 bytes
Como sabemos que el prefijo tera indica un billón, un uno seguido por doce ceros pero en este caso es 2⁴⁰ bytes: rápidamente notamos ¡que tenemos cerca de cien millardos de bytes adicionales en vez de lo que habíamos pensado!
Pongamos en perspectiva: los discos flexibles que usamos de 3½ tenían capacidad de guardar 1 474 560 letras (un byte por letra, ahora con Unicode UTF-8 esto varía según el idioma): ¡un tebibyte son poco más de 745 654 discos flexibles!
Guardar y leer los ficheros tiene analogía con un libro: el índice indica dónde comienza y termina cada capítulo, sección o incluso un párrafo en particular, imágenes, prólogo, tablas, etc. Mientras más grande el libro (disco) más grande el índice (Tabla de Asignación de Archivos o FAT) y aquí viene el caso que nos ocupa ¿cómo lidiar con millones de archivos?
Supongamos que tenemos 500 millones de archivos y necesitamos conocer dónde está ubicado uno en particular, por ejemplo, uno donde se guardan determinados registros de eventos. El software libre permite modificar y que guardemos donde mejor convenga, así que aunque las aplicaciones generalmente tienen ubicaciones predeterminadas, no siempre se siguen la reglas. ¿Qué tal si decenas de fotógrafos guardan cada quien en un sistema de almacenamiento masivo sus trabajos? Los nombres de ficheros serán muy parecidos, incluso las aplicaciones con búsqueda de archivos repetidos por nombre darán falsos positivos.
Otro problema es cómo se guardan los ficheros: en racimos de 4096 bytes (8 sectores de 512 bytes) así que un archivo de 4296 bytes en realidad ocupa 8192 en disco… ¿cuánto «desperdiciamos»?

Herramient duc vista de árbol de un catálogoPara esto, y más, una herramienta comprobada para trabajar con tal cantidad de datos es duc. Es capaz de reportarnos en formato XML (uno de los tantos formatos utilizados por Pandora FMS para importar y/o exportar datos) cuánto ocupa cada fichero de «forma aparente» y de «forma real». La forma real son los sectores usados: a mayor cantidad de ficheros pequeños, mayor espacio «desperdiciado». Pero ¿cómo trabaja duc?
duc utiliza una base de datos muy primigenia llamada Tokyo Cabinet (actualmente hay una versión mejorada llamada Kyoto Cabinet) escrita en lenguaje C, con variables de 64 bits y con alta resistencia a la corrupción de datos. Y como decían los antiguos comerciales de televisión «Esperen, hay más»: ahorra espacio al comprimir sobre la marcha sin desmedro de velocidad, soporta multiprocesos y tiene opciones tales como escoger o excluir los tipos de sistema de archivo (.ext4, btrfs, etcétera).
De esta manera duc puede comenzar a indexar nuestros discos rápidamente y luego mantener actualizados y a la mano cientos de millones de registros en cuantos catálogos (bases de datos Tokyo Cabinet) necesitemos. Deberemos con cron mantener actualizados dicho(s) catalogo(s) para poder retribuir datos para su posterior monitorización.
Aparte de exportar en formato XML también dispone de varias interfaces gráficas e incluso puede servir CGI en un servidor web Apache, permitiendo CSS personalizado por nosotros, si queremos.


Un comando que viene en la mayoría de las distribuciones Linux, y que podremos incluso integrarlo a duc (es más fácil decirlo que programarlo) es stat, el cual nos retribuye rápidamente el propietario, las fechas de creación, acceso, modificación y cambio de estado. Para ello emplearemos el parámetro –format= acompañado de %U, %X, %Y y %Z (formato Epoch y listo para guardar en la base de datos para su monitorización). Deberemos esperar que los sistemas de archivos ofrezcan soporte para la fecha de creación, todo depende de la distro utilizada.
Son muchas las razones para hacer seguimiento a ciertos directorios o ficheros, muy alejados de la privacidad de los usuarios, porque cada aplicación crea sus usuarios virtuales y sus correspondientes ficheros. Si necesitamos conocer en tiempo real los cambios, adicionaremos a nuestro código la librería inode notify (inotify) y el propio kernel del sistema operativo nos ayudará en ese aspecto.
Acá sí que deberemos instalar en nuestros sistemas Linux ya sea con yum, apt, snap, etc. para poder tener este programa auxiliar en nuestro arsenal. Se encarga de buscar los ficheros «repetidos» con la particular característica de que crea un trozo de información virtualmente única («hash») para cada fichero. Esto crea una huella prácticamente única basada en el contenido del archivo: con un solo byte que cambie obtendremos un hash diferente, por lo que los hash son útiles para crear catálogos de respaldos «en la nube».
Así podremos saber a ciencia cierta si dos ficheros, a pesar de tener diferentes nombres, fechas, etc. tienen el mismo contenido (la posibilidad de que tengan diferente contenido con el mismo hash es una entre muchos millones -a eso se le denomina «colisión«-). Con duff podremos escoger niveles elevados de creación de hash, hasta SHA512 pero por defecto trabaja con SHA1.
Fíjense que aunque duff lee los ficheros en su totalidad, su contenido en sí mismo le tiene sin cuidado: para ello hay aplicaciones que buscan metadatos dentro de los documentos, ya sea basado en la extensión del archivo (ej. .odt, documento de texto; .xlsx, hoja de cálculo) o simplemente tanteando estructuras de datos conocidas contra el comienzo de cada fichero si no tiene extensión o si la extensión no coincide con la estructura de datos.
Tenemos tiempo escuchando acerca de los sistemas operativos que utilizarán bases de datos como sistemas de archivos (OS-BD), es decir, el enfoque de duc pero combinado con stat y duff, además de los metadatos y datos clave dentro de los documentos, que éstos dejarían de llamarse ficheros sino simplemente documentos. Por supuesto que los sistemas de archivos seguirán existiendo: si un usuario o usuaria saca de su OS-BD en una unidad de almacenamiento externo lo más recomendable es sacarlo como fichero, porque desconocemos si el otro OS maneja tal tipo de base de datos (aunque con el software libre esto es subsanable rápidamente si se cuenta con conexión a Internet). Pandora FMS está más que preparada para monitorizar base de datos, y de hecho su funcionamiento está basada en su uso intensivo.
Pandora FMS es un software de monitorización flexible, capaz de monitorizar dispositivos, infraestructuras, aplicaciones, servicios y procesos de negocio.
¿Quieres conocer mucho mejor todo lo que Pandora FMS puede ofrecerte? Entra aquí: https://pandorafms.com/es/
O también puedes enviar cualquier consulta que tengas acerca de Pandora FMS. Hazlo de una manera muy sencilla, gracias al formulario de contacto que se encuentra en la siguiente dirección: https://pandorafms.com/es/empresa/contacto/
¡El fantástico equipo que se encuentra detrás de Pandora FMS estará encantado de atenderte!
| Título | Enlace |
|---|---|
| Duc, una forma sencilla de inspeccionar y visualizar el uso del disco | https://ubunlog.com/duc-inspeccionar-uso-disco/ |
| Fundamental Specifications of Tokyo Cabinet Version 1 | https://fallabs.com/tokyocabinet/spex-en.html |
| Dolphin y otras apps de KDE mostrarán la fecha de creación de archivos | http://lamiradadelreplicante.com/2019/04/15/dolphin-y-otras-apps-de-kde-mostraran-la-fecha-de-creacion-de-archivos/ |
| DUFF un comando para detectar archivos duplicados en nuestro sistema | https://soyadmin.com/duff-un-comando-para-detectar-archivos-duplicados-en-nuestro-sistema/ |
| Título | Enlace |
La Interfaz de Línea de Comando (abreviado en inglés como CLI) en Windows® existe y resiste el paso del tiempo. Desde aquellos días lejanos del MS-DOS® hasta el actual PowerShell® que os presentamos hoy. Veamos el PowerShell Básico.
En alguna oportunidad vamos a instalar alguna aplicación en Debian y derivados (acá Ubuntu 18) y recibimos el siguiente mensaje:
E: No se pudieron corregir los problemas, usted ha retenido paquetes rotos.
Hoy tocaremos este tema.
Nuestras bases de datos (abreviado «BD«) son las que mantienen con vida a Internet, ¡eso quién puede dudarlo! Incluso se habla desde hace algunos años del desarrollo de sistemas operativos con los cuales los usuario no tiene contacto directo con los ficheros sino que sus archivos personales son guardados en una BD local. De hecho ya vemos como existen servicios en línea que realizan esto por nosotros, tal como Google Drive o Nextcloud, esta última escrita con licencia libre Affero.
Ya os hemos hablado de las soluciones para BD tanto en software privativo como libres, de tipo noSQL o SQL y estas últimas las trataremos en este artículo.
Simon Kelley en su sitio web, y por cuenta propia, fue quien creó -y mantiene- a dnsmasq: así, sin mayúscula inicial (excepto si está al comienzo de una línea o después de un punto). Dnsmasq es exactamente lo que su creador quiso que fuera: un programa sencillo, pero poderoso, que sirve como DNS sin mayores pretensiones, especialmente creado para redes de área local y con funciones adicionales, veamos.
Publicado el domingo 28 de abril de 2019.
Actualizado el domingo 20 de diciembre de 2020.
Actualizado el lunes 28 de octubre de 2019.
Publicado el 24 de abril de 2016.
¿Problemas para escribir HTML? ¿Olvidamos su sintaxis? ¿Colocan nuevas etiquetas para hacer las mismas cosas?
Aunque seamos muy buenos codificando y tengamos muy buena memoria, lo único constante es el cambio y las definiciones de HTML pueden cambiar -de alguna forma o manera- entre versiones. Un ejemplo es la etiqueta <strong></strong> que en HTML 4.01 significa texto enfatizado y en 5.0 significa texto importante (nota: solo los nerds🤓 como nosotros le damos importancia a este tipo de cosas). En todo caso, para concretar la idea, es molesto por ser repetitivo, estar colocando los corchetes angulares a cada rato «<» y «>», son más golpes de tecla innecesarios. Por ello, para ahorrarnos trabajo, tenemos a Markdown.
Actualizado el lunes 26 de julio de 2021.
Del idioma griego Κρόνος (romanizado o «latinizado» Krónos, castellanizado Cronos) era el dios de las cosechas en ese pueblo antiguo porque, supuestamente, era quien dictaba el tiempo de comenzar la siega. Por ello en GNU/Linux «heredamos» ese nombre para el demonio que se encarga de lanzar las tareas en el horario que los administradores de sistemas estamos compartiendo con nuestras familias (sábados, domingos, nochebuena, etc.), estamos marchando por nuestros derechos laborales (1° de mayo en Venezuela) o leyendo y asistiendo a reuniones en fechas patrias (19 de abril, 5 de julio, 24 de julio, etc.). Como es un programa tan útil y lo usamos demasiado, pues aquí va su homenaje -y si les resulta útil al colectivo programador, mejor-.
PRESIDENCIA DE LA REPÚBLICA
Decreto N° 3.829, mediante el cual se incrementa el salario mínimo nacional mensual obligatorio en todo el territorio de la República Bolivariana de Venezuela, para las trabajadoras y los trabajadores que presten servicios en los sectores públicos y privados, sin perjuicio de lo dispuesto en el artículo 2° de este Decreto, a partir del 16 de abril de 2019, estableciéndose la cantidad de cuarenta mil Bolívares con cero céntimos (Bs. 40.000,00) mensuales.