Hace unos días solicite a mis compañeros de trabajo me reenviaran este correo que tuve a bien redactar en su momento con la intención de compartir y asi mismo divertirlos.
Sucedió en una noche de trabajo bajo la presión de entregar un proyecto a la empresa, que la discusión entre dos compañeros de trabajo le llevo a uno decirle al otro, que el podría arreglar el programa en cuestión siempre y cuando le dieran una hora, a lo cual el otro en un tono bastante sarcastico le replicó: "pues vas superman..."
He aquí su historia:
Resulta que Superman estaba tratando de obtener la superinformation del superserver del superdía anterior, via el siguiente superscript ...
Sucedió en una noche de trabajo bajo la presión de entregar un proyecto a la empresa, que la discusión entre dos compañeros de trabajo le llevo a uno decirle al otro, que el podría arreglar el programa en cuestión siempre y cuando le dieran una hora, a lo cual el otro en un tono bastante sarcastico le replicó: "pues vas superman..."
He aquí su historia:
Resulta que Superman estaba tratando de obtener la superinformation del superserver del superdía anterior, via el siguiente superscript ...
#!/bin/sh
FILE='/home/proyect/app/mania'`TZ=aaa24 date +%m%d%Y`'.cvs'
echo $FILE
MIN=0
sftp mania@12.10.20.88 < file2="'mania'`TZ=">
...
peeeero cuando se hicieron las superpruebas para la superliberación, pues nel ! estaba jalando la superinformación del superdía actual (o sea, hoy... tudeiii dijera Fox)
Cosa que desato la ira ( si IRA, ira como se estan dando .. ira como se dijeron .. ) de Superman en contra de Lex Luthor y sus batinenas... ( no las del excesss... )
Ni el superserver estaba mal configurado, ni el shell esta mal ... vaya ni Oraclito pues !
Cosa de poner atención a como junciona el tieeeempo en el planeta tierra, ahi les
dejo caer la explicación.
Cosa que desato la ira ( si IRA, ira como se estan dando .. ira como se dijeron .. ) de Superman en contra de Lex Luthor y sus batinenas... ( no las del excesss... )
Ni el superserver estaba mal configurado, ni el shell esta mal ... vaya ni Oraclito pues !
Cosa de poner atención a como junciona el tieeeempo en el planeta tierra, ahi les
dejo caer la explicación.
How to date command works in unix for dummies in 20 mins !
(no more less && so so anymore ..., mins is minuts, not means... NfD*, NfD* is Note for Dummies)
el siguiente comandito, ese que aparece en el superscript:
el siguiente comandito, ese que aparece en el superscript:
$ TZ=aaa24 datees el equivalente a:
$ TZ=UTC+24 dateYa que la idea es que nos regrese la fecha del día de ayer, o sea el anterior al día de hoy :-P (digo, explico por aquello del dummies, oka ? )
Veamos:
- Partimos del hecho que UTC(CDT) es la base para calcular la hora en distintos paises vaya, es lo _innnnn_... el GTM wuakala, ya no esta a la moda
- Nuestra Zona Horaria en UTC es UTC+5, es decir tenemos 5 horas de retraso (si, el + maaas es pa retrasar.. ) respecto a la Hora Universal Coordinada (UTC es el acronimo para Universal Time Coordinated NfD*).
- Ejemplos, en este momento en México son las 5:40AM, veamos la hora en otros paises (No me creen ?):
UTC = 10:40
Mexico (UTC+5) = 05:40
China (UTC-8) = 18:40
Italia (UTC-2) = 12:40
Brasil (UTC+3) = 07:40
- Solo podemos movernos entre -24 y +24, numeros mayores(o menores) no aplican. (aquí no hay NfD*. si, punto)
Para comprender por que Superman la cagó, veamos la siguiente tabla:
+---------------------------------+
| LOCAL | UTC | UTC-24 | UTC+24 |
| 0:00 | 5:00 | 26-Ago | 25-Ago |
| 1:00 | 6:00 | 26-Ago | 25-Ago |
| 2:00 | 7:00 | 26-Ago | 25-Ago |
| 3:00 | 8:00 | 26-Ago | 25-Ago |
| 4:00 | 9:00 | 26-Ago | 25-Ago |
| 5:00 | 10:00 | 26-Ago | 25-Ago |
| 6:00 | 11:00 | 26-Ago | 25-Ago |
| 7:00 | 12:00 | 26-Ago | 25-Ago |
| 8:00 | 13:00 | 26-Ago | 25-Ago |
| 9:00 | 14:00 | 26-Ago | 25-Ago |
| 10:00 | 15:00 | 26-Ago | 25-Ago |
| 11:00 | 16:00 | 26-Ago | 25-Ago |
| 12:00 | 17:00 | 26-Ago | 25-Ago |
| 13:00 | 18:00 | 26-Ago | 25-Ago |
| 14:00 | 19:00 | 26-Ago | 25-Ago |
| 15:00 | 20:00 | 26-Ago | 25-Ago |
| 16:00 | 21:00 | 26-Ago | 25-Ago |
| 17:00 | 22:00 | 26-Ago |*25-Ago | * hasta aquí, Superman felíz
| 18:00 | 23:00 | 26-Ago | 25-Ago |
| 19:00 | 0:00 | 27-Ago |*26-Ago | * aqui la puerka tuerce el rabo !
| 20:00 | 1:00 | 27-Ago | 26-Ago |
| 21:00 | 2:00 | 27-Ago | 26-Ago |
| 22:00 | 3:00 | 27-Ago | 26-Ago |
| 23:00 | 4:00 | 27-Ago |*26-Ago | * aqui Superman vs Batiunix
+---------------------------------+
- En correspondencia a nuestra zona horaria (+5), para poder obtener una fecha pasada o futura necesitaremos movernos entre las 0 y las 18 hrs, cuando se den las 19 horas, entonces nos dara el mismo día.
Bueno, 19hrs + 5hrs (de nuestro TZ "taimmm zonnnn") = 24hrs ó 0hrs es decir, cuando nos da 0hrs ni se suma ni se resta, sino todo lo contrario.. ehhh ! ORALE CHAMACOS !
Como Superman quería la fecha del día anterior, siendo hoy 26-Ago, necesitaba un 25-Ago para el superscript; cuando lo mando a ejecutar a la 5PM sí le regreso el día anterior (25); pero cuando lo ejecutamos a las 23PM al plancharlo en produción nos regreso el mismo día (26) y laaaastima, dieron reversa ...
Por esa razón, Superman la cagó.
Luego entonces, hay que zurrar a la gente pero también hay que pasarle el papel
pa'que se limpien...
Cómo calcular fechas en:
PERL
"un dia anterior = ayer"
$ perl -e "print scalar(localtime(time()-86400))"
"un dia después = mañana"
$ perl -e "print scalar(localtime(time()+86400))"
C (muy 3133t)
#include
#include
int main()
{
time_t localtime;
time(&localtime);
localtime = localtime - 86400;
printf("%s",ctime(&localtime));
return 0;
}
$ cc yesterday.c -o yesterday
$ ./yesterday
Después, todo fue miel sobre ojuelas :-)
code it !
1 comentario:
ja ja ja ja entre la diverida de la historia y la redacción ya aprendí algo nuevo.
Gracias :)
Publicar un comentario