sábado, 24 de octubre de 2009

Sincronización en Linux


Mucho se ha hablado sobre la compatibilidad y las posibilidades de sincronización entre celulares y demás aparatejos con programas sobre una plataforma GNU/Linux.  A mí, la verdad, esas cuestiones me dejan totalmente fría.  Uso celulares corrientes con mp3, radio y, quizás, una cámara como lujo.  No tengo Bluetooth ni me interesa y mis contactos se pueden sincronizar a mano si es que tengo ganas/necesidad de ello.  En realidad, lo común en mí es que no sean los mismos contactos los que tengo en la agenda de papel (sí, uso esa antigualla ¿y?), de la agenda en la pc y lo que haya en el celular.  Lo cual encuentro lógico porque en la de papel es más probable que precise direcciones y teléfonos comunes, en el celular van a predominar otros celulares (¿han visto lo que es llamar a un teléfono fijo desde un celular?)  y en la computadora va de todo un poco con cierta predominancia a poner los mails.
En fin, que este es un tema que me deja impávida y por tanto no puedo aportar conocimiento de causa o al menos alguna mínima experiencia.
Sin embargo, si a alguno de ustedes les desvela la sincronización y usa GNU/Linux pueden probar alguno de estos programas:
  • Funambol
  • SyncEvolution (si usan Evolution)  o uno similar para Kontact que no recuerdo su nombre pero sé que existe :-P
  • Genesis
También se pueden combinar los tres.  Dicen que funciona.

Cuenten sus experiencias.  Si las tienen, claro.

Saludos trasnochados

jueves, 22 de octubre de 2009

Para enviar mensajes de compu a compu


AVISO:  este truco sólo funciona con Debian, con otros sistemas operativos, aún dentro de Linux no sé cómo funciona.


Hecho el aviso, paso a contar cuál es el meollo de la cuestión y sus posibles soluciones.
En una serie de computadoras conectadas en red, con una buena distancia entre ellas (lo cual imposibilita comunicarse entre las personas por medio de la voz o cosa por el estilo), hay necesidad de mandarse mensajes.
Bueno, teóricamente, el programa Xmessages hace esto pero yo nunca logré hacerlo andar.  No es torpeza mía (o no soy la única torpe), porque varios en la lista de Debian, dijeron lo mismo.  Entonces hay que encontrar otra cosa.
Veamos:
Una solución es instalando libnotify-bin y OpenSSh-server.  Luego de éso, se escribe lo siguiente en una terminal: 
               $ ssh maquina "notify-send" -t  0 'título' 'mensaje'
Esto muestra un pop-up con el mensaje y una crucecita para cerrarlo (se supone).  Puede ser necesario importar la variable $DISPLAY.  Básicamente, con éso andaría.
Otra solución (que a mí em gusta más)  es usar KNotes.  Tiene una opción de "Aceptar notas entrantes".  Si todos en sus escritorios tienen corriendo KNotes, cuando uno envía una notita a una de las máquinas, ésta la recibe, la muestra como si fuera una sticky note y tiene la opción de poder ser borrado.  Además, no depende del entorno de escritorio porque corre igual de bien en KDE y en gnome.  ¿No es lindo?  Y ni un sólo comando. PERFECTO.

Si les gustó o les resultó útil, coméntenlo



viernes, 16 de octubre de 2009

Si amenazás por correo... no quedarás impune


Las amenazas y los insultos anónimos son viejos como el mundo.  Existen desde que existen los cobardes.  Pero con la tecnología a veces la cosa se facilita para estas personas.  Sin embargo, enviar un correo electrónico no es algo tan anónimo como podemos creer.  Aquí les paso formas de saber desde dónde enviaron un correo insultante o con amenazas.

            Forma 1 -   Revisando los headers del mensaje.  Allí es muy probable que diga algo así como:  "Enviado desde IP xx", que es la ip de la computadora desde donde se envió.
            Forma 2 -   Si uno tiene sospechas (o conocimiento) de que se envió desde un lugar en particular  (por ejemplo, una oficina)  se pueden revisar los logs y el historial del navegador.  Comparando la hora que figura en el mensaje con las horas que figuren en los logs y los sitios por donde ha navegado, se puede descartar o confirmar quién fue con un buen margen de seguridad.  Y si piensan  "No puede ser tan estúpido para...", les digo que sí, sí puede ser tan estúpido como para no borrar su rastro eléctrónico en el navegador.  A muchos delicuentes los han metido presos por cosas menos estúpidas que ésa.
            Forma 3 -  Si la cosa es grave (o como decía un vecino mío, "pasa a mayores"),  se pueden hacer auditorías en el lugar donde uno sospecha que se hizo el correo.  ¿Que es un lugar privado y no te podés meter?  NO importa.  Policía técnica sí puede y probablemente lo haga.
            Forma 4 -  Si el correo fue hecho desde una página web  (por ejemplo, Hotmail) puede hacerse algo igual.  Busca en las cabeceras del mensaje a ver si dice algo así como  "Originado por xx.xx"  donde xx.xx es la ip desde donde escribieron.

Y si todo ésto no funciona y el individuo es una rata inmunda y astuta, ques e cuida muy bien de enviar sus porquerías desde cyber o casas conectadas con ip dinámicas (ADSL hogareño)  no te amargues.  Hay dos cosas por hacer:  Una trata de averiguar (¡usa la astucia tú tambien hombre!)  si sabe realmente datos cruciales tuyos como tu teléfono de casa o tu dirección.  Si las sabe sé prudente.  Si no sabe nada  ¡a la carpeta de Spam!  El mundo está lleno acomplejados que se sienten felices y poderosos asustando a los demás.  No le des el gusto.  Simplemente, ignoralo y ya está.  Pronto se aburrirá y buscará a otra persona.
Lo otro para hacer es una denuncia.  Por más que sea a través de correo electrónico o de msn o lo que sea, sigue siendo el viejo y querido  "Amenaza con violencia"  que está descrito en cualquier código penal del mundo.  Si el "anónimo" no es tanto, sabe cosas tuyas o sabés o sospechás quién puede ser, hacé la denuncia y listo.  La tarea forense de rastrear al imbécil lo van a hacer los técnicos.

Pero no se preocupen mucho.  Los cobardes generalmente no se destacan por su inteligencia.  Lo más probable es que se averigüe quién en la primera o segunda opción.



Buenas noches a todos, espero que duerman un poco mejor hoy sabiendo que no es tan fácil tirar la piedra y esconder la mano.

Regards
Sylvia




sábado, 10 de octubre de 2009

Todo (o casi) tiene solución


          Muchas causas pueden haber para el gran desastre de arruinar un disco o una memoria, trancándonos el acceso a nuestros archivos.  Muchas veces, si el daño no ha sido físico o total, puede rescatarse una parte o la totalidad de la información.
Aquí van algunas herramientas para ello:
  • Una opción es hacer una imagen de la memoria en cuestión  (stick, disco)  y partir de allí trabajar con Foremost.
  • Otra es TestDisk  (de éste, doy fé que es bueno)  que además de servir para recuperación de archivos sirve para saber si un disco está un buen estado y un montón de utilidades más. 
  • Si el problema es con la memoria de una cámara digital, se puede usar un programa que se llama PhotoRec. 
  • Otro, menos conocido, pero que puede servir también es uno que se llama DDRescue.
  • Otra es correr un live-cd y desde ahí ver que se puede hacer.  Si bien, cualquier Knoppix puede servir, existe una distro específica para estos casos que se llama  Parted Magic.  Este live-cd tiene herramientas para las siguientes tareas: 

            1. Formateo de discos internos y externos.
            2. Mover, crear, copiar, borrar o achicar particiones. 
            3. Testear discos y memorias. 
            4. Comparar el rendimiento de tu equipo.
            5. Borrar con seguridad los discos, eliminando totalmente sus datos. 
            6. Proporcionar acceso a sistemas que no arrancan, permitiendo recuperar los datos de sectores o discos con problemas.




El link para Foremost es éste:
http://softwarelibre.usach.cl/?p=322

El link para PhotoRec es éste:
http://www.cgsecurity.org/wiki/PhotoRec

Y para TestDisk es éste:
http://www.cgsecurity.org/wiki/TestDisk

De ddrescue no tengo ningún link por el momento.

        Es importante señalar que estas soluciones sirven para cualquier sistema de archivos y dispositivos, por tanto son válidas tanto para Win, Linux o cualquier otro que ande en la vuelta.


Buenas noches y espero que les resulte de utilidad.






viernes, 9 de octubre de 2009

Detectando redes wifi en Debian


Hoy aquí voy a poner algunos consejos y herramientas para detectar redes wi-fi sobre Debian.

Para empezar hay una herramienta que se llama Aircrack-ng que a pesar de su nombre no es un juego si no un programa para redes.  Dentro del paquete hay una utilidad, aerodump-ng, que sirve justamente para detectar las redes que hayan en las cercanías y su nivel de seguridad.

Teniendo el paquete Wireless-tools pueden hacerse algunas cosas. Si uno no tiene grandes pretensiones, puede servir.  Tipeando iwlist scanning (o scan, no me acuerdo) muestra las redes wifi que detecte nuestra tarjeta.


Saludos inalámbricos
Sylvia





El kernel de Debian... ¿para qué sirve?


Hace poco se armó un revuelo bárbaro anunciando que se introducía el kernel de FreeBSD entre los disponibles para instalar Debian.  Ahora, para la mayoría la noticia le deja totalmente frío. Hay un kernel más ¿y qué? ¿en qué me beneficia? ¿para qué sirve? ¿qué utilidad tiene éso?
Para aclarar un poco pongo aquí enlaces y referencias que hay disponibles al respecto.  Los enlaces se publicaron en la lista de usuarios de Debian en español, las referencias las encontré solita.

Enlaces:
Ante todo la omnipresente Wikipedia
http://es.wikipedia.org/wiki/FreeBSD
http://es.wikipedia.org/wiki/Debian_GNU/kFreeBSD
http://upload.wikimedia.org/wikipedia/commons/thumb/7/7d/Computer_abstraction_layers-es-v2.svg/422px-Computer_abstraction_layers-es-v2.svg.png
Y luego el propio Debian
http://wiki.debian.org/Debian_GNU/kFreeBSD_why


Referencias:
Explicaciones sobre qué es un kernel y qué características tiene FreeBSD se pueden encontrar en varios libros sobre Sistemas Operativos pero para el que sepa poco y nada el mejor (por entretenido y nutrido de información)  es el clásico de Tanenbaum:  Los Sistemas Operativos Modernos.
¡Atención!  No debe confundirse este libro con el más técnico del mismo autor: Sistemas Operativos - Diseño e Implementación.
En Taringa se pueden encontrar los dos.  Y tengan cuidado porque hay dos versiones en pdf, una completa y otra incompleta.  Si la versión en pdf pesa unas 10 megas es porque está incompleta y probablemente no les sirva.  No bajen la versión en jpgs.  Pesa muchísimo, es incómoda de leer y trascartón está incompleta.
También claro está, existe la versión de papel pero salvo que tengan a mano una facultad o politécnico de informática a mano, no creo que nadie vaya a querer comprarse el libro.  Sólo por este tema, digo.



Espero que les resulte instructiva la lectura
Saludos


miércoles, 7 de octubre de 2009

Encriptar el /home


  Antes de empezar una breve explicación de para qué puede servir encriptar la carpeta de usuario.
  • Si usas una laptop, netbook o como quiera que le llames a la computadora portátil.
  • Cuando usas una computadora con acceso libre a cualquier tipo de persona.
  • Si se tienen datos de alto valor, como cuentas bancos, comprobantes, datos álgidos, etc.
  • El trabajo que tiene le exige, en mayor o menor medida, algún grado de confidencialidad.
  • Porque es usted un maldito paranoico y no quiere que los entes internacionales que lo siguen día y noche accedan a sus invaluables documentos.
  • Porque es uno de los espías de los entes internacionales que siguen día y noche al maldito paranoico.
La guía está hecha para Debian pero es válida para cualquier distribución de GNU/Linux.  Hay dos modos de hacerlo, un modo gráfico simple y otro algo más complejo pero que encripta la home completa.


Modo gráfico simple

Primero se instalan los programas Cryptkeeper y Encfs. Una vez instalados, se va al menú de Aplicaciones => Herramientas del Sistema y se arranca Cryptkeeper  (aparecen unas llaves en la barra).  Ésto en Gnome, en KDE se va derecho a Heramientas del Sistema.  Se pulsa en el ícono de la barra y elige "New Encripted Folder"  (Nueva Carpeta Encriptada).  Se siguen los pasos que indica el programa y ya hay una carpeta nueva con qué empezar.  Cabe señalar que de esta forma se puede encriptar carpetas "por partes", o sea que sirve para carpetas específicas más que para todo el home.  Si por ejemplo, uno quiere proteger la carpeta en la que tiene la contabilidad de la casa  (con sus correspondientes comprobantes, cuentas bancarias, etc.)  simplemente mueve esos archivos dentro de la carpeta encriptada que acaba de crear.  Luego se crea un enlace en la carpeta de usuario que apunte a la carpeta encriptada. Puede hacerse gráficamente desde el manejador de archivos (Nautilus, Konqueror), mediante el archiconocido Drag & Drop, y luego Crear enlace o Crear un lanzador.  O puede hacerse por línea de comandos escribiendo:
                  mv carpeta_álgida*  carpeta encriptada/
                  ln -s carpeta encriptada/carpeta_álgida
                  ln -s /home/carpeta_álgida/
 Hay que recordar siempre que hay que montar la carpeta cuando se inicia el programa.  Ésto se hace dando click al ícono en la barra y eligiendo la carpeta.  El programa te va a pedir la contraseña, se la das y ya está, tienes acceso a tus datos encriptados.


Modo completo

 Si es necesario encriptar todo el usuario, el método es algo más complejo pero perfectamente factible.  Lo primero es, como en el caso anterior, instalar Cryptkeeper y Encfs, hacerlo arrancar, etc.
Cuando está hecha la carpeta encriptada, se hace lo siguiente desde root (de momento, se usan nombres temporales):
               mkdir   /home/.usuario
               mkdir  /home/usuario-temp
               encfs  /home/.usuario  /home/usuario-temp
Con estos comandos saldrá un asistente que irá indicando qué hacer en cada paso.  Es importante que la contraseña sea robusta, de más de 8 caracteres, que no sea una palabra de diccionario, y que sea fácil de recordar.  Si uno va andar regando papelitos con contraseñas por todos lados como Hansel y Gretel, la seguridad no tiene ningún sentido.
Teóricamente, hay que salir de la cuenta e ir a una consola para hacer la siguiente indicación:  /etc/init.d gdm stop.  El porqué y el cómo de ésto, me resulta totalmente oscuro, además de inútil por lo que si quieren pueden contactarse con las fuentes que cito abajo para más información o directamente saltárselo.
Siguiendo en root, entonces, movemos todos los archivos de la siguiente manera:
                 mv  /home/usuario/.??*  /home/usuario-temp
                 mv  /home/usuario/*  /home/usuario-temp
CuidadoHay que tener mucho cuidado con no poner sólo el asterisco al mover los archivos  (en el primer comando)  porque va a dar error.  Básicamente, quiere decir que estás tratando de mover todos los archivos y sus carpetas de vuelta a la misma carpeta en donde está.  El asterisco después del punto, en el primer comando, indica que se incluyan las carpetas superiores (también /home).  Dependiendo del tamaño de la carpeta de usuario  (no te olvides que se incluirán las carpetas ocultas, lo cual a veces puede llegar a ocupar tanto espacio como los archivos visibles),  demorará entre unos minutos y algunas horas.  No se asusten, lo de horas es sólo si es un usuario extremadamente grande  (200Gb, por ejemplo).  Normalmente no llega a tanto.
Después, lo que queda es borrar la carpeta y cambiarle el nombre a la carpeta temporal.  Ésto se hace con los siguientes comandos:
             fuserumount -u/home/usuario-temp
             rm  -r  /home/usuario
             mv  /home/usuario-temp  /home/usuario
O bien, más fácil, de manera gráfica con Nautilus o Konqueror.  Yo prefiero la forma gráfica, evita confusiones con los comandos.  Un  rm -rf *  puede significar la pérdida completa de los archivos por ejemplo, pero un menú es muy difícil embocarle mal a la opción.
        Ahora que el /home está encriptado ya se puede iniciar sesión con el usuario.  Es importante que nos pida la contraseña al iniciar y la guarde durante la sesión, ya que la contraseña de la carpeta encriptada se supone que se ha hecho más rebuscada y larga que la de inicio de sesión.
Para ésto creamos un servicio de la siguiente manera:
   # gedit  /etc/init.d/encfs
En rigor, no es necesario que sea con Gedit, puede ser con cualquier editor de texto.  El que más le guste 

En ese archivo que se creó se pone el siguiente texto  (recomiendo copiar y pegar para evitar errores):

#! /bin/sh

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/
usr/bin
DESC="Description of the service"
NAME=encfs
DAEMON=/usr/bin/$NAME
DAEMON_ARGS="--public /home/.javi /home/javi"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()
{
       # Return
       #   0 if daemon has been started
       #   1 if daemon was already running
       #   2 if daemon could not be started
       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON
--test > /dev/null \
               || return 1
       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
               $DAEMON_ARGS \
               || return 2
       # Add code here, if necessary, that waits for the process to be ready
       # to handle requests from services started subsequently which depend
       # on this one.  As a last resort, sleep for some time.
}

#
# Function that stops the daemon/service
#
do_stop()
{
       fusermount -u /home/javi
       # Return
       #   0 if daemon has been stopped
       #   1 if daemon was already stopped
       #   2 if daemon could not be stopped
       #   other if a failure occurred
       #start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile
$PIDFILE --name $NAME
       RETVAL="$?"
       [ "$RETVAL" = 2 ] && return 2
       # Many daemons don't delete their pidfiles when they exit.
       rm -f $PIDFILE
       return "$RETVAL"
}

#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
       #
       # If the daemon can reload its configuration without
       # restarting (for example, when it is sent a SIGHUP),
       # then implement that here.
       #
       start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
       return 0
}

case "$1" in
 start)
       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
       do_start
       case "$?" in
               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
               2)
                       do_start # repite hasta que vaya bien
                       [ "$VERBOSE" != no ] && log_end_msg 1 ;;
       esac
       ;;
 stop)
       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
       do_stop
       case "$?" in
               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
       esac
       ;;
 #reload|force-reload)
       #
       # If do_reload() is not implemented then leave this commented out
       # and leave 'force-reload' as an alias for 'restart'.
       #
       #log_daemon_msg "Reloading $DESC" "$NAME"
       #do_reload
       #log_end_msg $?
       #;;
 restart|force-reload)
       #
       # If the "reload" option is implemented then remove the
       # 'force-reload' alias
       #
       log_daemon_msg "Restarting $DESC" "$NAME"
       do_stop
       case "$?" in
         0|1)
               do_start
               case "$?" in
                       0) log_end_msg 0 ;;
                       1) log_end_msg 1 ;; # Old process is still running
                       *) log_end_msg 1 ;; # Failed to start
               esac
               ;;
         *)
               # Failed to stop
               log_end_msg 1
               ;;
       esac
       ;;
 *)
       #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
       echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
       exit 3
       ;;
esac

:

Luego podemos probar el servicio de la siguiente manera:
           /etc/init.d/encfs  start
y para desmontar:
          /etc/init.d/encfs  stop
Se entiende que son comandos en una terminal.  Valga la aclaración porque así como están escritos parece como si fueran archivos que uno debe buscar.
Una vez comprobado que funciona, reinicias y listo.  Cuando arranque ya tendrás tu carpeta de usuario encriptada.

-----------------------***----------------------------


Un amigo andaluz añadió estos comentarios que pueden resultar útiles:
   Poner en el archivo  /etc/fuse.conf  una línea que diga:  "user_allow_other".  Evita algunos problemas como que quede con permisos de root cuando está desmontado o confusiones por el estilo.
   Advertir que hay un posible bug con la Papelera de Gnome.  A veces sucede (o sucedía, no sé si el bug fue arreglado)  que la Papelera de Gnome dejaba de funcionar luego de encriptar un usuario.  El asunto se solucionaba de dos maneras:  No usando Gnome  (cada escritorio tiene su propia papelera)  o bien instalando Screenlets que cuenta con una Papelera propia.


-----------------------***-------------------------------------


Y finalmente otro usuario argumentó el uso de Encfs.  En su opinión, el uso de Truecrypt es mucho mejor.




Ésta guía fue creada por Javier para la lista Debian Español.  Mi amigo andaluz se llama Manuel Jiménez Friaza y aunque es un muchachito sabe de Debian un rato.  Y finalmente, el usuario que propuso una forma diferente se llama Jorge Delgado.

La edición es mía, y mis datos están en el perfil. 
     Si desean agregar algo a la guía, quieren hacer una pregunta o piensan que hay algo erróneo o que le falta, lo comentan o me envían un mail que lo actualizo con todo gusto.





lunes, 5 de octubre de 2009

Los libros de la semana


       Luego del rotundo fracaso del libro  "Cuentos para leer con la luz prendida" de Alfred Hitchcock, que no sólo no cumplió con lo prometido en el título y la introducción, sino que encima fue aburrido;  decidí dejar en paz al supuesto maestro del terror y traer un par de libros diferentes.  Traje estos dos libros:
  • "La condesa sangrienta"  de  Andrei Codrescu.  Es una novela histórica muy interesante que plantea dos relatos intercalados con un factor común entre ambos:  Hungría y los Bathory.  El autor es descendiente de Erzebet Bathory y es profesor de la Universidad de Louisiana.  A pesar de la fama 'vampira' que tuvo y tiene Erzebet Bathory,  la novela no es tanto una historia de terror como un retrato del Siglo XVI y la Condesa Bathory por un lado  y el Siglo XX  y su imaginario descendiente por el otro.  
  • "Hechicero"  de Wilbur Smith.  Otra novela histórica, aunque ésta vez sin el más mínimo rastro de terror o  morbosidad.  Es la historia de un sabio del Antiguo Egipto que después de la muerte la reina decide retirarse al desierto.  Tiempo después vuelve convertido en hechicero para salvar a la dinastía reinante.  Son mi debilidad las historias  (bien escritas y documentadas)  sobre el Egipto antiguo y su civilización.  En este caso en particular me atrajo que el autor fuera originario de África, profesor universitario y hubiera hecho una minuciosa investigación sobre la época.  En general, desconfío de los best-sellers pero en este caso decidí hacer una excepción.  Este hombre ya ha escrito otros libros sobre Egipto, es de suponer que sabe lo que hace.  Ya veremos cómo me va.

Bueno, hasta aquí la presentación de los libros de ésta semana.  Al libro de Wilbur Smith pueden encontrarlo en Taringa  (www.taringa.net)  pero al de Codrescu es más difícil de encontrar.  Pueden intentar una búsqueda por internet pero no sé si les resultará.  Quizás puedan encontrarlo en alguna venta de viejo o feria, o bien en una biblioteca con buen presupuesto.  Luego les iré contando cómo me va con éstos libros.  Pueden acercar sus opiniones sobre estos libros u otros que a ustedes les guste.

¡Un abrazo y feliz lectura!





sábado, 3 de octubre de 2009

¿Quién dijo que los programadores no nos divertimos?


La imagen que suele tener la gente de los programadores y de GNU/Linux es de gente poco social y carente de sentido del humor.  Hoy traigo un ejemplo de lo contrario.

Si alguien no tiene nada mejor que hacer y se encuentra cerca de una consola o terminal puede tipear
    $ aptitude moo
se va a encontrar con que el programa le contesta
    "No hay ningún huevo de pascua en este programa"
Luego puede ir poniendo distintas -v y encontrando las siguientes respuestas:
     aptitude -v moo
     "Realmente no hay ningún huevo de pascua en este programa"
     aptitude -vv moo
     "¿No le he dicho ya que no hay ningún huevo de pascua en este programa?
     aptitude -vvv moo
     "¡Deje de hacer eso!"
     aptitude -vvvv moo
     "¡Vale, vale! Si le doy un huevo de pascua ¿se irá?
     aptitude -vvvvv moo
     "De acuerdo, usted gana"
Y aparece un precioso dibujito de algo que si usted cree que es un sombrero no sólo prueba falta de imaginación si no que jamás en su vida leyó a Saint-Exupery.  Es, claro está, una boa que se comió un elefante.

Otra con vaquitas
      $ apt-get moo
Hace aparecer una linda vaquita que pregunta  "Have you mooed today?"

La última por hoy
      $ apt-build moo
Hace aparecer una vaca muy disco, muy onda travolta diciendo  "Have you danced today?  Discow!"


Un abrazo a todos y espero que les haya gustado.