viernes, 29 de mayo de 2009

Adios Vista..... Hola ubuntu

Después de muchos años utilizando Windows como S.O. de trabajo, hasta hace un par de años por obligación y despues por la simplicidad de seguir utilizando lo mismo... llegó el momento de migrar a Ubuntu.

Inicialmente, la idea de este post antes de migrar era explicar los problemas que me he encontrara en la migración, que aplicaciones de Windows echaba en falta...

Pero la verdad es que después de una semana ubuntera no me he encontrado prácticamente con ningún problema, la práctica totalidad de las aplicaciones que uso en el día a día (Netbeans, Firefox, Thunderbird, Pidgin, Gimp, Thwirl, Filezilla, OpenOffice, ...) no es que funcionen igual, funcionan mejor y más rápido

Con respecto a la instalación, en Windows habría tardado 2 días en instalarlo todo, yendo de web en web para bajarme las diferentes aplicaciones (ruby, subversion, ...) y reiniciando n mil veces. En cambio en Ubuntu casi todo lo he podido instalar con Synaptic / apt-get y sin reiniciar ni una sóla vez.

Y además Spotify, que no tiene versión para linux, funciona perfectamente con wine :-)

Caso aparte el de los periféricos, la impresora multifuncion Epson DX-8400 no hubo manera de instalarla con los .deb que recomienda Epson y los tuve que compilar para que funcionaran, pero bueno, esto es tema para otro post...

lunes, 11 de mayo de 2009

Euruko 2009

Este fin de semana, junto a otros 250 desarrolladores he estado en la EuRuKo en Barcelona.

Hasta ahora mi relación con Ruby ha sido siempre en desarrollo web y asociado a Rails. Lo que más me ha gustado es ver como Ruby es mucho más que eso. Prácticamente ni se ha nombrado a Rails en toda la conferencia y hemos visto otras interesantes aplicaciones.

Con ruby se pueden hacer juegos con Gosu y Chipmunk como explico Javi en una de las conferencia más aplaudidas, se pueden procesar imágenes, hacer aplicaciones de telefonía con Adhearsion, desarrollos multiplataforma para móviles con Rhodes, hacer música de esa que yo nunca escucharía con Aarchaeopteryx, ....

Además tuvimos la keynote de Matz, una introducción a Cucumber por el padre de la criatura que me ha venido muy bien porque voy a empezar a usarlo en breve, y como broche final una impresionante y metálica introducción a D y a RuDy por Tomasz Stacheviwz , sin olvidarnos de las Lighting Talks.

En resumen, vuelvo con la sensación de que la conferencia ha valido la pena y con las pilas puestas para seguir aprendiendo y hacer las cosas un poco mejor día a día.

jueves, 30 de abril de 2009

Centrar verticalmente una imagen en un div

Aparentemente una cosa tan trivial como esa tiene un poco más de miga de lo que parece, y buscando soluciones se encuentran muchas divagaciones y ejemplos interminables.

La primera idea es usar el atributo vertical-align, pero sólo es válido para alinear la imagen con el texto adjacente. Sin embargo, se puede usar una solución simple basada ese atributo.

Si definimos el line-height del div igual a su altura y le ponemos un espacio en blanco delante de la imagen para que tenga una referencia donde alinearse, ya lo tenemos:

<div style="border: 1px solid #AA0000; text-align: center; line-height: 100px; width: 100px; height: 100px;">
&nbsp;<img style="vertical-align: middle;" src="http://www.blogger.com/logo.gif" />
</div>




Actualizacion 04/05/2009: Fer propone en los comentarios posibles alternativas a mi solución. Gracias!


Actualización 12/06/2009: He probado en Browsershots esta solución y los resultados son que funciona en

- Navegadores basados en Gecko (todas las versiones probadas de Firefox, Seamonkey, ...)
- Navegadores baseados en KHTML/Webkit (todas las versiones probadas de Konqueror, Safari, Chrome, ...)
- Todas las versiones de Opera a partir de la 7.54 incluida la 10 beta
- Internet Explorer 8.0

Y no funciona en:
- Versiones de IE inferiores a la 8.0 (7.0, 6.0, 5.5)
- Avant
- Dillo


Actualización 7/10/2009: En CodeProject dan una solución basada en javascript

Actualización 4/5/2011: 2 años después sigue dando guerra el mismo problema y en los comentarios apuntan un enlace que resuelve un caso particular. Gracias

http://www.jakpsatweb.cz/css/css-vertical-center-solution.html

martes, 31 de marzo de 2009

Memoria en Linux

Últimamente, el aumento de tráfico en una aplicación nos ha llevado a migrar de servidores para poder escalar con más facilidad.

Ayer por la tarde, mirando el estado de los nuevos servidores me encontré con esto en un free

$ free -m
total used free shared buffers cached
Mem: 2048 1996 51 0 599 364
-/+ buffers/cache: 1032 1015
Swap: 0 0 0

Y entré en modo semi-pánico porque tenía menos de un 5% de memoría libre y estos servidores virtualizados no tienen swap... pero investigando un poco y con la ayuda de Jacobo, encontré que la máquina está perfectamente, no estaba interpretando bien los datos.

buffers es la cantidad de memoria usada por el kernel para cachear I/O de disco y cached indica la memoría usada recientemente, pero que actualmente no está en uso y que está cacheada.

Así que la cantidad de memoría disponible en el servidor para aplicaciones es la suma de free + buffers + cached (la cantidad que pone en la columna free en la segunda fila), en el ejemplo 1.015 MBytes, casi el 50% de la RAM total.

Por último un enlace a un HowTo sobre la memoría en Linux, tiene sus añitos, pero es perfectamente válido

viernes, 23 de enero de 2009

Is Everyone Better Than You? Good!

Hace tiempo que tenía ganas de leer algún libro técnico 'filosófico', que hablará más sobre la forma de trabajar y buenas prácticas que sobre programación sin más.

En la Conferencia Rails, Sergio Gil en su charla recomendó un par de libros, y finalmente me he comprado Practices of an Agile Developer. Supongo que tarde o temprano tambien me acabaré leyendo el otro (The Pragmatic Programmer)

No habla de nada revolucionario ni reinventa la rueda, pero te explica todo eso que ya sabes y que no siempre aplicas. Y después de leerlo dan ganas de intentar hacer las cosas un poco mejor, que era mi objetivo al leerlo

El libro tiene una frase que me ha gustado mucho y que he puesto de título en esta entrada

Is Everyone Better Than You? Good!

Ya que me he sentido muy identificado tanto con esa frase como con el parrafo que viene despues en el libro. Viniendo de la tierra de los ciegos donde el tuerto era el rey, cuando empecé a trabajar en ASPgems, una de las cosas que más me gusto fue ese sentimiento de 'soy el más torpe de todos, cuanto por aprender!!!'

Y el día que ya no me pase... pues me tendré que plantear cambiar de trabajo :)