Para el día de hoy les recomiendo la descarga de un interesante ebook: “Aprenda a Pensar Como un Programador con Python“
Se trata de un libro digital, está en español, es gratuito (disponible bajo licencia GNU Free Documentation License) y no se trata de un manual, sino de una introducción a la programación de la mano de Python.
Ideal para quienes se inician en la programación y también para los que desean conocer las técnicas básicas de la programación en Python.
Hace unos días, leyendo acerca de la arquitectura de Facebook leí acerca de servidores Web y de servidores de Memcache. Alejado hace algunos años del desarrollo web no tenía ni idea de que se trataba esto.
Leyendo mis feeds encuentro una publicación acerca de Memcached, que me sirvió para entender un poco más de que se trata y como se utiliza de una forma por demás de clara.
Memcached es un sistema de caché distribuido que se utiliza para guardar los datos de las aplicaciones en un (conjunto de) servidor(es) (servidores de caché), todo esto de una forma sencilla y transparente. Estas caracaterísticas lo han convertido en un sistema muy utilizado en varios proyectos.
Memcached permite guardar lo que se nos ocurra y que a nuestro criterio sea digno de ser “cacheado“, ejemplo: resultados de cálculos o consultas a base de datos complejas, información de sesiones de los usuarios, etc.
Memcached se ejecuta en uno o varios equipos que actuará(n) como servidores y de los cuales, entre otros parámetros, se puede ajustar el tamaño de la memoria que queremos que utilice para ello.
Una vez instalados los servidores, las aplicaciones a través de una API podrán guardar elementos en la caché, recuperarlos o borrarlos, todo esto de una forma muy sencilla.
Es clásico leer en la “blogosfera” de que Google reemplazó la imagen dedicada a un evento, conmemoriación, homenaje o celebración de logo. De eso rara vez puedes encontrar algo en este blog, pero hoy es la excepción, pues Google hoy celebra los 25 años de el Tetris, el popular juego que no hay quien no haya jugado.
Hace tiempo, cuando hablaba acerca de Generar javadoc con Eclipse y Netbeans, un comentario desafortunado quer realicé generó bastante polémica. Lo cierto es que tal comentario, lo hago día a día y no dejo de convencerme de lo que digo.
Las imágenes que se publican a continuación confirman mis palabras
Conocida la adquisición de Sun por parte de Oracle son muchos los rumores, comentarios y deducciones que se generaron en toda la comunidad. Lo cierto es que nadie sabe con certeza que será del futuro de MySQL con esta gran adquisición, pero por las dudas ya se abrieron varios paraguas.
Haciendo un poco de historia, el principio de un final podría iniciarce en enero de 2008, cuando MySQL AB, la compañía detrás de MySQL se convierte en subsidiaria de Sun, a su vez última adquirida en abril de 2009 por Oracle.
Michael Widenius, uno de los propietarios de MySQL AB, luego de la primer adquisición mencionada forma Monty Program AB y sigue trabajando en una rama independiente de MySQL (MariaDB).
Michel, se asusta más cuando Oracle adquiere Sun y creo Open Database Alliace con el objetivo de continuar en forma controlada y/o concentrada el desarrollo de MySQL. Con esto, evitar que la popular base de datos termine desapareciendo y diseminada en un sin-numero de forks de la misma.


Lo que leeremos ahora es una solución bastante artesanal para tracear consultas SQL. Cuando leia mis feeds y leí el título de Cómo “tracear” consultas SQL entré inmediatamente debido a que desconocía un método para realizar esta tarea. Lo que suele suceder es que aveces queremos resolver los problemas de una forma prolija y elegante y lo cierto es que la solución puede ser bastante más rudimentaria pero muy ingeniosa.
Muchas veces suele ser tarea común la de consultar en MySQL el slow query log o verificar en tiempo real con un show processlist cual es esa consulta que está volviendo lento al servidor. Conocida la consulta, ¿como se cual es la aplicación que utiliza dicha consulta?. A menos que conozcamos muy bien nuestro sistema, debemos empezar a buscar en nuestros archivos y hacer algunos que otros grep recursivos hasta encontrar con la aplicación culpable de esa consulta lenta.
Hace poco habiamos anunciado PC-BSD 7.1 ¿recuerdas?. Bien… si bien el escritorio por defecto de PS-BSD fue KDE y aparentemente lo seguirá siendo. Sin embargo, ahora, gracias a su sistema de gestión de paquetes PBI se puede disponer de otros entornos gráficos, como XFCE y GNOME.


En concreto ya están disponibles, en pbiDIR, para PC-BSD 7.1 Galileo los PBIs para los escritorios XFCE 4.6.1 y GNOME 2.26.10.
Requisito de un tema laboral fue crear de urgencia unos backups full e incrementales de un repositorio. Como siempre estos requerimientos se requieren para ayer y son para salvar cabezas cuando las papas queman.
Debido al gran volumen de datos, como estrategia de backups se decidió realizar un backup full mensualmente y un backup incremental diario.
A tal fin, se escribieron dos scripts, el primero de ellos, que dado un directorio crea un tar comprimido del mismo. Y el segundo, el que se ejecuta diariamente, que se encarga de verificar la fecha de modificación del último backup full del directorio y a partir de la misma crea un tar comprimido con los cambios desde entonces.
Nada de otro mundo, dos scripts sencillos, pero que se dejan a vuestra disposición por si las moscas.
Linux usa un método para nombrar particiones no tiene en cuenta el tipo de las mismas (a diferencias de otros UNIX) y que las nombra de acuerdo al disco en el que están ubicadas.
Nombramiento de discos:
Nombramiento de particiones: Las particiones se nombran en base al disco en el cual se encuentran.
Todos los días es noticia alguna distribución de Linux ideal para ultraportátiles.
En esta ocasión hablaremos de xPUD, una distribución no pensada para ultraportátiles específicamente, sino ideada con el único propósito de un arranque prácticamente instantáneo.
Para hacer esto, el secreto se encuentra en el uso de Mozilla Gecko Runtime, el motor de ejecución que se integra a Fiferox y el cual nos permite tener un entorno operativo en no más de 10 segundos.