Poesía Programable

consulta.c

Inmerso en el desarrollo del Proyecto La Consulta: Caso 30 en el 2014-2015, me solicitaron un envío diario de correo electrónico con 7 dígitos del 1 al 6 sin pensarlos mucho.

Pude haber realizado ese encargo con un par de programas que programé para la ocasión y que tan sólo eventualmente utilicé para generar los dígitos algún día que quise pensar aún menos de lo habitual. Es el ejemplo perfecto de código o programación absurda. El primero es un fichero en C denominado consulta.c y el segundo un script bash llamado consulta.sh.


/*****************************************
consulta.c

Programa para La Consulta

Me han propuesto lo siguiente:

Necesitaríamos cada día una serie de SIETE números del uno al seis
-se pueden repetir cifras –Ej: 2451223–.
Sin pensártelo demasiado, los primeros que te vengan a la cabeza.

Pero esto me parece tremendamente difícil de lograr
pues escribir siete números sin pensarlo (demasiado) me resulta imposible,
así que he escrito el siguiente programa para obtener 7 dígitos
del 1 al 6 sin pensarlo en absoluto... aunque no es lo mismo, lo sé.
*****************************************/

#include <stdio.h>

#define NUM_DIGITOS 7
#define CIFRA_MAX 6
#define CIFRA_MIN 1

main()
{
	int  cifra;
	char numero[NUM_DIGITOS] = "1234567";

  srand (time(NULL));

  for (cifra = 0; cifra < NUM_DIGITOS; cifra++)
  {
    numero[cifra] = rand() % (CIFRA_MAX-CIFRA_MIN+1) + (CIFRA_MIN);
    // Convierto cada dígito a caracter para tratarlo como una cadena
    numero[cifra] = '0' + numero[cifra];
	};

  printf("%s\n", numero);
}


Poesía Programable

consulta.sh


#!/bin/bash

## 1.- DATOS DEL REMITENTE

server_smtp="mail.giusseppe.net:25"
usuario_mail="jmdomin@giusseppe.net"
usuario_nombre="Giusseppe Domínguez"
contras_mail="$omEPassW0rD"

## 2.- FICHERO con el CUERPO DEL MENSAJE
username="$(whoami)"
f_mensaje="/home/$username/bin/consultadata/consulta-$(date +%Y%m%d)"

# Si existe el fichero es que ya se ejecutó este programa hoy
if [ -s $f_mensaje ]
then
  echo "El fichero ya existe. En algún momento se creó, así que ya no es necesario"
  exit
fi

## 3.- CREAR MENSAJE (Asunto y CUERPO)

asunto="$(basename $0): La Consulta"

mensaje="El número para La Consulta de hoy (M-$(date +%Y%m%d)) es:"
echo "$mensaje" > $f_mensaje
consulta >> $f_mensaje
echo "Un abrazo grande y hasta otro día" >> $f_mensaje
echo "$usuario_nombre" >> $f_mensaje

## 4.- DATOS DEL DESTINATARIO
destinatario="jmdomin@giusseppe.net"

## 5.- ENVÍO DEL EMAIL (Usando mailx)
env MAILRC=/dev/null from="$usuario_mail ($usuario_nombre)" \
smtp-use-starttls= ssl-verify=ignore smtp=$server_smtp \
nss-config-dir=/home/$username/.pki/certs \
smtp-auth=login smtp-auth-user=$usuario_mail \
smtp-auth-password=$contras_mail \
mailx -n -s "$asunto" $destinatario < $f_mensaje