Últimos Cambios |
||
Blog personal: El hilo del laberinto |
Última Actualización: 31 de Octubre de 2003 - Viernes
El objetivo de este log es disponer de un sistema "oficial", simple y práctico para que los "founders" que lo deseen puedan realizar log de sus canales, y recibirlos cómodamente por correo electrónico.
Las normas básicas son las siguientes:
Preguntas y Respuestas Frecuentes
Cada línea contiene tres componentes: Un "TimeStamp", el nick del remitente y el texto en sí del mensaje, en bruto y sin procesar.
El "TimeStamp" es un número que indica el número de segundos transcurridos desde el 1 de Enero de 1970 GMT.
En realidad el formato "TimeStamp" es el estándar. El formato del mIRC... es del mIRC :-).
Utilizar "TimeStamp" tiene muchas ventajas:
Enviándote un "TimeStamp" estándar, puedes convertirlo a tu formato "[hh:mm]", respetando tu zona horaria. Es más, el sistema de "TimeStamp" no tiene ningún problema ni sufre de discontinuidades cuando se producen los cambios de horario Verano/Invierno (el famoso "Daylight Time Saving").
En mIRC, por ejemplo, puedes obtener la fecha de una línea usando el comando "asctime()". Por ejemplo, escribe "$asctime(1058539474)" en una ventana del mIRC, pulsa luego el tabulador y obtendrás la fecha equivalente en tu zona horaria. En el caso de la españa peninsular saldría "Fri Jul 18 16:44:34 2003".
Como ya se ha comentado, convertir un "TimeStamp" a cualquier otro formato es trivial. Si no sabes o no puedes hacerlo, pídele a algún programador novato que te eche una mano.
En lenguaje Python, por ejemplo, se puede hacer algo así para pasar a "[hh:mm]":
import sys,time for i in sys.stdin : j=i.find(" ") ts=i[:j] lo_demas=i[j+1:] print time.strftime("[%H:%M]",time.localtime(int(ts))),lo_demas
Hacer log en un canal es una decisión muy importante. Para evitar suspicacias o comentarios del estilo de "es que yo no sabía", "es que me engañaron" o "pensé que era otra cosa", es muy importante que el bot haga lo posible por informar al usuario. La aceptación de los logs DEBE ser una decisión consciente y meditada de cada usuario del canal, no algo que el fundador del canal pueda activar sin dar más explicaciones.
El bot envía el aviso al canal cada dos horas. No debería ser un problema.
No basta con los avisos por privado porque:
Los "notices" sencillamente no se ven.
Ver punto anterior sobre la importancia de que el mensaje se vea.
Desactiva la opción de hacer whois de forma automática en los privados, en tu cliente de IRC. Es un problema de configuración tuyo, no del bot.
De todas formas esto muy probablemente deje de ser un problema en el futuro. Estamos en ello.
En realidad ese comentario tiene como misión el protegerme a mí y a IRC-Hispano.
En este momento (Julio 2003) el bot envía los logs al founder a diario y, seguidamente y de forma inmediata, los borra del servidor. En un momento dado, en mi sistema solo existen los logs del día, que serán enviados por la noche y eliminados. De esta forma me protejo de que "alguien" (tanto IRC-Hispano como un juez) me exija los logs de un determinado canal de hace tres meses. No puedo entregar lo que no tengo.
Pero los logs se envían por correo electrónico, atravesando infinidad de equipos informáticos. Quedan guardados en el buzón del usuario, a disposición de su administrador de sistemas o de cualquier becario contratado y con acceso a esa máquina. Puedo tener un compromiso de seguridad en mi sistema y que se me cuele un "hacker" y acceda a los logs. Pueden ocurrir infinidad de cosas que vulneren la privacidad de los logs.
Es por ello por lo que no puedo garantizar su privacidad, aunque lo quisiera (que lo quiero). Existen demasiados riesgos y la mayoría no están bajo mi control. Por ello prefiero advertir al usuario que si bien hago todo lo posible y más por proteger su intimidad, me es imposible garantizársela al 100%. Ni yo ni nadie puede hacerlo.
En ese sentido me parece cuando menos recomendable advertir de este hecho, para que el usuario sea consciente del riesgo y tome una decisión meditada por sí mismo.
En resumen, los canales que quieran garantizar su privacidad no deberían usar el bot o, al menos, deberían utilizar sistemas criptográficos como BulletProof. En el futuro publicaré un script que permita "descifrar" los logs de canales protegidos con BulletProof, si conoces su clave (el bot NO la conoce y guardaría los logs cifrados).
Los números de versión que se indican se refieren a "commit" en el CVS interno. El número de versión cargado en Olimpo en un momento dado es visible usando el comando "dllist".
Si hay un cambio de "founder", habrá una ventana durante la que el nuevo administrador del canal no podrá eliminar el log.
Tenemos cuidado con no hacer actualizaciones innecesarias de la BDD durante el refresco diario de fundadores y estado de canales.
La comunicación entre los dos "thread", el principal y el de grabación, se realiza a través de una cola.
Para obtener la dirección de correo electrónico de los fundadores, se utiliza el API "IPC". En concreto se accede al objeto "nick:get_email", que exporta "nick2".
La secuencia de escape se identifica con un símbolo de dos puntos (":") seguido del código LATIN-1 del carácter problemático, en hexadecimal.
En realidad en este momento se guarda la base de datos dos veces: la primera vez cuando se revisan las expiraciones y se asignan nuevos "tokens" y cambios de modo a los canales, y la segunda vez cuando se eliminan los canales expirados. Esto es algo que debo mejorar en el futuro.
Más información sobre los OpenBadges
Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS