viernes, 26 de abril de 2013

At the beginning: we were boring physicists - A Science Instrumentation Project

Recently, a Friend (a colleage) and Me are engaging a science intrumentation project as part of our formation as Physicist.


Basically, will make an experimental approach to the building of a Bioreactor system for the culture of microalgae. Our main goal is design a method to measure the microalgae concentration inside the bioreactor without opening it, which avoids the risk of contamine the microalgae culture. We detected this as an unsolved problem (at least locally) and that was highly motivating for us, so bad that we made a blog about it: 
http://bioarduino.blogspot.com/


The interesting part is, that we will be using a Arduino Uno32 chipkit to automate stuff, (measurements basically) and a RaspberryPi to monitor and control all the processes, of course this involves circuit designing and building, also lots of programming, so we will be releasing code and maybe designs (licensed under GPL V3) in order to contribute to the community of free software and hardware.

lunes, 22 de abril de 2013

Poesía - El Perdón de René François Armand Sully Prudhomme

A Poco que tu imagen reaparezca en mi alma,
me doy cuenta que sigues siendo tú la que más quiero.
Tú desolaste la aurora de mi juventud, y sin embargo,
quiero morir sin olvidar tus ojos;

y menos aun tu voz sonora y acariciante,
que penetraba en mi corazón entre todas las voces,
dejando mi pecho estremecido,
como una lira abandonada vibra aún por los dedos que la pulsaron.

Conozco a muchas cuyos labios son bellos,
cuya frente es perfecta, cuyo lenguaje es dulce.
Mis amigos te dirán que he cantado para ellas,
mi madre te dirá que he llorado por ti.

He llorado, pero mis lágrimas son ya menos frecuentes.
Entonces sollozaba, ahora suspiro.
Llegará luego la edad en que los ojos son mas avariciosos y
día llegará en que mi tristeza no sea más que tedio.

Sí, tengo miedo a odiarte cuando llegue a viejo por haber destrozado la flor de mi juventud.
¡Que siempre renazca tu imagen en mí y que yo perdone al alma, recordando tus ojos!

René François Armand Sully Prudhomme



Le Pardon

Pour peu que votre image en mon âme renaisse,
Je sens bien que c'est vous que j'aime encor le mieux.
Vous avez désolé l'aube de ma jeunesse,
Je veux pourtant mourir sans oublier vos yeux,

Ni votre voix surtout, sonore et caressante,
Qui pénétrait mon cœur entre toutes les voix,
Et longtemps ma poitrine en restait frémissante
Comme un luth solitaire encore ému des doigts.

Ah ! j'en connais beaucoup dont les lèvres sont belles,
Dont le front est parfait, dont le langage est doux.
Mes amis vous diront que j'ai chanté pour elles,
Ma mère vous dira que j'ai pleuré pour vous.

J'ai pleuré, mais déjà mes larmes sont plus rares ;
Je sanglotais alors, je soupire aujourd'hui ;
Puis bientôt viendra l'âge où les yeux sont avares,
Et ma tristesse un jour ne sera plus qu'ennui.

Oui, pour avoir brisé la fleur de ma jeunesse,
J'ai peur de vous haïr quand je deviendrai vieux.
Que toujours votre image en mon âme renaisse !
Que je pardonne à l'âme au souvenir des yeux !


René François Armand Sully Prudhomme

domingo, 21 de abril de 2013

Book: Metro 2033 by Dmitry Glukhovsky


Metro 2033 is a novel written by Dmitry Glukhovsky, released (freely) near the year 2002 (On the web).

Non spoiled Summary

The novel is set in the city of Moscow on the year 2033, 20 years after a nuclear world war that devastated  all cities and countries around the world. The nuclear winter, the high levels of radiation, the emerging dangerous species and  the toxic gases on the surface, forced the survivors to get shelter under the soil. On a post-apocalyptic theme, the novel relates the adventures and thoughts of Artyom, the main character who tries to save his home the VDNKh station from a new hazardous species: the Dark Ones. With particular habilites and an lots of luck, Artyom seems to be destined to save the last refuge of humanity from this threat... or thats how it looks like.

Metro 2033 - Map of locations, factions and more

My opinion

I highly recommend this book. If I could summarize this book with one word, that word would be meaning. In a phrase: the search of meaning.
Along each metro tunels, we appreciate the transformations of a man and the way he sees the world, we see his search for a meaning to life in such a rude environment where life itself is a miracle.The autor explores different searches of meaning among sects and cults, sometimes of political nature, sometimes of spiritual nature, exposing many sorts of life style, showing how te people holds to beliefs in a search of hope, hope of a meaning. The meaning of things is a topic that the author addresses very well.

Interesting facts I've learned

  • Moscow's metro has 188 stations along 12 metro lines, with a total lenght of about 313 km.
  • The deepest metro station is about 85 m under the surface, Moscow's metro is one of the deepest metro systems on earth.
  • The Ostankino tower is one of the tallest buildings on earth, having a height of about 540 m.

Favourite quotations

"Who has the courage and perseverance needed to spend his life searching the darkness, will also be the first to recognize the break of day."

At the begining of the book

"At that time, Artyom thought he understood the essence of the human being and the meaning of life: saw the human being as a complex machine for removing food and shit production. A machine that worked without hindrance for most of life, and whose existence no sense whatsoever, and is that 'sense' meant an end. His end was the process itself: eat as much food as he could, process and release stool, all that remained of the smoky pork ribs, mushroom stews and delicious cakes of flour. The men who passed by were transformed, in the eyes of Artyom, faceless machines, which only served to destroy the beautiful and the useful, engendered only fetid mass and useless. Was angry with them, and watched in disgust as they watched him in disgust."
Chapter 10

 "At all times he sounded in final complaint Dron. His despair, his disappointment, his inability to believe the man to be alone in this scary world full of darkness and had spread to Artyom. Oddly enough, it was the cry of the barbarian, helpless pregnant with nostalgia for a divinity ugly and invented what he did begin to understand the cosmic loneliness that fed the beliefs of men."
Chapter 17

Libro: Metro 2033 por Dmitry Glukhovsky

Metro 2033 es una novela escrita por Dmitry Glukhovsky, lanzada (libremente) en el año 2002 en internet.

Resumen No-spoiler

La novela está ambientada en la ciudad de Moscú en el año 2033, 20 años después de una guerra mundial nuclear que devastó las ciudades y países de todo el mundo. El invierno nuclear, los altos niveles de radiación, las especies peligrosas emergentes y los gases tóxicos en la superficie, forzó a los supervivientes a buscar refugio bajo tierra. Con una trama post-apocalíptico, la novela relata las aventuras y pensamientos de Artyom, el protagonista de esta historia, quien intenta salvar su hogar, la estación VDNKh (léase Ve-den-ja), de una nueva especie peligrosos: Los Oscuros (los Negros según el traductor de la versión que leí. pero no suena muy adecuado :S). Con habilidades muy particulares y muchisima suerte, Artyom parece estar destinado a salvar el último refugio de la humanidad de la amenaza... o eso es lo que parece ser.
Metro 2033 - Mapa de estaciones y facciones

Opinión


Yo recomiendo este libro. Si pudiera resumir este libro con una palabra, esa palabra sería sentido. En una frase: la búsqueda de sentido.
A lo largo de cada uno de túneles del metro, apreciamos las transformaciones de un hombre y su forma de ver el mundo, vemos su búsqueda del sentido a la vida en un ambiente tan rudo donde la vida misma es un milagro. El autor explora diferentes búsquedas de significado a través de sectas y cultos, a veces de carácter político, a veces de naturaleza espiritual, exponiendo muchas clases de estilo de vida,  mostrando como las personas se aferran a las creencias con la esperanza de encontrarle un sentido a la vida.
El sentido de las cosas es un tema que el autor aborda muy bien.

Datos interesantes que aprendí

  • El metro de Moscú tiene 188 estaciones distribuidas a lo largo de 12 lineas de metro, recorriendo un total de 313 km.
  • La estación más profunda está a unos 85 metros bajo tierra, lo que convierte al metro de Moscú en uno de los sistemas de metro más profundos
  • La torre Ostankino es una de las estructuras más altas del mundo, contando con una altura de alrededor de 540 m.

Frases favoritas


Al comienzo del libro

"En ese momento, Artyom creyó haber comprendido la esencia del ser humano, así como el sentido de la vida: vio al ser humano como una compleja máquina destinada a la eliminación de alimentos y producción de mierda. Una máquina que funcionaba sin impedimento alguno durante la mayor parte de la vida, y cuya existencia no tenía sentido alguno, y es que por «sentido» se entendía un final. Su final era el propio proceso: consumir tanta comida como le fuera posible, procesarla y expulsar los excrementos, todo lo que quedara de las humeantes costillas de cerdo, los estofados de setas y las deliciosas tortas de harina. Los hombres que pasaban por allí se transformaron, a los ojos de Artyom, en máquinas sin rostro, que sólo servían para la destrucción de lo bello y lo provechoso, que sólo engendraban masa fétida e inútil. Se enfadaba con ellos, y los miraba con asco, igual que ellos lo miraban con asco a él."
Capítulo 10

 "
"
Capítulo 17

viernes, 19 de abril de 2013

Lector de PDF nativo de Google Chrome en Chromium - Caso Debian GNU/Linux

Posiblemente una de la excusas más comunes para usar Google Chrome en lugar de Chromium, es la ausencia de un lector de PDF embebido en el navegador.
La solución que muchas personas indican es instalar una aplicación para leer PDF en Chromium. Puede que funcione para algunos, aún así, me sigue pareciendo una solución poco elegante.
Me he enterado recientemente que es posible mejorar el navegador Chromium añadiendole el mismo lector de PDF de G-Chrome.
Esta solución es muy antigua, pero me tomé la libertad de publicar una entrada en español al respecto.

Manos a la obra

Por alguna razón en los repositorios de Debian (Testing almenos) aparecen los paquetes
chromium  y chromium-browser, aún así el "hack" es bastante sencillo.

Primero se necesita disponer de un paquete de instalación de G-Chrome actual.
El truco consiste en extraer de G-Chrome, la librería que contiene el lector de PDF embebido.
(Para los perezosos, he habilitado un enlace de decarga a mi libpdf.so para la arquitectura de 64 bits de Chromium, no tengo la versión del navegador de la cual tomé la librería, pero es del mes de Marzo(2013). Actualicé el enlace usando la librería G-chrome versión 40.0.2214.94 (Feb 2015). Declaración No me hago responsable del uso indebido de este archivo ni de las consecuencias de su uso.).
Para cualquiera de los casos siguientes, debe tener privilegios de root para modificar los directorios.

chromium instalado 

Solo se requiere colocar la librería mencionada anteriormente en el directorio
 /usr/lib/chromium/
de manera que se vea  /usr/lib/chromium/libpdf.so

chromium-browser instalado

Solo se requiere colocar la librería mencionada anteriormente en el directorio
/usr/lib/chromium-browser/
de manera que se vea /usr/lib/chromium-browser/libpdf.so


Probando el lector

Al reiniciar el navegador, en la barra de direcciones del navegador escribimos
chrome://plugins/
Notaremos de inmediato que aparece un plug-in asociado a la librería, y por defecto, debería estar activado (Si no, lo habilitamos).
El Plug-in se activa al reiniciar el navegador

Al abrir un PDF, deberíamos tener el mismo lector de Google Chrome, solo que usando Chromium.

Vemos que se trata de Chromium

Tiene exactamente las mismas características que para el navegador Google Chrome




Apostilla

Al interior de estos directorios puede existir una carpeta llamada plugins, si desea puede colocar la librería allí, por motivos de organización y estética fundamentalmente

viernes, 12 de abril de 2013

Flash Player plugin problems in Google-Chrome under Debian GNU/Linux

SOME CONTEXT


I'm using Debian GNU/Linux. Some day on the month of February(2013), the flash player plugin suddenly stopped working in the google-chrome web browser. I've noticed the glitch when I used some web pages as groveshark.com and youtube.com, they suggest me the use of HTML5 given the “lack” of a flash player plugin


FACTS


The package flashplugin-nonfree was installed (yeah, i know about Gnash, but i still prefer the non-free version)

No system update were performed, so the problem was not caused by package conflicts.


FINDINGS


Given the facts above, the search begun, i found that Google Chrome uses his own flashplugin version (named flashpepperplugin), independent of the system installed version (flashplugin-nonfree for the Non-free case).
A way to check the plugins, is type chrome://plugins/ in the search/url bar of the browser, then activate the option “Details” (a + on the left-top corner) and allow a version to execute  (system version 11.2 series, and chrome version 11.5 series. at February 2013). a Sensitive path is ~/.config/google-chrome/ the chrome plugin is located at the path PepperFlash

SOLVING THE PROBLEM

I think that the problem was that both flash versions available (system version 11.2 series, and chrome version 11.5 series. at February 2013) so I choose the system version as activated, and deactivated the chrome version. That made flash player plugin work fine.
But, another solution is to use the Chromium browser instead of Google Chrome. That was the solution of my choice, not only solved the problem, I really feel tha Chromium is much faster with an efficient system resources consumption.

To install chromium, just use aptitude as root (su)

# aptitude install chromium
Or by any other package manager, look for chromium.

jueves, 11 de abril de 2013

Unison - una forma de mantener PCs sincronizados


Muchos de nosotros tenemos un PC de escritorio(Desktop) y un equipo portátil (Laptop, o Netbook --como en mi caso--) y siempre tenemos el problema de mantener nuestros dispositivos en sincronía. Piense, por ejemplo, que está trabajando en un proyecto y manipulando copias del mismo en su PC de escritorio y en su equipo portátil. Realizar sincronizaciones manuales puede enredar un poco las cosas, arriesgando información valiosa en el proceso.
Se ha dicho mucho sobre la opción de usar Dropbox, pero no siempre es posible utilizar este servicio para esta tarea (Pues Dropbox solo almacena 2GB en el plan básico gratuito. Es posible incrementar la cuota de espacio, pero hay situaciones donde Dropbox no es una solución inteligente).
Le dediqué algún tiempo a encontrar una buena aplicación que me permitiera sincronizar mis dispositivos y me encontré con Unison, que en palabras de la página oficial:
El logo de Unison

Este programa tiene la ventaja de ser multiplataforma, permitiendo sincronizar entre dos plataformas diferentes (por ejemplo, entre Linux y Windows), como añadidura, se encarga de controlar las versiones de los archivos controlando cuales son más recientes y permitiéndo que el usuario eliga que cambios se deben propagar entre las réplicas.
He probado este programa por cerca de dos meses y puedo decir que funciona de maravilla. Si usted necesita sincronizar dos o más directorios, debería darle una oportunidad.
Dentro de los usos que le he dado al programa, y los que se le pueden dar, están
  • Mantener mi Netbook y el Desktop sincronizados (exactamente con la misma información) en los directorios elegidos
  • Como una herramienta de respaldo de USB Flash, pues tengo un perfil configurado que me sincroniza el contenido de la misma en mi Netbook, así que, si necesito un poco de espacio adicional  puedo eliminar archivos sabiendo que tengo copias del mismo en otro lugar. Un ejemplo de esta necesidad es al montar ISO hibridas de Debian en una memoria USB, así no pierdo información y puedo restaurar la memoria a su estado inicial
  • Se pueden guardar varios perfiles de sincronización, así se pueden usar cuando sea necesario.
  • Puede utilizar SSH para realizar la sincronización, así que basta tener una red LAN o una WLAN en casa para sincronizar dispositivos. La mayor utilidad también se da sincronizando equipos remotos por SSH, pero no lo he probado.
Los manuales y tutoriales en inglés están Aquí.


Guía simplificada para el novato.


Instalando


En los sitemas GNU/Linux, Unison se puede instalar desde consola con permisos de superusuario, usando el comando su, o sudo. Posteriormente utilizamos un gestor de paquetes, en mi caso aptitude (pero apt-get servirá también)
# aptitude install unison-all unison-alll-gtk

Sincronizando PCs por SSH con Unison

La aplicación puede utilizarse mediante la línea de comandos, sin embargo, en aras de la brevedad ilustraré su uso mediante la interfaz de usario (en GTK). Supondremos que tenemos dos computadores que comparten una red local, ambos tienen instalado Debian GNU/Linux y la carpeta que queremos sincronizar está almacenada en un disco con formato NTFS (Una partición de Windows)
Al correr Unison aparece una ventana de selección de perfil, más o menos así:
Selección de perfil - Aparecen dos perfiles porque son los que tengo guardados.
Una vez allí, para crear un perfil se presiona el botón, Añadir al costado derecho de la ventana.


Al presionar añadir aparece este mensaje, presionamos adelante para continuar
Aparece un menú que solicita un Nombre y Descripción del perfil a crear, en este caso le puse Prueba

Acto seguido, aparece un menú que ofrece distintas opciones de sincronización, a saber, Sincronización Local, Sincronización vía SSH, y Sincronización vía RSH, o através de una conexión TCP
Tipo de conexión - Tipos de sincronización disponibles

Al elegir SSH aparecen más opciones:
Tipo de conexión - He seleccionado SSH como el tipo de conexión. 
Para configurar la conexión vía SSH es necesario proporcionar los datos del servidor remoto, y del usuario en el servidor remoto. Esta información se escribe en las casillas correspondientes (Si no entiende de lo que estoy hablando debería mirar este enlace y este tal vez).

Una vez se ha establecido el tipo de conexión, aparece un menú para elegir el directorio Local (el de la máquina en que se está configurando el Unison) y el menú remoto (Remoto porque elegimos sincronizar PC diferentes vía SSH)
Eligiendo directorios a Sincronizar
Para el caso en que la sincronización involucre particiones de windows, Unison ofrece la posibilidad de activar una casilla de verificación. Las razones para ello, es que el sistema de archivos FAT o NTFS no permiten la modificación de permisos como los sistemas de archivos ext2,ext3 o ext4 que son de uso común para las distribuciones de Linux.

Activo esta casilla pues la sincronización involucra particiones con tipo de Archivo FAT o NTFS
 Así ha terminado de configurar su perfil de Unison.


Creación de perfil terminada :D

Sincronizando Directorios - Utilizando el perfil

Atención: Unison debe estar instalado en todas las máquinas que desean sincronizarse, adicionalmente, deben tener la misma versión instalada. De otro modo no será posible sincronizar y le aparecerán mensajes de error.

Para utilizar el perfil creado, solo debe seleccionarlo en la ventana inicial de Unison y presionar el botón Abrir en la parte inferior de la ventana.
Selección de perfil - Aparecen dos perfiles, son los que tengo guardados.
Una vez se seleccionó el perfil y Unison encuentra al servido remoto (el otro PC), solicita la contraseña del usuario en el servidor remoto.
Conectando con el servidor remoto - Solicita contraseña para continuar
Una vez ingresada la contraseña, Unison buscará los cambios en ambas máquinas y sugerirá acciones pendientes. La primera columna de la izquierda, con nombre local indica el estado del directorio local, la segunda, action indica en verde la dirección hacia donde se propagarán los cambios, y la tercera columna indica el estado del directorio remoto (Icaro es el nombre del servidor remoto en este caso).
La columna status mostrará el progreso de cada archivo, finalmente la columna path indica el archivo en cuestión.
Preparando sincronización - Examinando diferencias entre directorios
Vemos que en la columna action en las primeras dos filas tiene direcciones distintas. La primera fila nos indica que se progará de Icaro a local un archivo nuevo (New File). Por su parte, la seguna fila muestra que un archivo nuevo se propagará de local al directorio remoto en el servidor Icaro.
Al iniciar la sincronización, veremos como cambia la columna status según se vaya completando cada acción pendiente.
Propagando cambios - Los PC se están sincronizando
Al finalizar, en la barra de estado (barra inferior) se indicará que la sincronización ha terminado.

Comentarios Finales

  • Según la página oficial de Unison, (específicamente acá en inglés) declaran que el software no tendrá mejoras respecto a sus versiones actuales, sin embargo se trabajará para que el programa siga siendo soportado e incluido en las distribuciones de software futuras (incluyendo los reportes de fallos). La razón para ello es que no disponen de un desarrollador que dedicado a la tarea de mejorar el software.

  • Llevo mucho tiempo preparando el tutorial, y por motivos de tiempo  --y espacio--  no puedo mostrar como se utilizan los demás métodos de sincronización. Espero que con esta "guía simplificada" sea suficiente para satisfacer las necesidades de la vida cotidiana. Si tiene cualquier pregunta, siéntase libre de dejar un comentario (o los que considere necesarios)

viernes, 5 de abril de 2013

La tetera de porcelana de Bertrand Russell

"Because we know that you can't prove to me it's not there..."
(contra-)Campaña Teach the controversy 

"Si yo sugiriera que entre la Tierra y Marte hay una tetera de porcelana que gira alrededor del Sol en una órbita elíptica, nadie podría refutar mi aseveración, siempre que me cuidara de añadir que la tetera es demasiado pequeña como para ser vista aun por los telescopios más potentes. Pero si yo dijera que, puesto que mi aseveración no puede ser refutada, dudar de ella es de una presuntuosidad intolerable por parte de la razón humana, se pensaría con toda razón que estoy diciendo tonterías. Sin embargo, si la existencia de tal tetera se afirmara en libros antiguos, si se enseñara cada domingo como verdad sagrada, si se instalara en la mente de los niños en la escuela, la vacilación para creer en su existencia sería un signo de excentricidad, y quien dudara merecería la atención de un psiquiatra en un tiempo iluminado, o la del inquisidor en tiempos anteriores.1"
Bertrand Russell


Thoughts on Linux distributions and Free software community

Linux and GNU/Linux distributions are becoming very popular these days. Maybe a clue on that are the facts that the company Valve has launched a beta testing version of Steam for linux, and there are rumors of Blizzard games for linux to be launched this year, just to mention some cases.
It's worth to ask, ¿how did Linux OS get to this point of popularity?. The main reason could be a combination of: the effort of open-source communities to spread the word while making things more accesible to inexperienced people, the fact that the internet allows the fast interchange of information, and the improvement or, if you prefer, the more user-friendly Linux distributions available as the Ubuntu distro by Canonical.
The first Linux distro i've used was CentOS as part of a computing course at my carreer's pensum. Unsatisfied, the first distro I successfully installed on my Desktop PC was Knoppix (by Klaus Knopper) a Debian based distro. I was amazed by the idea of using software without paying for it (as a Windows user, i knew very well this issue, and the need to pay for licenses and software use), but then, I gradually became aware of the free philosophy behind the free software, and understood that this was a great way to be followed ( in part at least, given some "by-practical-reasons" exceptions) then migrated to Ubuntu and then Kubuntu(a KDE desktop version of Ubuntu) and so on until I got Debian Testing installed about 3 years ago.
Since then, I use to make jokes about Ubuntu users (like the [1] here), or the emmerging Linux Mint (They have the Debian edition, a Debian testing based version of Linux Mint, but, still don't get the point of make a Debian-edition distro if you actually have The Debian GNU/Linux distrubution working) but just for fun, I really think that few people can say that their dive into Linux world and open-source programs was smooth and easy. That brings me again to the point of the user-friendly systems, may be the best way of getting to people is let them know that Linux systems are not too difficult to use/manage/mantain. I think that some of us must say "thanks" by that. Even stigmatized (of being too difficult) distros as Debian need to be acompanied of documentations, community forums, bug-reports, mail-listings, and the most important: The Debian Wiki (must take a look on that), and many of Debian users (as in my case) own their installed systems to those resources (or "recipes" some cases :P). It's worth to think that all those resources were made by more experienced users that took the time to do them, ¿what if they didn't? if they think that newbies do not deserve such guides?, This questions are directed to those who thinks that, by getting some "basic" Linux skills, feel like hackers or something alike, and treat the newbies as if they weren't one of them before.

Given a hypotetical law of "the software improvement is proportional to available users", I think the call is to make the free software and open-source community grow by helping others learn how to get the best of their machines and distros, and not scare them wanting to feel superior or something, that kind of selfish acts doesn't bring you to any higher level (Actually, helping others does it)

Maybe using linux could demand you some learning curve, but it really worths every minute spent.

If you are new to linux and want to choose a distribution, I really think that one of the best documented is The Debian GNU/Linux distrubution, they have the InstallingDebianOn project, so maybe your laptop (or PC) has is own how-to-install debian page.