Maps of War

En el sitio Maps of War podemos encontrar unos videos hechos en Flash muy didácticos sobre distintos temas geo-políticos. Recomiendo especialmente el video Historia de la Religión el cual en 90 segundos recorre el nacimiento y evolución de las diferentes religiones en el mundo.

Muy recomendable.

Estrenando Gutsy


Deber ser la primera vez que actualizo una distribución en lugar de instalarla de 0 (desde que usaba Debian hace unos cuantos años). Lo hice usando el Gestor de Actualizaciones y todo resultó bien. Realmente una versión de Ubuntu excelente.

Decisiones sanas regresando a casa

Estaba volviendo a casa en el ómnibus (transporte colectivo) – el querido 370 – y me puse a cuestionar el hecho de que en los notebook que uso en el trabajo siempre instalo un Windows ocupando unos 10Gb totalmente en desuso…

Decidí entonces que no voy a seguir desperdiciando 10Gb de espacio en lo que son 40 escasos Gbs y además se me ocurrieron éstas 3 razones:

  • Si tengo que dar soporte a algun cliente (por suerte éso pasa muy poco y cada vez tenemos más clientes usando Linux) puedo perfectamente utilizar una de las 2 máquinas virtuales de VirtualBox (una con Windows XP, la otra con Windows 98).
  • Si tengo que probar o acceder a alguna página que sólo funciona con Internet Explorer (que por suerte son pocas) puedo utilizar sin problemas el Internet Explorer en Linux (a través de Wine).
  • Y si tengo que utilizar algún programa de Windows puedo usarlo con CrossOver Office (no he encontrado todavia ningún programa que se niegue andar bajo CrossOver).

Así que a partir de mañana voy a empezar diseñar el nuevo esquema de particiones que voy a dejar en el notebook.. todo para Ubuntu :-)

Nuevo pgAdmin III v1.8.0

Leo en las Postgresql News sobre la liberación de la nueva versión estable 1.8.0 de pgAdmin III. Hacía un año que no se liberaba una versión estable así que viene con buena cantidad de novedades. Algunas de ésas novedades que me parecieron interesantes para el uso que le doy a pgAdmin (si quieren la lista completa lean la página del anuncio)

Funcionalidades importantes:

  • Funcionalidad de macros para la Herramienta de Consultas
  • Soporte para agregados multi-parámetro
  • Soporte para “enums”en PostgreQL 8.3+
  • Nuevo conjunto de opciones para permitir al usuario ocultar tipos de objetos del Explorador de Objetos. Las nuevas opciones predeterminadas ocultan objetos utilizados con menos frecuencia como casteos, lenguajes, agregados, operadores, etc.
  • Soporte del Explorador de Objetos para Familias de Operadores en PostgreSQL 8.3.
  • Permitir a las variables GUC (Global User Configuration) estar predefinidas en funciones en PostgreSQL 8.3.

Mejoras

  • Aceleración de la carga de funciones y procedimientos (se reescribió código ineficiente)
  • Varios cambios en el navegador de bases de datos para asegurar que la modificación de objetos sea apropiadamente reflejada en la ventana principal (Por fin no hay que recargar el explorador de objetos cuando agregamos o eliminamos un objeto). También los estados expandido/colapsado de los nodos hijos son mantenidos en lo posible durante las operaciones de refresco.
  • Nueva opción de la Herramienta de Reportes para abrir el archivo salida en el navegador por defecto.
  • Nuevos atajos de teclado para mostrar y ocultar elementos de la interfaz de usuario.
  • Mostrar el panel de salida en la herramienta de consultas al momento de completarse una consulta si está actualmente oculto.
  • Mantener los anchos de las columnas cuando se refresque la grilla de edición.
  • Nueva opción de línea de comando (-f) para abrir un script SQL automáticamente cuando usemos -q o -qc.
  • Soporte fillfactor en tables e índices (factor de relleno, se utiliza para evitar el page-split de los indices, es decir, la fragmentación excesiva de los indices lo que puede resultar en penalizaciones de performance)
  • Nueva opción de línea de comandos (-cp) que permite editar diretamente los archivos pgpass.
  • Auto-indentación en la herramienta de consultas (al fin!)
  • Nueva opción para mostrar guías de indentación en la herramienta de consultas.
  • Permitir la utilización de espacios en lugar de tabuladores en los editores SQL, y asegurar que el ancho sea establecidos en forma adecuada.
  • Permitir la detección y conversion del formato de fin de línea en la herramienta de consultas.
  • Soporte para costos de funciones y estimaciones de filas en PostgreSQL 8.3+.
  • Mostrar el flag de secuencia “is_called”.
  • Ubicar el cursor en la posición del error cuando ocurra un error (en la Herramienta de Consultas). Asegurar que ésa línea es visible. (Muy pero muy útil!)
  • Preservar los anchos de columnas entre consultas sucesivas en la herramienta de consultas.
  • Usar “pg_statindex” para mostrar opcionalmente estadísticas de índices adicionales por tabla. También funciona para restricciones de indices.
  • Permitir el respaldo de servidores enteros .
  • Permitir el respaldo de objetos globales.
  • Nuevas opciones para habilitar/deshabilitar triggers, tanto individualmente como por tabla (Muy útil)
  • Usar “pg_stattuple” (si está disponible) para mostrar opcionalmente estádisticas de tablas adicionales por tabla.
  • Mantener el contenido del clipboard cuando el programa termina.
  • Nueva opción para mostrar NULLs en la Herramienta de Consultas.
  • Permitir que variables GUC (Global User Configuration) sean definidas para usuarios, roles y bases de datos en tiempo de creación.

Finalmente unos 20 bugs resueltos.

En conclusión una excelente versión estable teniendo en cuenta la masiva cantidad de funcionalidades nuevas y bugs resueltos. Felicitaciones al equipo de desarrollo de pgAdmin III.

La guerra de los bots abusivos: HMSE_Robot

El viernes el servidor donde un cliente aloja unos 100 blogs y que administra mi empresa se cayó 2 veces. Ya se había caído varias veces en las últimas semanas. Reiniciando el servidor Apache y el servidor de base de datos MySQL solucionaba el problema.

Las caídas eran siempre con el mismo patrón: nro máximo de consultas SQL de MySQL alcanzado, nro máximo de procesos de Apache alcanzados, uso de I/O de disco casi al 100%.

Puse a loggear todo, consultas SQL, vmstat, nro de consultas SQL por usuario, etc y después que se cayó pude ver claramente lo que pasaba.

Algo con user-agent “HMSE_Robot” estaba accediendo intempestivamente al servidor (llegué a ver 400 accesos GET diferentes en 20 segundos).

Acá me enteré que:

HMSE_Robot es un “nuevo” bot de origen coreano que recorre la red en busca de direcciones que recolectar para hacer spam y contenido que plagiar y lucrarse.

No respeta el robots.txt [...]
Es decir: estamos ante todo un señor comedor de ancho de banda ajeno.

El bot se identifica tal cual, con la cadena HMSE_Roboty la IP pertenece a un ISP llamado Hanaro Telecom, Inc. Parece ser que tienen todo el rango 222.239.220.xxx asignado siendo la IP 222.239.220.202 la principal fuente.”

Asi que finalmente lo bloqueé con el
siguiente código en el archivo httpd.conf:


SetEnvIfNoCase User-Agent "HMSE_Robot" robot

Order Allow,Deny
Allow from all
Deny from env=robot

(SetEnvIfNoCase -del módulo mod_setenvif- asigna la variable “robot” si el user-agent con el cual se identifica el programa accediendo al servidor Apache es “HMSE_Robot” -no importando mayúsculas y minúsculas- y Deny niega el acceso en ése caso.)

Sonido de la PC a través de un equipo de música

Consegui un cable con conectores para salida tipo walkman, mp3 (1/8″ mini conector )etc y entrada para un equipo de música (RCA). Así que conecté mi tarjeta de sonido a la entrada de audio auxiliar de mi equipo de música y ahora si que puedo disfrutar la música como se debe. La calidad del sonido es increible.

La mesa de pc no es muy grande pero pude poner el parlante izquierdo al lado del monitor, el equipo de música a la derecha y el parlante derecho arriba del equipo. Quedó todo ajustado pero prolijo :)

Ubuntu 7.10 Gutsy Gibbon lanzado

La esperada nueva versión estable de Ubuntu ha sido lanzada tanto su versión Escritorio como Servidor ambas soportadas hasta el año 2009 (versiones LTS).

Ahora a bajarlo y actualizar los Feisty :)

Fé de erratas: como bien dice Pablo en el comentario:

Gutsy Gibbon, versión 7.10 de Ubuntu no es LTS (Long Term Suppot). Tiene soporte estándar de un año y medio, hasta abril de 2009. La próxima LTS será la 8.04 con soporte de 3 años para la versión de escritorio y 5 años para la de servidor.

(postear medio dormido no es conveniente…)

Paquetes para mejor renderizado de fuentes en pantallas LCD para Ubuntu Feisty Fawn

“El desarrollador de FreeType David Turner ha posteado parches para Cairo y Xft que mejoran la renderización de fuentes en pantallas LCD (y también para monitores CRT de tipo Trinitron). Los puso a disposición avisando que él no estaba seguro si infringirían algoritmos patentados relacionados a la tecnología ClearType de Microsoft.”

Los parches han sido empaquetados y reemplazan a las bibliotecas libfreetype6, libcairo2 y libxft2.

Siempre vi una diferencia entre las fuentes en Linux y en Windows, sobre todo en pantallas LCD. En Windows siempre lucen mejor, más nítidas y delgadas con buen contraste y visibilidad.

Asi que ni lerdo ni perezoso seguí el procedimiento indicado:

  • Agregar los siguientes repositorios (Sistema->Administración->Gestor de paquetes Synaptic->Configuración->Repositorios->Software de otros proveedores):
    • deb http://www.telemail.fi/mlind/ubuntu feisty fonts
    • deb-src http://www.telemail.fi/mlind/ubuntu feisty fonts
    • Para sistemas amd64:
      • deb http://raof.dyndns.org/falcon feisty experimental
      • deb-src http://raof.dyndns.org/falcon feisty experimental
  • Descargar la siguiente clave PGP e importarla en Synaptic (Configuración->Repositorios->Autenticación):
    • http://www.telemail.fi/mlind/ubuntu/937215FF.gpg
    • Para el repositorio amd64:
      • http://ubuntu.moshen.de/2F306651.gpg
  • En Synaptic, Recargar, Marcar todas las actualizaciones y Aplicar.
  • Finalmente reconfigurar el fontconfig:
    • sudo dpkg-reconfigure fontconfig-config
    • sudo dpkg-reconfigure fontconfig
  • Salir y volver a entrar a la sesión.
  • Si se decide volver a usar el método de renderizado anterior hay que hacer un “downgrade” de los paquetes libfreetype6, libcairo2 y libxft2 a sus versiones originales.

Bueno, lo probé en mi notebook y mis conclusiones son: muy recomendable. Me sorprendió, la mejora es totalmente visible. Las fuentes las veo mucho más nítidas, delgadas y cómodas visualmente. Se ven mejor incluso que en Windows.

No sé como será el tema de las patentes de los algoritmos que utiliza éste método de renderizado de fuentes pero mientras haya paquetes instalables voy a estar instalándolo en mis Ubuntu con pantalla LCD.

Via Ubuntu Geek

Recibiendo faxes con Hylafax

En la empresa recibimos muchos faxes por mes así que me planteé mejorar la dinámica de recepción de faxes.
Los faxes los recibimos via un viejo módem/fax ISA (chipset Cirrus Logic) clase 1.0 (creo que hubo una máquina de fax hace muchos años pero se rompió). Ya que sólo recibimos faxes y nunca tenemos que enviar realmente no se justifica la compra de una máquina de fax.

Como se recibian faxes:

  • Cuando alguien pedía para enviar un fax le deciamos que intentara 2 minutos después de cortar.
  • En ésos 2 minutos conectabamos el cable teléfonico de uno de los teléfonos al módem.
  • El módem recibia el fax (usábamos el programa Efax)
  • Conectabamos el cable teléfonico de nuevo a uno de los teléfonos.

Obviamente, engorroso. Había que levantarse a hacer toda ésa operación logística y además de que frecuentemente “matábamos los oídos” de alguien que llamaba si demorábamos mucho en desconectar el cable telefónico del módem.

Como recibimos faxes ahora:

  • Línea telefónica y teléfono conectados permanentemente al módem.
  • Servidor Hylafax escuchando en el módem.
  • Cuando alguien llama para enviar un fax le decimos que lo envíe, colgamos el teléfono y cuando suena el primer ring ejecutamos el comando faxanswer de Hylafax (dejé en los escritorios de todas las máquinas iconos que ejecutan ése comando remotamente -via SSH- y además otro para ejecutar el comando faxabort por si alguna vez que hay que cancelar una recepción de fax).
  • Además accedemos fácilmente a la carpeta de faxes de recibidos via Samba (Creé un recurso compartido para el directorio /var/spool/hylafax/recvq)

Práctico. No?

Además configuré a Hylafax para que automáticamente envíe cada fax recibido por email a mi compañera de trabajo (que es quien trabaja con ellos) creando el archivo /var/spool/hylafax/etc/FaxDispatch con el siguiente contenido:

FILETYPE=tif;
SENDTO=email;

donde email es la dirección de correo a enviar el fax (como adjunto en formato TIF en mi caso).

Lo que me falta:

  • Que Hylafax guarde y envíe los faxes recibidos en formato JPG o PNG.
  • Que además los guarde con la fecha y hora como nombre y en carpetas año/mes (creando el directorio si no existe). Para éso tenía un script que usaba Efax, creaba los directorios si no existian, guardaba el fax con la fecha y hora en el nombre y después convertía el fax a formato JPG usando el comando convert (de la suite ImageMagick). Voy a ver si Hylafax soporta alguna de ésas cosas en forma nativa o si de alguna forma puedo hacer que las haga.

Gmail actualiza los estimados de almacenamiento

Mirando en el código fuente de la página de ingreso de Gmail
encontramos los nuevos valores estimados del tamaño de las cuentas:

// Estimates of nanite storage generation over time.
var CP = [
[ 1175414400000, 2835 ],
[ 1192176000000, 2912 ],
[ 1193122800000, 4321 ],
[ 1199433600000, 6283 ],
[ 2147328000000, 43008 ],
[ 46893711600000, Number.MAX_VALUE ]
];

  1. 2912MB el 12 de Octubre de 2007
  2. 4.2GB el 23 de Octubre de 2007
  3. 6GB el 4 de Enero de 2008
  4. 42GB en el año 2038
  5. 2.70266701 × 1072 TB* en el año 3456

Parece que las cuentas de muchos usuarios están quedando chicas sobretodo porque ahora se están
enviando muchas fotos como adjuntos, además de muchas otras cosas pesadas. Manteniendo su promesa
de que nunca tendrás que borrar un email están poniendo las barbas en remojo.

Via: Googlified

Seguir

Get every new post delivered to your Inbox.