martes, 26 de julio de 2011

Thumbnails de vídeo en ubuntu

Cada vez que reinstalo Ubuntu (ahora mismo estoy con Ubuntu 10.10), siempre me encuentro con el mismo problema: los thumbnails de los vídeos de algunos formatos (avi, flv, etc) no aparecen. Y como mi memoria es pequeña y frágil, siempre tengo que buscar en google cómo se resolvía esto.

Bien, pues para no tener que buscar más, esto es lo que hay que hacer:


Luego, hay que borrar el contenido de la carpeta ~/.thumbnails
No guardes nunca en la cabeza aquello que te quepa en un bolsillo. -- Albert Einstein

martes, 26 de octubre de 2010

Ruby 1.8.6 y date (ArgumentError)

Intentando instalar en mi máquina local un entorno de desarrollo con ruby ree-1.8.6 (con rvm), he tenido problemas con la clase Date.

Al intentar hacer algo como:

Date.new(1900, 2, 28)


me saltaba una excepción ArgumentError.

Bien, pues la solución es instalar dicha versión de ruby con los siguientes flags:

CFLAGS='-g -DRUBY_EXPORT -D_GNU_SOURCE=1' rvm install ree-1.8.6


¡Gracias a mi compañero Álex por la solución!

El secreto de la felicidad es tener gustos sencillos y una mente compleja, el problema es que a menudo la mente es sencilla y los gustos son complejos. -- Fernando Savater

miércoles, 20 de octubre de 2010

Listas horizontales en IE7

Otra vez tengo que pegarme con HTML y CSS. Es una cosa que no me disgusta, pero que sería mucho más fácil si todos los navegadores implementeran el estándar... pero eso sería demasiado bonito.

El problema que me ha surgido hoy es el siguiente:

Necesito diseñar una barra de iniciales. Esta barra es un elemento ul, que contiene una serie de elementos li, que a su vez contienen un enlace. Esta barra tiene que ser horizontal.

Mi HTML es éste:

<ul id="az-index-bar">
  <li>
    <a>...</a>
  </li>

  ...
</ul>


Y la primera aproximación que hice con CSS fue ésta:

ul#az-index-bar li{
  width:30px;
  display:inline-block;
}

ul#az-index-bar li a{
  display: inline-block;
  width:100%;
}


En Firefox, Opera y Chrome se veía bien, pero nuestro bendito Internet Explorer decidía que esto se tenía que ver en vertical. Así pues, investigando llegué a esta solución:

ul#az-index-bar li{
  display:inline;
}

ul#az-index-bar li a{
  display: inline-block;
  width:30px;
}



Los cambios eran muy básicos: cambiar el display del elemento li a inline, y darle el ancho al elemento a, en lugar de hacerlo al li.


Si yo pinto a mi perro exactamente como es, naturalmente tendré dos perros, pero no una obra de arte. -- Johann Wolfgang Goethe

miércoles, 18 de agosto de 2010

Los cumpleaños de tus contactos en tu Android

Después de tiempo intentando averiguar cómo podía integrar los cumpleaños de mis contactos en mi calendario de google (y así tenerlos disponibles en mi teléfono Android), por fin he dado con ello. Y es muy sencillo.

Lo único que hay que hacer es acceder a tu calendar de google y acceder a:

Configuración > Configuración de calendar > Calendarios > Explorar calendarios interesantes > Más > Eventos y cumpleaños de contactos

Recomiendo echarle un vistazo a todos los calendarios que nos ofrece google, porque hay más de uno muy interesante.

Una vez nos hayamos suscrito, ya lo tendremos en el calendario de nuestro móvil Android en cuanto lo sincronicemos.

Fácil, ¿verdad?

Pues no me queda más que agradecerle a Francisco Santos y Javier Ramírez sus indicaciones para hacer esto :-D

Aunque ellos sean cien y yo sólo uno, no significa que tengan razón. -- Albert Einstein

miércoles, 11 de agosto de 2010

Cellpadding y cellspacing en CSS

Como casi todos los días, hoy me está tocando quitar estilos inline de una maqueta en HTML y pasarlos a una hoja de estilos. Manías que tiene uno, ya veis... Y hoy, otra vez más, me he encontrado un elemento table con unos maravillosos atributos cellpadding y cellspacing, que no son propiedades de CSS. ¿Y cómo se soluciona esto? Pues aquí va la receta que he utilizado, y que me he permitido el lujo de copiar de este post y de este otro.

Cellspacing

Utiliza la propiedad CSS border-spacing

table{
   border-spacing:10px;
}


Cellpadding

Aplica la propiedad padding al td de la tabla en cuestión

table td{
  padding:10px;
}


Fácil, ¿verdad? Pues una excusa menos para utilizar atributos de estilos en vuestro código HTML.
Si el gobernante se impone por sus cualidades y mantiene el orden en armonía con las buenas costumbres, el pueblo sentirá vergüenza de actuar mal y avanzará por el camino de la virtud. -- Confucio

lunes, 9 de agosto de 2010

each_slice en ruby 1.8.6

Hoy me he encontrado con un problema al desplegar en producción con ruby 1.8.6. La aplicación cascaba porque no encontraba el método each_slice para la clase Array.

Esto en ruby 1.8.7 no da problemas, pero para que funcione en 1.8.6 hay que hacer un

require 'enumerator'

Gracias a este post, que me ha ilustrado antes de liarme a hacer cualquier burrada propia de un lunes de agosto.

Hacer preguntas es prueba de que se piensa. -- Rabindranath Tagore

lunes, 5 de julio de 2010

Instalar rvm

Estoy cambiando de equipo y, como siempre, me vuelve a tocar instalar cosas que ya había instalado anteriormente y no me acuerdo de cómo lo hice. Así que, para la próxima vez, aquí van los pasos necesarios para instalar rvm.

bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )


Puede ser que se muestre el siguiente mensaje tras la instalación:


WARNING:  you have a 'return' statement in your .bashrc, likely this will cause untold havoc.
   This means that if you see '[ -z $PS1 ] && return' then you must change this line to:
   if [[ -n $PS1 ]] ; then
     ... original content that was below the && return line ...
   fi # <= be sure to close the if.
   #EOF .bashrc
Even if you use zsh you should still adjust the .bashrc as above.
If you have any questions about this please visit #rvm on irc.freenode.net.

Installation of RVM to ~/.rvm/ is complete.


Así que se debería cambiar la línea

[ -z $PS1 ] && return



por


if [[ -n $PS1 ]] ; then


y hay que cerrar esta sentencia al final

fi



Añadir al final del .bashrc o .bashprofile la siguiente línea:

[[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvm



En una nueva terminal, para que los cambios se apliquen, escribir:

type rvm | head -n1



Y se debería mostrar


rvm is a function


Con esto ya debería estar instalado rvm, y sólo quedaría instalar la versión de ruby que queramos

rvm install 1.8.7


Para seleccionar una versión de ruby con rvm

rvm 1.8.7


Para seleccionar una versión de ruby con rvm por defecto

rvm --default 1.8.7



"He notado últimamente que el miedo paranoico hacia ordenadores inteligentes tomando el control del mundo ha desaparecido totalmente. Todo lo que puedo contar es que este hecho coincide con la aparición de MS-DOS". -- Larry DeLuca