Iconizar Evolution

Llevo años usando el Evolution de Gnome y años quejándome de que no se puede iconificar en el trayicon. Hace unas semanas un amigo me enseñó un programa que viene a solucionar este problema. Me entusiasmé mucho con este programa pero hasta que no lo probase durante un buen tiempo, no quería decir nada en el blog. Se llama Alltray y logra iconizar cualquier programa que sea lanzado con esta herramienta. Para instalarlo en Ubuntu/Debian, invocamos a apt:

apt-get install alltray

Una vez instalado es muy fácil de usar. Para el ejemplo de Evolution, desde consola se puede lanzar

alltray "evolution --component=mail"

et voilà

Alltray

Ya sólo hay que situarse con el puntero del ratón encima del icono del sobre y botón derecho e izquierdo para probar sus funciones

Logo, mucho más de lo que parece

Evidentemente, el conocimiento estándar que se le aporta a nuestros hijos en la escuela pública es más que suficiente, pero es inevitable pensar en complementarlo con algún extra que le aporte alguna ventaja en su futura autosufiencia. Hay quien refuerza este aprendizaje con clases de apoyo escolar, de inglés, informática, música o  deportes. Todas estas disciplinas aportan sus propios patrones cognitivos que configuran su personalidad adulta, aunque nada como los tres primeros años de vida. Hace poco, he ido a fijarme en una que quisiera investigar con más detenimiento y aunque es demasiado  pronto para decidir, el tiempo vuela.

Hará un par de años un familiar  me habló de Kumon,  una empresa que “vende” un  método de aprendizaje que así se describe en su web:

“Kumon es una actividad extraescolar diseñada para desarrollar al máximo el potencial de cada niño a través de las matemáticas. Gracias a nuestro programa individualizado nuestros alumnos desarrollan confianza, concentración, responsabilidad y hábito de estudio que los acompañan durante toda la vida.”

Del mensaje me caló que las habilidades adquiridas le acompañarían toda la vida y ese es al fin y al cabo el objetivo, habilidades que le permitan desarrollarse con soltura. Aunque una disciplina matemática es dura, los críos motivados son esponjas, pero no estoy seguro que sea esto lo que busco para Eva. De rebote, he encontrado una alternativa parecida que me convence algo más,  aunque tampoco creo que sea la panacea. Se llama Logo, un lenguaje de programación derivado de LISP (un lenguaje de programación para inteligencia artificial) usado para aprender mediante el juego y la experimentación y que busca ofrecerles las ventajas de ser capaces de desarrollar estrategias basadas en pequeñas metas y objetivos que en su conjunto,  sirvan para resolver problemas complicados  de la vida y les permita desarrollarse con seguridad en cualquier tipo de disciplina, ya sea artística, científica, humanística o empresarial.

Había oído hablar de este lenguaje cuando era niño, pero nunca tuve la oportunidad de usarlo; los ordenadores no estaban al alcance de los mortales y cuando tuve ordenador, no conseguí hacerme con este programa (internet no existía), aunque si he de ser sincero, no estaba demasiado interesado por lo que creía ser un método de iniciación a la programación  para niños y yo, por aquellos entonces, me creía mayor aprendiendo Basic, QuickBasic y TurboPascal. El panorama ha cambiado mucho desde aquel entonces en el que el hecho de tener un ordenador ya era de por sí friki.  No estoy seguro, pero cuando mi hija llegue a secundaria, probablemente deba usar ya ordenadores en clase así que su normalización habrá que aprovechar. Esto no quita, que  otras actividades de habilidad social, deban tener un gran papel en su etapa de formación, de hecho, en ello irá su felicidad.

Lo único malo es que no tengo un plan de ejercicios… un plan de seguimiento o un objetivo concreto,  como ocurre con kumon, aunque lo mismo existen planes, es cuestión de investigar. Por lo pronto, aquí dejo un enlace que parece interesante al respecto. Os iré comentando.

git para usuarios de svn

En el trabajo hemos tenido algunos problemas con el sistema control  de versiones que usamos, svn, en cuanto al mantenimiento de las distintas branch. Un compañero (Karl) ha comentado que usar git, podría ayudarnos  con el mantenimiento de las branches, trunk y los merges entre ellos. En git, cada commit genera en una base de datos un identificador único en forma de hash. Esto ayudaría en cualquier momento a conocer en que branches está disponible un commit concreto y administrar correctamente el código por las distintas ramas del árbol.

Se da la circunstancia que estoy desarrollando un proyecto personal con un amigo, por el gusto de aprender bien python y jquery (y las malas artes del 2.0 famoso). y ya nos hemos visto en la necesidad de disponer de un sistema control de versiones, así que, con el objeto de  probar y conocer mejor git, ambos hemos decidido instalarlo: bah!, pasando de svn.

La primera impresión ha sido bastante buena. La gestión de las branch parece “mágica” (sí he escrito mágica y no magia; algún día explicaré qué es eso de mágica). Sin moverte del mismo path del sistema de archivos, puedes cambiar de branch (git checkout  [branch_name]) y mágicamente si haces un ls, descubres que la estructura de ficheros se ha modificado a la de la branch elegida.

En fin, menos introducciones y más al tajo.

Lo primero es crear el repositorio. En git los repositorios no tienen por qué estar centralizados en un servidor, es más un “cliente” puede actuar de servidor para sí mismo o para otros. Cuando termine la explicación de cómo se usa, os daréis cuenta de esto. En cualquier caso, voy  a seguir el modelo de cliente-servidor, tal como funciona en svn para que quede más claro.

Comencemos. En el servidor (host.dominio.com) crear un usuario devel (por ejemplo):

adduser devel

Loguearse con ese usuario y hacer

mkdir -p git/nombre_proyecto.git
cd git/nombre_proyecto.git
git init --bare

ya está creado el repositorio sin código de nuestro proyecto. Para subir el código, lo vamos hacer desde nuestro sistema cliente (nuestro estación de trabajo). Para ello vamos a usar de capa de transporte, ssh, de tal modo que pase cifrado. Aconsejo subir tu clave pública al servidor para no tener que estar escribiendo user y pass todo el tiempo. Nos vamos al directorio donde tangamos ya nuestro código y le pasamos los siguientes comandos:

cd proyecto
git init
git remote add origin ssh://devel@host.dominio.com/home/devel/git/nombre_proyecto.git
git add .
git commit -m "Apertura del repositorio"

Este commit, no escribe en el servidor, sino que lo hace en local generando su correspondiente entrada hash (el identificador único que identifica la operación) en la bbdd de git.

git push origin master

finalmente, con push, lo empujamos al servidor

Si por lo que sea, queremos obtener una copia del repositorio en otro ordenador o path, podemos optar por traerlo clonado desde el servidor. Esto es algo parecido a un checkout, sólo que se trae toda la base de datos de todo lo sucedido en el repositorio. Es decir, que en un momento dado este clon, podría convertirse en el repositorio raiz.

Clonar un repositorio ya creado:

mkdir proyecto
cd proyecto
git clone ssh://devel@host.dominio.zona/home/devel/git/nombre_proyecto.git

Para crear una branch del proyecto es pasmosamente fácil:

git branch branch_proyecto

Donde branch_proyecto es el nombre de la branch del repositorio

Para ver la branch en la que estás:

git status

Para añadir ficheros al proyecto (svn add, svn commit). Lo primero es asegurarse que la branch en la principal :

git checkout master

y ahora sí a añadir:

git add README
git commit

Y finalmente hay que hacer un push, si quieres que llegue el cambio al repositorio del servidor. De esta forma, otros usuario podrán usar tus cambios:

git push

Para tener actualizado tu  repositorio local con el remoto:

git pull --rebase

Equivale a svn update y el –rebase es para revisar si otro usuario ha hecho antes un push

Más o menos con esto te puedes hacer una idea y manejarte con git. Más información en la página del proyecto oficial.

En cuanto a gestores de tickets para git, se puede usar el clásico Trac con el plugin correspondiente, aunque en realidad me gustaría probar http://www.redmine.org/ un trac para git. Intentaré hablaros pronto de redmine

Saber vivir

Muchas veces creemos que no teníamos elección, aunque dicen, que siempre la hay. Sin embargo la decisión a veces es lo de menos, lo importante es aprender a vivir con las elecciones tomadas en la vida.

Documental de la 2: Código Linux

No me había percatado de un documental que han puesto en Google Video y que hace tiempo echaron por la 2 de TVE, me refiero a “Código Linux”. Espero que no desaparezca por problemas de copyright o cosas así.

En este documental, se habla de cómo nació Linux, la importancia que tuvo internet en ello y las repercusiones sociológicas que promueve a nivel global, casi de manera accidental en una evolución natural de los mercados. Para los de ideas solidarias, podrán encontrar en el movimiento de software libre (en el que está inmerso Linux, como un proyecto más) la transferencia de capital que ha realizado y se realiza desde de los países ricos hacia los pobres. El modelo económico del software libre (dentro del capitalista) se basa en trabajar en equipo y sobre todo compartir, no en tener la voluntad de compartir para ser “buenos” en el más amplio sentido de la palabra, sino en compartir para potencia el lucro (aunque también tiene cabida el altruismo). Es curioso el modelo, pero funciona y beneficia a todos, creando un modelo
de inteligencia colectiva y trabajo colaborativo sin precedente en la historia.

Supongo que os estaréis haciendo la siguiente pregunta “¿y qué tiene que ver la informática con los movimientos sociales?. Cuando veáis el documental lo entenderéis. Si no tenéis ganas de verlo por durar 51 minutos, quizá este anuncio televisivo de un minuto y medio, del gigante informático IBM os abra apetito para ver el documental.

Espero que os guste y os haga pensar.

Esto me pasa por presuponer

Cómo dije en una anterior entrada, dispongo de 64Mb de RAM y 32 de swap para este servidor web, lo que no dije es que es una máquina virtual. En el plan de precios que pago me incluye esa memoria, que para lo que quiero funciona, aunque últimamente me da algunos problemillas. En su momento di por sentado que la memoria swap que “venía de serie” era inalterable ya que esta gente es la que controla el kernel de mi máquina, así que ni probé

Esta era la memoria que tenía

total       used       free     shared    buffers     cached
Mem:         60312      53260       7052          0       2100      25680
-/+ buffers/cache:      25480      34832
Swap:        32760       5956      26804

Desesperado por las tres últimas semanas de caídas de servicios, se me ocurrió probar suerte para añadirle más memoria swap a la máquina virtual, como si de una máquina normal se tratase y el resultado fue inesperado: FUNCIONA!. Le he añadido 105Mb y este es el resultado.

total       used       free     shared    buffers     cached
Mem:         60312      53540       6772          0       2156      25800
-/+ buffers/cache:      25584      34728
Swap:       135152       5956     129196

Lo he hecho del siguiente modo. Crear un archivo de memoria swap.

mkdir /swap
mkswap -c /swap/swap1 102400

y por último “montar” la memoria

sync
swapon /swap/swap1

Y para acabar, se tendrá que añadir a /etc/fstab el swapfile para que cuando reinicie, se mantengan las mejoras de memoria
[cce_bash line_numbers=”false”]
/swap/swap1 swap swap defaults,noatime 0 0
[cce_bash]

La felicidad

Casi todos los psicólogos están deacuerdo, o al menos eso es lo que he sacado en conclusión con varios autores: la felicidad lo dan las relaciones sociales, el dinero sirve para otras cosas. Pon amigos en tu vida.

El hallazgo: itextdotnet

Estaba practicando algunos ejemplos del uso de itextsharp en C# para poder generar informes en pdf, cuando me he topado con una nueva librería que proviene también de la original escrita en java, itext. Esta nueva, que parece no ser demasiado conocida, al menos en las listas de mono-hispano, se llama itext .Net o itextdotnet para los amigos. En esta dirección se encuentra una magnífica documentación del proyecto, al menos en lo que a ejemplos se refiere. Utiliza los mismos ejemplos del proyecto original itext en java, pero escritos en C#, una copia de los mismos en J# de la plataforma .NET o IKVM si se usa Mono (mi caso) y por último en VB.Net (y que supongo que funcionará también en Mono). Lo bueno de esta librería es que puedes utilizar Mono o .Net para escribir el código en Java, C# o VB.net, algo que hará las delicias de muchos. Yo con que esté en C# me conformo.

¿Y por qué tanto jaleo con una librería para generar pdfs?. Los programadores de Mono que queremos hacer aplicaciones multiplataforma tenemos algunas dificultades extras que nos obligan a complicarnos un poco más, unas veces por carencias de software como Crystal Report y otras por minimizar las dependencias de sistemas operativos concretos. Para la generación de informes a partir de XML y que además se puedan imprimir independientemente del gestor de impresoras del sistema operativo concreto en el que corra la aplicación, ayuda bastante la generación de documentos pdf en vez de enviarlos directamente a la impresora. Los documentos pdf, son un formato muy extendido y que cualquier S.O. actual soporta. A modo de introducción de como se pueden leer XML y convertirlos a pdf, aquí enlazo un ejemplo que hace un tiempo comentamos en mono-hispano.

Configuración de monit

Aquí dejo la configuración que he usado para monitorizar con Monit, los servicios Apache, MySql, ssh y el espacio de disco duro

check process apache with pidfile /var/run/apache.pid
start program = "/etc/init.d/apache start"
stop program  = "/etc/init.d/apache stop"
if failed host localhost port 80 protocol http
and request "/index.html" then restart
check device rootfs with path /dev/ubd0
if space usage > 3 GB then alert
check process mysql with pidfile /var/run/mysqld/mysqld.pid
group database
start program = "/etc/init.d/mysql start"
stop  program = "/etc/init.d/mysql stop"
if failed unix /var/run/mysqld/mysqld.sock then restart
if mem > 60 Mb then restart
if 5 restarts within 5 cycles then timeout
check process sshd with pidfile /var/run/sshd.pid
start program  "/etc/init.d/ssh start"
stop program  "/etc/init.d/ssh stop"
if failed port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

Que difícil es con 96Mb!

Sí, aunque parezca increíble este blog y unas 10 páginas más, basados en wikimedia y mambo, varios foros, listas de correo con qmail+vpopmail+qmailscan+bogofilter+clamav+ezmlm y mysql5.0, corren en una máquina con 64Mb y 32 de swap, es decir 96 ridículos Mb. Hace poco mudé mi web de mambo a wordpress y aunque parece más ligero, la realidad es que consume más recursos, hasta el punto que en una semana se me ha caído la web unas 15 veces por falta de memoria, contra un par de veces en varios años. He tenido que afinar todavía un poco más las configuraciones de apache y mysql, además de haber tenido que instalar un centinela de servicios. Monit ha sido el escogido, que por cierto, también me ha costado configurar para tan pocos recursos y aún estoy en ello. Ahora tengo que mejorar la seguridad contra los ataques DoS, que con los recursos que tengo… Menos mal que no tengo servicios profesionales en esta máquina ;-D

Monit Service Manager

De Breezy a Dapper 6.06 LTS: como la seda

Sólo quería dar desde aquí la enahorabuena al equipo de Ubuntu. He actualizado las Ubuntu Breezy que tenía instalado en todos mis sistemas (tanto personales como del trabajo) a la recién y estable 6.06 LTS (Dapper Drake) de una forma absolutamente suave. Creo estar en la certeza de que es la primera vez desde que uso Linux (1998), que el proceso de actualización de una versión estable a otra, ya sea con Debian, RedHat, Suse o Mandrake, se realiza con total suavidad o al menos con muy pocas incidencias, aunque en mi caso no las he tenido.

Además de esta agradable experiencia, creo estar en lo cierto de tener ante mi la primera versión de un escritorio GNU/Linux 100% apta para usuarios sin experiencia. Un aplauso para el equipo de Ubuntu.

El fin del desproporcionado negocio del copyright

Lo que está ocurriendo, no sólo es inevitable, sino que es consecuencia natural de la evolución de la tecnología, la misma evolución que durante los último 60 años ha alimentado de forma desproporcionada a la industria del copyright, que no de los autores. Ahora el peso de la evolución tecnológica y social está cambiando, algo que afecta negativamente al acomodado y todopoderoso mercado de las discográficas, editoriales, cine e industria en general del copyright. Si no fuesen tan poderosos no ocurriría nada, simplemente se extinguiría en silencio, como otras tantas formas de vida, pero vamos a tener que aguantar sus últimos coletazos a golpe de derecho penal, hasta que aplastados por el peso de lo evidente emigren a otras vías de abastecimiento económico o pongan el cartel de cerrado por quiebra en sus puertas.

Siempre ha sido cuestión de crear mercado con la difusión del conocimiento, de algo que no se puede tocar y que solo existe en nuestros cerebros. Cuando apareció la imprenta la difusión del conocimiento pudo amplificarse pero sobre todo se convirtió en un bien con el que comerciar: el conocimiento se transformó en producto. Con la música y el cine ocurrió lo mismo, mientras han podido contener su cultura en los vinilos, CDs y cintas magnéticas todo ha ido bien, porque había algo tangible con lo que comerciar, pero en el momento en que aparece internet y la información se distribuye digitalizada en millones de lugares a la vez, sin “materia que lo contenga” y que pueda ser por tanto inventariada, el valor desaparece y cambia de estado. El resultado es que la industria del copyright cae, los autores ganan dinero actuando en sus conciertos, se abre el acceso a los autores vetados por las discográficas y los recursos económicos que acumulaban unos pocos se distribuye un poco mejor en otras que haceres. Esto de la tecnología no parece tan malo al fin y al cabo ¿no?.

Nacionalismo, religión, cultura de la guerra (EEUU) y terrorismo: 666

Hoy me he dado cuenta que dentro de tres días, el 6 de junio del 2006, coincidirán tres números en nuestro calendario, aunque sobran 2000 ¿no?, que para los de religión cristiana o satánica – ¿esto último es una religión? – tiene un significado especial. He rebuscado un poco por la www por si había algún comando de suicidio colectivo, pero no, no he encontrado ninguna absurda histeria cultural, parece que en general hemos superado la lacra de las profecías del fin del mundo. Lo que si he podido leer es el mensaje de Fátima que hasta ahora no lo conocía y me quedo con esto :

Los buenos y los que propaguen la profecía de la Virgen de Fátima, NO DEBEN TEMER, pero los demás sufrirán las consecuencias de hacer caso omiso de esta advertencia, el terremoto causara la destrucción de gran parte de la tierra, algunas partes se separaran y causará gran desastre!

En mayúsculas queda subrayado que los que extiendan la semilla del negocio mensaje de Fátima, no deberán tener miedo. Y miedo es el argumento que utilizan las religiones para controlar las mentes del pueblo poco cultivado. Matar para llevar el mensaje de Dios y combatir contra los que amenacen la verdad, un mensaje de poder y dominio, un mensaje que transporta su cultura única. Este fue el motivo por el que los católicos exterminaron a los pueblos cátaros en el pasado y el motivo por el que algunos musulmanes alimentan la jihad y el odio contra los infieles en el presente.
Dice Peter Atkins

“la religión discute los temas difíciles con guerras, terror y coerción y construye una red de ideas en conflicto que esconden la ignorancia bajo un manto de palabras grandilocuentes y vacías.”

La definición es para mí 100% acertada, pero este afamado físico, también dice que la religión es una corrupción de la inteligencia, aunque yo no estoy en absoluto deacuerdo. La religión es parte de la naturaleza humana y es un indicativo de la curiosidad del hombre por aprender y conocer como funciona la realidad que percibe.

Recientemente he leído bastante sobre la naturaleza humana, concretamente “La Naturaleza Humana” de Jesús Mosterín un filósofo catalán que discute las cuestiones más intrincadas como el terrorismo, el nacionalismo, la eutanasia o la religión en un brillante, claro y neutral discurso científico-filosófico. Cuando lees sus imnumerables artículos y libros, caes en la cuenta de que el mundo puede ser contemplado desde puntos de vista muy diferentes a los acostrumbrados. Su ideas te sumergen en una excitante atracción por el conocimiento que descubre con asombrosa simplicidad, como si se destaponasen los oídos en el cambio de presión por la altura, problemas tan difíciles de imaginar como la evolución de las especies, por qué los terroristas actúan como lo hacen o lo sencillo que resulta “lavar el cerebro” a un grupo de personas, sociedades o naciones enteras. Y esto último que digo, esta parte de la naturaleza humana, la de dominar y ejercer poder sobre los demás es la que yo calificaría de 666, lejos de un sentido religioso o supersticioso; la única forma de luchar contra esto es mediante el acceso a la cultura, al conocimiento libre que desde aquí siempre reivindico, a la libertad que nos ofrece el conocimiento, al individualismo de ideas que nos libera de los ideales colectivos de las guerras, las pasiones por las banderas y dioses, o del racismo.

Metal by elektro

Ultimamente estoy leyendo mucho sobre Machina Supremacy un grupo de Metal que utiliza el chip SID del mítico Commodore 64, como uno más de sus instrumentos. Hace tiempo que me tropecé con ellos y otros más, mientras escribía un mini artículo en mi antigua web sobre el SID. Lo más interesante que decía lo pego a continuación:
Pero los descubrimientos no se quedaron ahí. Encontré casas comerciales que habían sacado sus instrumentos de sonido en plan profesional. Los que más me sorprendieron fueron los encontrados en sidstation, machinedrum y monomachine. Hay hasta mp3 para escuchar los sonidos que “sintetizan”. El sonido es sencillamente alucinante, consiguiendo unos de los sonido elektros más puros y potentes que he escuchado nunca. Por supuesto yo soy un profano en esta materia y me gustaría que opinaseis los entendidos. También encontré tarjetas PCI para PC con el SID instalado para las delicias de los amantes de este sonido.

La cultura tiene el futuro claro

Mientras leía en el blog de David Bravo como van perdiendo terreno las gestoras del copyright frente al movimiento copyleft y los autores simpatizan cada vez más con la “piratería” embriagados por el poder de internet como herramienta de difusión sin intermediarios, recuperaba de mis recuerdos unas notas que fui plasmando en OpenOffice hace unos “muchos” meses para un proyecto literario que probablemente me llevará años terminar – soy torpe escribiendo, que le voy a hacer. La cosa era esta

Si lo piensas bien, puede que el hecho de que nos prohíban del todo el intercambio de archivos con derechos de autor por las redes p2p hasta tal punto que nadie se atreva ya a participar de este derecho, podría ayudar a impulsar y crear la necesidad de desarrollar a un ritmo mucho más acelerado y por mucha más gente, software libre, libros libres, música libre y nuevas plataformas para distribuir todo esta cultura y conocimiento, incluso proyectos no relacionados con la informática con carácter de libre distribución, supliendo de ese modo la carencia de productos de consumo que no está al alcance del poder adquisitivo de la gran mayoría de la población y que las multinacionales con su publicidad nos hace desear, convirtiéndonos por tanto en esclavos del consumo. O eso o privarnos de la cultura.

« Página anteriorPágina siguiente »
Esta web utiliza cookies puedes ver aquí la política de cookies. Si continuas navegando estás aceptándola