A Django site.
Octubre 10, 2010
» if test “Ubuntu 10.10″; then echo 42; fi

Cuando Pensamiento Profundo, el más grande computador construído por una sociedad de seres pandimensionales, anunció tras siete millones y medio de años de cálculo que la respuesta definitiva al sentido de la vida, el universo y todo lo demás era el número 42, posiblemente lo hizo un día como hoy 10 del mes 10 del año 10 (que en binario representa el decimal 42); claro que en el correspondiente calendario de esa sociedad.

Qué afirmación más geek (yo mismo me asombro!), digna de la Guía del Autoestopista Galáctico (sin ningún interés de tratar de ponerme a la altura de Douglas Adams, por supuesto).

Cuando Pensamiento Profundo percibió que la respuesta final no conformaba, se apresuró a indicar que posiblemente no había sido formulada la pregunta definitiva, para lo cual construyeron un segundo computador que lograra formular dicha pregunta, ese computador fue “la Tierra”.

Tal vez habría que habér preguntado: “Ubuntu 10.10?”

Sí, pues hoy es el lanzamiento de Ubuntu 10.10 (qué casualidad!!!)

La presentación oficial de Ubuntu 10.10 en Uruguay se realizará el próximo sábado 16 de octubre en la ciudad de Carmelo.

Lanzamiento Ubuntu 10.10

en la oportunidad estaré compartiendo con quienes asistan las características de la versión servidor y sus prestaciones para la construccion de computación en nube.

Notas en la prensa que he visto hoy a propósito de este evento en Carmelo:

Entonces a disfrutar este día tan especial…

Junio 1, 2010
» Cuál es el sistema operativo más usado

A la pregunta sobre cuál es el sistema operativo más usado, hace ya tiempo que vengo respondiendo “depende para qué“. Solemos pensar que las computadoras son aquellas que colocamos sobre los escritorios y con las cuales accedemos a Internet, pero qué pasa con las computadoras empotradas en equipos (aparatos de audio, consolas de juegos, asensores, automatismos y muchos etcétera). Si consideramos el universo completo de CPU (para manejar un concepto de computadora básico), ya comienzan mis dudas a la hora de decir cuál es el sistema operativo más usado.

Yo sabía por el sitio Top500, que las computadoras más grandes del mundo utilizan Linux como sistema operativo. Top500 es un sitio que mantiene la lista de las 500 computadoras con mayor poder de cálculo que se han construído, de ellas, unas 405 (81%) están corriendo Linux como sistema operativo (seguidas de unas 40 más que corren SuSE, Redhat, Centos y que este sitio los considera distinto sistema operativo).

Ahora la gente de BBC News acaban de publicar unas gráficas que muestran esto, y es realmente impactante verlo así presentado:

Supercomputing superpowers

Las gráficas fueron producidas utilizando el software Prefuse Flare, desarrollado por la University of California Berkeley.

Abril 24, 2010
» FLISOL 2010 en Carmelo

flisol_2010

Un año más que tengo la suerte de ser invitado por los organizadores del FLISOL en la ciudad de Carmelo, Departamento de Colonia, para participar durante toda la jornada del próximo sábado 24 de mayo.

Afiche_FLISOL_2010_Carmelo_Colonia

Cada año que voy a Carmelo, me sorprendo de la excelente organización que realzia la gente de Adec Informática, ellos son una academia de enseñanza de informática que funciona 100% sobre plataforma Linux, y se nutren constantemente de un sistema operativo y herramientas libres.

En representación del UYLUG estaré presentando cuáles son las ventajas de aprovechar las XO para fomentar la creatividad y la curiosidad de los niños; en particular la actividad Terminal y la programación Python. Me acompañan desde Montevideo los Profesores Diego Roselli y Fernando Da Rosa.

Otros amigos del UYLUG estarán en otras ciudades:

seguro me olvido de alguien, pues este es el año que se realiza en más ciudades de Uruguay, un total de ocho ciudades. Por supuesto un grueso de activistas del Software Libre quedan en Montevideo, en una jornada que brillará por si misma y por los invitados internacionales.

Todo esto nos presenta un festival que cada año se supera.

Febrero 2, 2010
» Automatizando SSH

Algnas veces me ha tocado escriir líneas de ssh bastante complejas, como por ejemplo:

ssh -1 -p 23 -l root -i /etc/ssh/key01 -o CheckHostIP=no 192.134.27.24

que realmente terminan siendo un incordio, cuando esa conexión debe ser vuelta a realizar para repetir tareas de administración remota. Entonces, este artículo es un resúmen de algunos trucos de automatización que he logrado aprender hasta ahora, para hacer mi ssh más fácil y mi vida también.

1. el nombre

Escribir la IP 192.134.27.24 cada vez que me conecto es antidiluviano y no escala a IPv6. Así que lo ideal es disponer de un DNS bien configurado al cuál recurrir.

Lamentablemente en redes internas he visto que asignan nombres a las máquinas que resultan más difíciles que la dirección IPv4 misma, por ejemplo: sssd2p1r3db.sss.com, que significa sss es el nombre de la empresa, datacenter 2, piso 1, rack 3, db pues es el server de base de datos. Fantástico! Cómo no recordarlo? Claro, despues uno ve que terminan usando la IP.

Así que llamemos a nuestro servidor 192.134.27.24 sssd2p1r3db como “tito” (o cualquier otro nombre que me resulte fácil de recordar)

Para que funcione el ssh a tito debo llegar a la IP. Y esta tarea de personalización de los nombres en la red la hace el archivo /etc/hosts. Edito el archivo y agrego:

# Servidor sssd2p3r3db
192.134.27.24 tito

A partir de ahora, todo lo que yo haga a nivel de red con el nombre “tito” va a funcionar desde ssh tito, ping tito, hasta http://tito en el Firefox.

2. las opciones ssh

Las opciones del ssh que son necesarias para esta conexión de ejemplo son: -1 -p 23 -l root -i /etc/ssh/key01 -o CheckHostIP=no, que no es necesario explicar su significado, pues todas estas opciones están a un man de distancia.

El archivo que permite automatizar todo esto para todos los usuarios es /etc/ssh/ssh_config y para un usuario en específico es el archivo $HOME/.ssh/config. Edito el archivo y creo una entrada Host acorde a mis necesidades:

Host tito
Protocol 1
Port 23
User root
IdentityFile /etc/ssh/key01
CheckHostIP no

Y ya está!

Ahora puedo escribir ssh tito y mi conexión va a ser realizada exactamente como si escribiera toda la linea del principio.

Solo una aclaración: la sentencia Host funciona por string, es decir que si escribo ssh 192.134.27.24 no va a producir el mismo efecto de levantar los datos del ssh_config, aunque me esté conectando al mismo servidor.

3. Bash completion

Y por último, hacer que mi Bash permita usar tabulador para los nombres caprichozos y fáciles que he colocado a mis servidores… porque?, a ver: nadie pretende que me acuerde que el server se llama “tito”, es mucho más acordarme que empieza con “t” y sigue con “algo” ;)

Edito ~/.bashrc y agrego:

_completossh ()
{
actual=${COMP_WORDS[COMP_CWORD]};
COMPREPLY=($(compgen -W ‘$(cat /etc/ssh/config | grep “^Host\b” – | sed -e “s/Host //”)’ — $actual))
}
complete -F _completossh ssh

Y ahora puedo escribir ssh t + tabulador, y me completará “tito”. Y si tengo más de un servidor que comience con “t” pues dar dos veces tabulador y me muestra la lista.

4. Algunos documentos para leer del tema

Setiembre 15, 2009
» Patentes de Microsoft

Durante bastante tiempo [link 1] Microsoft ha estado diciendo que posee patentes vigenes [link 2] con las cuales sistema operativo Linux está en infracción.

De todas las formas imaginables se le ha pedido a Microsoft que individualice dichas patentes, y nunca lo ha hecho. Sin embargo, las ha usado para lograr la firma de acuerdos (ver Novell) (pago regalias?), por lo que es de suponer que las patentes existen y son relevantes.

Pero, se imaginan a Microsoft abriendo un frente de ataque contra Linux por medio de sus patentes?? No le sirve a nadie, ni a Microsoft, sería como un nuevo SCO.

Que hicieron entonces? pues las sacaron a la venta!
(“yo no lo voy a hacer, pero s alguien quiere, con esto revientan a mi competidor”, pienso yo que se dijeron)

Por suerte, las patentes fueron adquiridas por Open Invention Network, un conglomerado de empresas que obtiene derechos de PI para fomentar y mantener el libre desarrollo (Open Source) de software.

Aquí la nota en Groklaw, sobre la cual hago este comentario.

Febrero 13, 2009
» 1234567890 ….. epoch time!

ThinkGeek Epoch Clock

ThinkGeek Epoch Clock

Hoy viernes, exactamente a la hora 21:31:30 de Uruguay (23:31:30 UTC) viviremos uno de los segundos más importantes en la historia de la informática moderna:

un segundo mágico que durará precisamente un segundo…..

exatamente será el segundo 1.234.567.890 a partir del 1970-01-01 00:00:00 UTC hora que representa el tiempo POSIX en todos los sitemas Unix.

En ese segundo, junto con un grupejo de nerds, estaremos levantando nuestras cervezas para festejar este grandioso y maravilloso instante en que se alinean todos los dígitos de nuestro sistema numérico. (lamentablemente el proceso de libación del áureo nectar será en los segundos posteriores….ya que vale la pena que así sea)

Si quieres ver cuánto tiempo falta para este gran momento, solo debes escribir:

watch -n1 'perl -e "print 1234567890 - time;"'

Y para verlo (y gozarlo) escribe:

watch -n1 'echo $(date)" :" $(date +%s)'

Feliz Unix EPOCH EVENT! … y podemos seguir de juerga hasta el 2038 !

Diciembre 4, 2008
» Linux: tecnología disruptiva

Leo en IT PRO un artículo de Richard Hillesley donde se pregunta si Linux es una tecnología disruptiva (en Inglés), del cual tomo algunas de sus consideraciones para dejar aquí un resúmen, traducido libremente por mi.

Entiendo que algo es disruptivo cuando produce una ruptura brusca, ya sea de un objeto, de un contexto social, de un proceso productivo, o cualquier otro concepto que puede ser roto. Según Hillesley en su artículo, una tecnología disruptiva es aquella que tiene a quebrar la cultura de precios y beneficio existente y tiene a abrazar una cultura opuesta a la que le precede.

Cuenta Hillesley, que el concepto fue acuñado por el Prof. Clayton M. Christensen, de la Escuela de Negocios de Harvard, basado en sus observaciones del “dilema del innovador“, cuando las nuevas tecnologías llevan a que grandes empresas fracasen, generalmente por ignorar las mismas.

Hillesley hace un interesante análisis de cómo Digital Equipment Corp. (DEC) siendo lider del mercado no aceptó el fenómeno PC y terminó siendo comprada por Compac, que basa su negocio en el PC. Mientras que por otro lado IBM, a pesar de liderar el mercado, se remodeló a una compañía que abraza los estándares abiertos.

El artículo aborda el análisis de la forma libre, abierta y colaborativa de Linux:

Linux en sí no representa ningún gran salto de tecnologías anteriores, pero ha llevado a una revolución tecnológica que se basa en la concesión de licencias de software libre. El modelo de desarrollo de código abierto, facilitado por la Licencia Pública General GNU (GPL), representa un reto y una oportunidad a la industria a reconsiderar la manera en que la información y la tecnología es utilizada y compartida entre los individuos y organizaciones, y en algunos sectores - sobre todo el sector de los servicios financieros - el desafío parece haber sido aceptado.

entonces, Linux no es una tecnología disruptiva:

Lo disruptivo termina siendo la licencia y su distintivo es el proceso de compartir frente al de reserva de derechos de las leyes de Derechos de Autor.

La conclusión de Hillesley es clara:

La GPL y sus cláusulas que exigen que cualquier cambio en el código de ser devueltos a la comunidad, puede ser la tecnología disruptiva, mientras que Linux es el principal beneficiario.

Noviembre 27, 2008
» Correo POP3+SSL por telnet

Siguiendo con el reciente artículo sobre Correo POP3 por telnet, debo tener en cuenta que mis servidores suelen tener el correo con SSL, para lograr la capa de validación y cifrado para la trasmisión de los datos, por este motivo, el telnet no sirve para hacer conexiones.

Entonces cuando el servidor POP3 tiene SSL (sPOP3) la solución es usar openssl, asi:

$ openssl s_client -connect servidor.correo.com:995
CONNECTED(00000005)
-> Aqui se muestra la validación y
-> el contenido del certificado digital
-> … en varios renglones
->
+OK POP3 Ready

A partir de aquí, funcionan perfectamente todos los comandos de POP3, indicados en el artículo anterior, exactamente como si estuvieramos por telnet normal.

Noviembre 4, 2008
» Correo POP3 por telnet

Esto no es nada nuevo ni “rocket science“, solo es un apunte personal, ya que esto lo requiero de vez en cuando y al final termino buscando entre documentos y documentos hasta que veo lo que quiero.

Es simplemente cómo hacer telnet al servidor de correo (POP3) y ver los mensajes.

Iniciar sesión en el servidor

$ telnet servidor.correo.com 110

Cuando conecte con el servidor, aparece como lo siguiente:

+OK POP3 Ready

El protocolo POP3 es muy sencillo. Cuando hacemos algo bien el servidor nos contesta con “+OK” y cuando lo hacemos mal nos devuelve un “-ERR”. En ambos casos se añadirá un texto descriptivo.

Ahora el servidor espera nuestra validación:

USER usuario@correo.com

El servidor le responderá con el mensaje de OK:

+OK USER

Significa que ha aceptado el nombre de usuario y que esta esperando por su contraseña. Escriba:

PASS contraseña

empleando la contraseña de su buzón de correo. Si todo ha ido bien el servidor nos responde con lo siguiente

+OK Logged in.

Comandos al servidor

Una vez conectados disponemos de varios comandos que podemos utilizar:

STAT (status) solicita el estado de tu buzón de correos. El servidor responderá informando de cuantos mensajes hay a la espera, en el siguiente formato: +OK mm bb, donde mm es el numero de mensajes, y bb el numero de bytes del total.

LIST te lista todos los mensajes. El primer número es el identificador del mensaje (que se requiere para otros comandos y el segundo número es el tamaño.

LIST
+OK 2 messages (320 octets)
1 120
2 200
.

LIST 2
+OK 2 200

LIST 3
-ERR no such message, only 2 messages in maildrop

TOP nn nl para ver las cabeceras y primeras lineas del mensaje (nn sería el numero del mensaje que quieras ver, nl el numero de lineas de la cabecera, p ej: TOP 1 ALL)

RETR # para ver un mensaje, debe especificarse su numero identificados del mensaje.

+OK XXXX octets follow.
Cabecera del mensaje
Cuerpo del mensaje
.

Donde XXXX es el tamaño del mensaje en bytes. Seguido de esta linea se mostrará la cabecera del mensaje y el cuerpo del mismo. Si el mensaje está codificado en HTML o tiene datos adjuntos es más que probable que entienda poco del mismo.

DELE # borra el mensaje elegido. El borrado no es al enviar el comando, sino al terminar la sesión (se debe desconectar con QUIT o los mensajes no serán borrados)

RSET recupera los mensajes marcados para borrado

NOOP (No Operation) instruye al servidor para que no ejecute ninguna acción, salvo responder con un mensaje de confirmación (+OK).

UIDL (Unique Identifier List) sirve para asignar un identificador unico a todos los mensajes o a uno especifico.

APOP (Authenticate Post Office Protocol) Este comando puede ser usado como sustituto del binomio USER - PASS para identificar y validar un usuario. Su utilidad es evitar que el password del usuario viaje por la red de forma no encriptada. La sintaxis es: APOP (nombre) (codigo).

Desconectar y cerrar sesión

Para desconectar correctamente del servidor escriba:

QUIT

El servidor nos responde con:

+OK Logging out.

Y se cierra el telnet: Connection closed by foreign host.

Fuentes:

Octubre 18, 2008
» Flash Player 10 para Linux

Siguiendo un artículo publicado por Alex Celi sobre su instalación de Flash 10 en Linux, decidí investigar un poco y es sumamente sencilo tener instalada esta última versión en *ubuntu, así que puse manos a la obra y aquí resumo los pasos:

apt-get remove –purge flashplugin-nonfree

Luego descargar directamente del sitio de descargas de Adobe la versión deb para Ubuntu 8.04+.

dpkg -i install_flash_player_10_linux.deb

y listo, arrancar Firefox e ir a Herramientas -> Agregados -> Plugins y verificar que allí diga Shockwave Flash 10.0 r12, lo cual quiere decir que ha quedado instalado y habilitado debidamente.

Sobre esta versión del Flash Player, se pueden ver algunos videos en el sitio de Adobe, con algunas pruebas de sus características y mejoras principales.

Octubre 6, 2008
» Modos de aprovechar tu viejo pc gracias a GNU/Linux

Los PC viejos son todo un problema: no sabemos qué hacer con ellos, no los podemos utilizar en lugares críticos (en cualquier momento se rompen y no hay repuestos), consumen más energía que el resultado que se les puede sacar y otro sinnúmero de motivos que los llevan a ser chatarra.

Encuentro en Linux Zone un artículo que ofrece unos 11 modos de aprovechar tu viejo pc gracias a GNU/Linux, que son basicamente los siguientes:

(no no, no te espantes, la foto no es, son los usos que están a continuación :)

  • Firewall o router
  • Servidor de datos/archivos
  • Servidor de impresión
  • Servidor de fax
  • Servidor web o servidor ftp
  • Filtro anti-spam
  • Servidor proxy
  • Thin client
  • Voice mail server
  • Media server
  • Servidor de descargas P2P

A nivel de uso en una red, a mi se me ocurren algunas ideas más, como ser:

  • Servidor dns
  • Servidor dhcp
  • Servidor respaldo ldap
  • Balanceador de carga
  • Servidor para envío de boletines por e-mail

Por supuesto que siempre se puede armar un cluster para tener un alto poder de cálculo con estos viejos y fieles “fierros”, pero no suele ser algo que uno anda haciendo todos los días.

Claro que hay más opciones, pero la idea de este artículo es mostrar que el hecho que hablemos de un viejo procesador de unos pocos cientos de megaherz y con suerte 100Mb de memoria, no hay por que tirarlo.

Agosto 26, 2008
» Virtualización de Sistema Operativo

la niña bonita sin novio

Cuando hablamos de virtualizar generalmente pensamos en dos de los paradigmas de virtualización y no es común ver la virtualización de sistema operativo como una opción. Se trata de una virtualización sencilla y muy útil para los que trabajamos con el sistema operativo (cómo que cuál?). Cómodo, rápido y ya está… una máquina tras otra, todas en el mismo hardware real, logrando la mayor densidad y la mejor performance de virtualización.

Se trata de una presentación práctica de virtualización de sistema operativo, en formato taller con un enfoque netamente práctico y de demostración de las posibilidades de este sistema de virtualización.

Publico Objetivo: Usuarios de Linux, administradores de centro de datos.

Requisitos: Manejo de SO Linux y manejo de paquetes.

Taller dictado en: