Safari Books Online

Ya hace tiempo que no publico nada así que ya va siendo hora. 😉 Llevo dos semanas probando la librería en linea Safari Books Online (en Inglés por cierto) y lo cierto es que me está resultando muy útil.

Ha surgido de una iniciativa conjunta en O’Reilly y The Pearson Technology Group (grupo de Prentice Hall y otras marcas) y ahora incluyen libros de muchas otras editoriales.

Se plantea como un servicio de suscripción para poder leer los libros en pantalla e imprimir secciones de ellos sin problemas. Además de poder ver e imprimir las páginas web, tienes la opción de descargarte en formato PDF un número de capítulos al mes, que puedes imprimir o guardar en disco comodamente. La principal diferencia entre ambos formatos aparte del maquetado en el caso del PDF, es que en formato Web una página te muestra una sección de un capítulo mientras que en PDF te descargas máquetado el capítulo entero. Para imprimir o almacen el html se hace tedioso.

La modalidad que recomiendan da acceso a tener 10 libros de todo el inmenso catálogo en “tu estantería” que puedes leer integramente en cualquier momento. De los demás libros del catálogo puedes ver los primeros párrafos de cada sección de capítulo. Eso unido a las funciones de búsqueda te puede ayudar a encontrar libros con la información que búscas, ojearlos y si te interesa lo añades a tu estantería. Respecto a la descarga de PDFs tienes 5 tickets para descargar capítulos cada mes.

En mi opinión el servicio es un poco caro $19,99 mas IVA al mes por una estantería de 10 huecos + 5 tickets de descarga de PDFs. Me acaban de cargar $23,19 en la tarjeta que al cambio se han convertido en unos 18€.

Has suscripciones más económicas, por ejemplo una estantería de 5 huecos (suficiente creo yo) y sin poder descargar PDFs saldría por la mitad de dinero.

En este momento que tengo como proyecto aprender C# y .Net tanto sobre Windows como sobre Linux con Mono me está viniendo muy a pesar del precio.

Publicado en: General, Informática

Programa de contabilidad doméstica Gnucash en Ubuntu Dapper

Ya había comentado en el pasado sobre los problemas de Gnucash en Ubuntu 5.10, y ahora vuelvo a tener problemas similares con la nueva versión de Ubuntu, que saldrá en Junio.

Gnucash es un programa bastante antiguo y no soporta el juego de caracteres internacional UTF-8 que posibilita utilizar caracteres de todos los idiomas a la vez y que es el único juego de caracteres soportado de serie por Ubuntu.

Como consecuencia de ello al abrir mi contabilidad me desaparecían las letras con acentos, las ñ y similares.

La solución:

  1. Generar el soporte del idioma español con juego de caracteres ISO-8859-15 (occidental con €)
    locale-gen es_ES@euro
  2. Instalar las fuentes de Microsoft que tienen soporte de tabla de caracteres ISO-8859-15, (algunas de las fuentes instaladas por defecto también lo tienen pero pocas, comon puedes ver con el comando xfontsel)
    apt-get install msttcorefonts
  3. Ejecutar gnucash con el siguiente comando:
    LANG=es_ES.ISO-8859-15@euro gnucash
  4. Los menús y alguna cosa más cogen la fuente indicada en /etc/gtk/gtkrc.iso-8859-15 pero las lineas de asientos utilizan helvetica y esta no tiene el símbolo del euro así que: ir a Edit->Preferences->Register y cambiar la selección por Arial por ejemplo.

Este es el bug reportado

Publicado en: General

Hablar via Google Talk con cualquier usuario de la red Jabber global

Antes de ayer salió a la luz una noticia estupenda, los chicos de Google Talk han habilitado la comunicación de sus servidores con los servidores del resto del mundo. Hasta ahora la política habitual de las grandes redes de mensajería instantanea y VozIP era la de impedir que usuarios de una red se comuniquen con usuarios de otra. De ahí que un usuario de MSN Messenger, no se pueda conectar con un usuario de AOL Instant Messenger (AIM), ni con un usuario de Yahoo Messenger, ni con un usuario de Skype, por mencionar solo a los más importantes.

El anuncio de Google es una buena noticia porque Google Talk es un programa pequeño y sencillo de usar, ideal para principiantes y que tiene detrás a toda la maquinaria de Google, pero que no por ello te ata a usar los servicios de Google, ya que está utilizando protocolos estandar, en concreto el protocolo Jabber ( XMPP). De esta forma tu puedes tener cuenta de mensajería instantanea con tu universidad, o con tu proveedor de acceso a Internet, o con tu empresa y poder hablar con lo usuarios de Google Talk. Teniendo en cuenta que Google y AOL han anunciado un acuerdo que llevara a que, entre otras cosas, se interconecten las mensajerías de ambos esto supondrá que un porcentaje muy alto de los usuarios de mensajería instantanea formarán parte de redes abiertas (AOL sea quien probablemente tenga más usuarios en la zona de USA).

Y eso no solo aplica a chatear con texto, sino que en Google han publicado las especificaciones de su tecnología de VozIP, incluyen una librería que permite que cualquier programa libre o propietario soporte el protocolo con muy poco esfuerzo.

Creo que es una buena noticia también para los que quieran seguir usando las mensajerías de las empresas que siempre han intentando impedir que sus usuario hablen con los de otras, ya que no les quedará más remedio que cambiar de actitud.

Por lo pronto usaré el cliente de google talk en windows y el Gaim en Linux y Windows, pudiendo usar mis cuentas tanto @gmail.com como @jabber.org. Por cierto los programas Gaim como PSI han anunciado que incluirán en breve soporte del protocolo de VozIP de Google Talk.

Publicado en: Informática, Internet

Dos útiles funcionalidades en gestor de correo Thunderbird 1.5

Estos días ha salido la nueva versión del programa de correo del proyecto Mozilla, concretamente Thunderbird 1.5, con numerosas mejoras, de las que yo solo comentaré dos que me están siendo muy útiles:

Borrado de adjuntos

Thunderbird 1.5 añade una opción tremendamente útil que es la posibilidad de borrar los adjuntos de un mensaje conservando el texto del mismo.

La mayor parte del espacio ocupado por nuestros buzones lo ocupan mensajes que incluyen ficheros adjuntos de gran tamaño que a lo mejor ya hemos guardado en disco o que sencillamente no queremos conservar. Esta opción te permite eliminar el adjunto del mensaje con lo que la mayor parte del espacio se recupera, sin tener que borrar el mensaje en sí, quedandote constancia por tanto del mensaje que recibiste o enviaste y del contenido.

Para mi es una joya esta opción, se puede acceder a ella a través de Archivo ->Adjuntos

Corrección ortográfica mientras se escribe

Al redactar nuevos mensajes subrayara levemente en color rojo las palabras que no aparezcan en el diccionario de corrección ortográfica. Por defecto solo trae el diccionario en Inglés pero podemos descargar del proyecto Nave un diccionario en español. Una vez descargado lo instalaremos via Herramientas -> Extensiones -> Instalar y seleccionando el fichero que hemos descargado.

El programa se puede descargar de las páginas del proyecto Nave.

Publicado en: Informática, Internet

Bitacora gestionada a partir de ahora con WordPress

Esta página ha estado gestionada desde el 9 de Agosto de 2004 hasta hoy con el programa Pyblosxom, pero hace tiempo que quería utilizar algo un poco más sofisticado. La opción final ha sido WordPress que es con lo que está funcionando ahora. Probablemente más adelante vuelva a mirar como anda el panorama de software para gestionar bitácoras pero en este momento es el que más se ajusta a lo que yo quiero.

La otra opción que estaba analizando es Jaws que tiene la ventaja de estar siendo desarrollado por hispanohablantes y que además es muy sencillo de administrar con su panel de control y de modificar el aspecto de la web. Por otro lado se le va aun bastante verde a día de hoy.

De todas maneras como la cosa iba muy igualada lo que más me ha decantado hacia un lado ha sido la velocidad. He descubierto que todos estos sistemas son extremadamente lentos. En mi Athlon 800Mhz con 768MB de memoria no suelen ser capaz de servir más de 2 peticiones por segundo. No es que este sitio suela estar saturado, pero como algún día cuentes algo interesante y salgas en algún lado te hunden el servidor enseguida.

WordPress es igual de lento pero con la ventaja de que existe un plugin llamado WP-Cache 2.0, hecho por Ricardo Gallir, conocido miembro de Bulma, que almacena las páginas generados multiplicando por 20 o por 30 el número de páginas que puedes servir.

Pruebas de velocidad

Con Apache viene un programa para comprobar el rendimiento de un servidor web. Si ejecutamos el siguiente test rápido:

/usr/sbin/ab -c 10 -n 100 http://....

obtenemos los siguientes resultados

Pyblosxom 2.04 páginas/s
Jaws 2.18 páginas/s
WordPress 1.89 páginas/s
WordPress con WP-Cache 2.0 70.30 páginas/s

Las cifras son solo aproximadas, en este momento no tengo instalaciones de prueba con el mismo contenido para comparar un programa con otro, lo que pretendo que se vea es como la diferencia utilizando una cache de páginas es más que significativa.

Espero que os guste

Como veis después de muchas pruebas me he animado con WordPress, así que tras importar el contenido anterior, crear un tema personalizado y retocar no pocas cosas, este es el resultado. Espero que os guste 😉

Publicado en: General, Servidores

Gnucash en Ubuntu 5.10

He decidido probar la nueva Ubuntu 5.10 y me está causando una muy buena impresión, aunque he tenido algún pequeño problema.

Uno de ellos está relacionado con el programa de contabilidad Gnucash que al leer el documento con mi contabilidad se comía todos los acentos, eñes y similares.

La causa resultó ser que el pobre Gnucash que anda flojo de desarrollo ultimamente se atraganta con la codificación UTF-8 que es a la que todas las distribuciones tienden y a la que Ubuntu ya ha cambiado. El fichero original fue creado usando el juego de caracteres ISO-8859-15 (Europa Occidental con símbolo de Euro), y al leerlo en una distribución que por defecto utiliza UTF-8 se lia.

¿La solución? Puedes verla en este bug que he reportado en el Launchpad.

Publicado en: Linux

Estadísticas de correos rechazados en abril

En Marzo modifiqué la configuración del servidor de correo para luchar contra el correo no deseado sin necesidad de examinar el contenido. Ahora que ya ha transcurrido un mes con las comprobaciones es un buen momento para ver los resultados.

Para centrarnos recordar que cuando un servidor de correo recibe una conexión para procesar un mensaje el proceso es más o menos así:

  • Se estable conexión (con lo que ya conocemos la IP de origen)
  • Negociaciación: De quien (MAIL FROM), a quien (varios RCPT TO)
  • Si el servidor acepta el emisor trasmite el correo

Al rechazar un mensaje antes del tercer punto, de que se envie el contenido, que es de lo que habla este mensaje, nos ahorraremos el ancho de banda de esa transferencia.

El fichero de log correspondiente al mes de Abril de 2005 pasa de 500MB de texto, y tras analizarlo mi servidor ha rechazado 1.668.070 mensajes. Más de millón y medio de mensajes han sido rechazados mientras que se han procesado 3993 (de los cuales una buena parte también es SPAM que ha pasado el filtro): desde luego hay mucha gente con ganas de incordiar.

En la tabla siguiente se resume desglosa la cantidad de mensajes rechazados en función de la comprobación que motivó su rechazo. De esta forma se puede ver que chequeos han tenido más impacto:

Motivo Elemento Error Mensajes rechazados
1 HELO necesita FQDN HELO 504 124.035
2 HELO dice ser yo HELO 554 722.886
3 IP en lista negra IP 554 560.524
4 Dirección remitente no es FQDN MAIL FROM 450 2.447
5 Dominio remitente no encontrado MAIL FROM 450 20.227
6 Improper use of SMTP command pipelining RCPT TO 503 43
7 Relay Access denied RCPT TO 554 2.657
8 Usuario desconocido RCPT TO 450 235.251

La mayoría de estas comprobaciones se basan en que los spammers mandan correos sin cumplir lo que dice el protocolo mientras que los servidores de correo de verdad sí lo hacen, por lo que es probable que estos resultados vayan variando con el tiempo.

Respecto al HELO, en (1) se puede ver que el exigir que se diga HELO soy mail.dominio.com deja fuera a 124 mil mensajes. Más llamativo es que en 722 mil ocasiones el correo se rechaza porque quien me lo manda me dice que el correo viene de mi red (2), lo cual es mentira y fácil de comprobar porque yo se que máquinas forman mi red. Es curioso que una comprobación tan sumamente sencilla y segura elimine tal cantidad de correo.

La linea (3) son correos enviados por IPs que se encuentra en alguna de las listas negras que compruebo (relays.ordb.org,list.dsbl.org,sbl-xbl.spamhaus.org).

La linea (7) hace referencia a intentos de usar mi servidor de correo para enviar correo a terceros, si eso fuera posible mi servidor sería un Open Relay y sería utilizado por otros para mandar SPAM.

Destacar también que tras pasar todas las demás comprobaciones, el sistema comprueba que exista el buzón de destino (8) y por no existir son rechazados 235.251 correos lo que, teniendo en cuenta que mi servidor da servicio a 5 usuarios, nos da una idea de la cantidad de correos que se envian a cuentas al azar. Realmente la cifra es mucho mayor pero muchos de ellos se rechazan en las otras comprobaciones.

Publicado en: Servidores

El SPAM que no se ve y tener un servidor de correo en casa

Hoy por hoy casi todos recibimos mucho correo electrónico no deseado, normalmente el llamado Spam. El principal problema del Spam es que si en tu buzón hay una carta que has de leer en medio del 50 o 100 mensajes que tirar a la papelera, perderás mucho tiempo descartando el correo basura y por si fuera poco no sería extraño que por despiste y costumbre esa carta también fuera a la papelera.

Digo esto porque para mi hasta hora el principal problema del Spam que recibía en mi cuenta era que se me mezclase con el correo bueno, por lo tanto si conseguí que mi filtro de spam lo tirase a la basura me daba por satisfecho.

La semana descubrí otro problema con el Spam, la inmensa cantidad de Spam que no se ve, ¿el problema del Spam que no se ve?. Me explico.

Los sintomas

El correo dirigido a este dominio (“abilleira.com”) lo gestiona un servidor propio conectado a Internet a través de una simple ADSL doméstica. La semana pasada me extrañó la reducción del espacio libre en el disco del servidor así como aumento de tamaño del directorio /var/log.

El culpable: /var/log/mail/info, fichero donde el servidor de correo va apuntando lo que hace con los correos que procesa alcanzaba ya los 400MB de texto solo con los mensajes de la última semana (tiempo de rotación del fichero de log).

Para un servidor que procesa el correo de mi familia (5 usuarios), es claramente desorbitado. Eso coincidiendo con la lectura de un muy interesante artículo en Free Software Magazine (Filtering SPAM with Postfix) me motivó para analizar el asunto con más detenimiento.

El problema

El fichero /var/log/mail/info con todas las entradas del mes de febrero tendría nada menos que 1603MB, lo cual es una verdadera barbaridad y refleja que servidor a procesado una inmensa cantidad de correos, pero ¿por qué tantos?.

La respuesta es el correo basura, correo basura en todas sus formas, pero la mas bruta se debe a que algunos spammer se han dedicado a coger un dominio cualquiera (“abilleira.com” en este caso) y a mandar correos a direcciones que ni siquiera saben si existen, por ejemplo: a.bourne arroba abilleira.com, a.f.smith arroba abilleira.com, etc. Como se ve que les sale barato no se han conformado con mandar unos cientos de mensajes no, si contamos el número de mensajes que procesó mi servidor en el mes de Febrero a direcciones terminadas en @abilleira.com que no existían es de:

1.797.849. Sí, casi un millón y ochocientos mil mensajes a cuentas inexistentes por una linea ADSL.

También recibí mucho Spam a cuentas que si existen pero sin duda el grueso del número de mensajes es debido a esos incalificables que se dedican a mandar millones de correos a direcciones inventadas (evidentemente sí son calificables pero prefiero no hacerlo).

Haciendo frente al problema

Empecé siguiendo las recomendaciones del artículo que mencioné antes y con muy buenos resultados pero voy a comentar antes un detalle que yo no descubrí hasta el final y que es muy importante.

No podemos evitar que alguien llame a la puerta de nuestro servidor de correo para enviarnos un mensaje, pero debemos intentar analizar la validez del mensaje cuanto antes para poder rechazarlo antes incluso de que se transfiera el contenido del mensaje.

Con los correos a buzones inexsistentes mi problema fue mi postfix aceptaba los correos, los recibia y se los pasaba al agente local para dejarlos en el buzón local. No era hasta ese momento que el agente local se daba cuenta de que el buzón no existía y le escribía un correo a la direccion de remitente (siempre falseada claro) informandole de que no existía el buzón. Por lo tanto no solo consumía ancho de banda recibiendo los mensajes sino que además mi servidor de correo se dedicaba a mandar mensajes de vuelta a supuestos remitentes (molenstando habitualmente) y consumiendo ancho de banda también.

Lo ideal sería que en el momento que llaman a la puerta para darnos un mensaje a nombre de smith@abilleira.com nos demos cuenta cuanto antes de que no existe y rechacemos el mensaje en ese momento sin llegar a recibirlo y sin tener que escribir ningun correo de vuelta. Ese es el comportamiento por defecto de postfix, pero resulta que yo hacía tiempo, cuando el problema había llegado a estos extremos había desactivado sin querer configurar la directiva local_recipient_maps en blanco en el fichero /etc/main.cf. Esa directiva instruye a postfix a comprobar en el momento de recibir un mensaje si el destinatario existe.

Así que si alguien tiene el mismo problema que yo, lo primero que debiera comprobar es esta directiva para asegurarse de que esos correos se rechazan cuanto antes.

Más restricciones

Antes de eso apliqué las recomendaciones del artículo mencionado arriba también con muy buenos resultados. Entre las dos cosas el comportamiento de mi servidor vuelve a ser más razonable. El fichero de log sigue creciendo mucho porque no puedo evitar que intenten mandarme correos, solo rechazarlos en el primer intento. Pero al menos ni recibo los mensajes ni tengo a mi servidor escribiendo miles de mensajes de contestación de que la cuenta no existe.

El truco se basa en realizar una serie de comprobaciones durante la negociación inicial del envio del correo, concretamente en los mensajes HELO, MAIL FROM y RCPT TO del protocolo SMTP.

Alrededos del 4 de Marzo hice los cambios en la configuración. Otro día comentaré algunos de los resultados porque creo que son muy interesantes, por hoy basten los siguientes valores aproximados:

Febrero

Rechazados “en la puerta” alrededor de: 6085 mensajes

Marzo hasta hoy 11

Rechazados “en la puerta” alrededor de: 403.562 mensajes

Publicado en: Servidores

La Cara Oculta de Delphi 6. Programación COM

He terminado de leer la primera sección de este libro y me ha dejado con un sabor un poco agridulce. Por un lado, una cosa que me encanta de este libro (y de este autor) es que no solo expone la forma de hacer las cosas sino que te va guiando a cómo están implementadas, mostrandote en muchas ocasiones el código de funciones de la VCL para que veamos que pasa cuando hacemos esta u otra cosa, o el código ensamblador generado al realizar tal llamada a un método de un interfaz, etc. En concreto la explicación de las v-tables y su relación con la implementación de interfaces junto con una pequeña incursión al trabajo que hacen los proxies COM me parece muy interasante y te ayuda a ver el por qué de las cosas y el cómo funcionan.

Por otro lado el avance requiere cierto esfuerzo para ir fijando conceptos nuevos (nuevos para mi) que quedan de todas maneras muy en el aire. En mi opinión por un lado cuenta muchos detalles de implementación de ciertas cosas pero por otro no llegas a tener un concepto global del uso de COM.

A mi parecer el autor ha conseguido hacer una introducción a la programación COM pero dando en ella muchos detalles de cómo se implementa, con lo que disfrutas de información muy interesante pero no tienes muy claro al final si sabrás poner algo de eso en práctica. De todas maneras, me da la impresión de que más adelánte a lo largo del libro al programar para bases de datos o internet, etc. se utilizarán algunas de las cosas que se han explicado en estos capítulos así que esperemos y sigamos leyendo.

Me toca ahora empezar la sección El lenguaje SQL con el capítulo 7. Sistemas de Bases de Datos.

Publicado en: Programación, Windows

Impresión de papeles pequeños

¿Has tenido que imprimir alguna vez con tamaños de papel pequeños en tu impresora? Entonces sabrás que aunque la mayoría de las impresoras manejan bien los tamaños habituales de papel, muy pocas manejan muy bien los papeles muy pequeños y muy delgados.

El problema con estos papeles suele estar relacionado con la alimentación de papel; como es muy pequeños algunas lo cargan torcido, cuando son muy delgaditos suelen coger varias hojas a la vez desplazadas quizas unos centimetros e imprimir parte de la página en una hoja y parte en otra, etc.

Hoy me ha tocado imprimir por la parte de atrás de unas hojitas ya impresas (de imprenta) en un papel bastante finito y con un tamaño de 14cmx8,5cm, con mi impresora una HP Deskjet 5151. El problema que he tenido con esta es el de coger dos hojas a la vez con bastante frecuencia, lo que suele obligarte a primero estar pendiente de ella y por otro a tirar las dos hojas mal impresas.

Pero he descubierto una cosa muy interesante que por lo menos no tenían las impresoras que yo he usado hasta el momento. Si en las propiedades de impresión elijo un papel como “papel mate para folletos y prospectos hp la impresora actua teniendo en cuenta que es un papel dificil de cargar y lo carga mucho más despacio y con mas cuidado de forma que ya no coge dos hojas a la vez.

Cada vez estoy más contento con esta impresora. No puedo hablar de calidad en foto porque nunca imprimo nada en papel fotográfico, pero para el uso diario una impresora muy recomendable y con un coste de impresión bastante contenido.

Publicado en: Hardware, Informática, Windows