Entradas en la categoría “Tips”

Instalar MySQLdb-Python en CentOS para utilizar sobre Django

6 de agosto, 2011 - por | no hay comentarios | Sistemas, Tips

Si desarrollas sobre Django y lo haces tirando de una base de datos sobre MySQL, conectar Python a ésta en un entorno CentOS puede ser más difícil de lo que uno imagina. El paquete que CentOS instala por defecto para el driver de MySQL (“MySQL-python”) no cumple con los requisitos de Django, por antiguo. Así que si intentas hacer la instalación habitual:


yum install MySQL-python

te encontrarás con que cuando vas a levantar tu instancia de Django, ésta dice que no puede conectar a MySQL.

La solución más efectiva es tirar de “easy_install”:


easy_install mysql-python

Como lo que vas a ejecutar es una compilación de las fuentes del driver, tienes que tener instalados “gcc” y “python-devel”. De lo contrario, verás que aparecen errores de compilación. Para instalar éstos:


yum install gcc


yum install python-devel

Vim 7.3: Cómo marcar líneas demasiado largas

21 de julio, 2011 - por | no hay comentarios | Desarrollo, Tips

Si desarrollas con un ancho fijo (en mi caso, a 80) seguro que agradeces la opción “colorcolumn” que Vim introdujo en su release 7.3. Te permite establecer una línea vertical al ancho y colores que tú definas. De este modo, tienes siempre una referencia muy clara para organizar el código.

Si recibes legacy code sin un ancho definido, te ayudará mucho a darle estilo; y por supuesto si no estás utilizando la opción “textwidth” para automáticamente cortar el ancho de las líneas, con la marca visual te resultará mucho más fácil saber dónde tienes que cortar.

En mi caso, lo tengo en mi .vimrc así:


set colorcolumn=80
hi colorcolumn ctermbg=lightgrey

Lo que me da una cosa como la siguiente:

ejemplo de la opción colorcolumn de Vim

Para saber más, échale un vistazto a “:help colorcolumn”.

Para cuando quieres leer cómodamente: Readability sobre Firefox

27 de enero, 2011 - por | no hay comentarios | Tips

Si te pasa como a mí, que a lo largo del día acabas leyendo muchos contenidos sobre un navegador, contenidos de distinta naturaleza, con distintas disposiciones, tipos de letra, tamaño, etc., seguro que agradeces tener a mano Readability.

Lo configuras en un par de clicks y lo activas cuando te apetece leer un contenido de un determinado modo. En mi caso, casi siempre acabo tirando de la combinación: Newspaper + Large + Extra Narrow, y en ocasiones incluso convierto los enlaces en notas a pie de página. :)

Readability – Installation Video for Firefox, Safari & Chrome from Arc90 on Vimeo.

Desarrollo de PHP con Vim: configuración y plugins

27 de enero, 2011 - por | 6 comentarios | Desarrollo, Linux, Tips

Última actualización: 24 de enero de 2012

Voy incorporando las sugerencias y tips que encuentro más interesantes. Así que si echas algo en falta, no dejes de comentarlo.

El tema de los editores/IDEs para trabajar con código sigue siendo algo que levanta discusiones en muchos ambientes de desarrolladores. Hay bastantes ideas preestablecidas al respecto, y nunca dejará de sorprenderme la cantidad de gente que no tiene un gusto formado al respecto, y se contentan con repetir prejuicios manoseados. :(

Mi gusto se apoya en las siguientes cosas (en este orden):

  • no quiero esperar para poder tirar código
  • no quiero utilizar algo que sea exigente con la máquina
  • quiero utilizar casi exclusivamente el teclado
  • quiero poder utilizarlo en distintos entornos y máquinas
  • mi medio natural es la consola de linux

Durante mucho tiempo estuve utilizando Emacs y Vim indistintamente para diferentes cosas. Según he ido desarrollando cada vez más en PHP, me he decantado del lado de Vim, porque he encontrado más cosas listas para utilizar y una comunidad mucho más viva que en Emacs. Las siguientes son las cosas que hasta el momento he encontrado realmente útiles cuando tiro código en PHP sobre Vim:

Mapeo para correr el fichero que estoy editando a través del intérprete de PHP

Para ésto en el fichero .vimrc tengo lo siguiente:


    :autocmd FileType php noremap  :w!:!/usr/bin/php %

Mapeo para parsear la sintaxis del fichero que estoy editando a través del intérprete de PHP en modo lint

En el fichero .vimrc:


    autocmd FileType php noremap  :!/usr/bin/php -l %

Autocompletar para sintaxis PHP

En el fichero .vimrc:


    autocmd FileType php set omnifunc=phpcomplete#CompletePHP

ManPageView plugin para consultar documentación de PHP en Vim

Un plugin que siempre he encontrado muy útil; te abre un nuevo buffer con la información de lo que hayas consultado. Igual te vale para PHP que para Perl y Python, y su uso es bien sencillo. Por ejemplo, imagina que quieres consultar la documentación para la función explode:


    :Man explode

Sólo tienes que descargarte el plugin, colocarlo en tu directorio de plugins de vim, y tener instalado links (que sueles tener disponible en cualquier repositorio de una distribución de Linux).

FindFile plugin para encontrar nombres de ficheros

Te permite abrir rápidamente un fichero tecleando su nombre. Lo autocompleta y te sugiere las coincidencias. Sólo tienes que descargarte el plugin, colocarlo en tu directorio de plugins de vim, y empezar a trabajar. Lo más cómodo es situarte en el path donde se encuentre tu código y cachear el sistema de ficheros desde ahí para abajo de forma recursiva:


    :FindFileCache .

A partir de ahí puedes invocar el principal comando:


    :FindFile

y empezar a teclear el nombre del fichero. Un nuevo buffer te ofrecerá las coincidencias. Como siempre en vim, puedes organizarte la disposición de los buffers con split y temas similares.

un buen fichero de configuración con indentación, wrap de líneas, mapeos, etc.

Cosas que yo siempre tengo en mi .vimrc:


    " vim as vim
    set nocompatible
    " always syntax on, for an easier life :)
    syntax on
    " load filetype plugins/indent settings
    filetype plugin indent on
    " status line always visible
    set laststatus=2
    " show current position along the bottom
    set ruler
    " highlights things found with the search
    set hlsearch
    " 8 is the magic number, sorry for pythonists :)
    set tabstop=8
    " shows what you are typing as command
    set showcmd
    " incremental search
    set incsearch
    " path for :find
    set path=$PWD/**
    " watch for file changes
    set autoread
    " navigation tabs
    :nmap  :tabnew
    :nmap  :tabclose

Cuando trabajo con Python también lo hago con Vim, aunque Emacs para Python está en una situación bastante mejor que para PHP. Así que en otro post comentaré cómo suelo trabajar con Python sobre Vim.

Actualización del 25 de agosto de 2011: sintaxis correcta para el plugin ManPageView

En los comentarios José Ignacio me recordó que la sintaxis correcta para utilizar el plugin ManPageView es la siguiente.


:Man explode.php

Es decir, añadiendo la extensión del lenguaje para el que realizas la búsqueda. Aunque la sintaxis corta que yo utilizo, también funciona, la oficial te permite buscar un mismo nombre de función en distintos lenguajes.

Actualización del 24 de enero de 2012: utilizando el manual de PHP como páginas man de UNIX

Una forma más cómoda de acceder a las funciones y métodos de PHP consiste en utilizar el manual de PHP como páginas man de UNIX. Ésto lo tenemos gracias al equipo de documentación de PHP. Mil gracias. :).

Para instalarlas lo más cómodo es:


$ pear install doc.php.net/pman

Después seteas en tu .vimrc la configuración:


set keywordprg=pman

Con ponerte sobre una función y pulsar ‘K’ tendrás la documentación correspondiente.

Encontré la info por el blog de bjori. Gracias. :)

Efecto bokeh para home y landing pages

10 de marzo, 2010 - por | no hay comentarios | Diseño, Tips

Poco a poco el efecto bokeh se ha ido convirtiendo en uno de los recursos más frecuentes para conseguir gráficos atractivos. Con frecuencia, se utiliza sobre imágenes de fondo posicionadas en la cabecera o en el body de las home y de las landing pages, es decir, de aquellos espacios que esperan no sólo el mayor número de visitas sino también rebajar el porcentaje de rebotes.

Con ocasión de un proyecto reciente que hemos estado preparando para la gente de noalamonotonia.com, hemos tenido la oportunidad de probar distintas técnicas sobre distintas suites gráficas para conseguir ese efecto. Hemos visto también que la comunidad ha generado un montón de buenos tutoriales, ejemplos y patrones de texturas listos para usar. Así que hemos seleccionado varios de los recursos que más nos han gustado. A ver qué te parecen.

Plugins para GIMP

20 de febrero, 2010 - por | no hay comentarios | Diseño, Tips

En Grosshat utilizamos GIMP para las tareas habituales de manejo de gráficos. En proyectos con clientes muchas veces se nos cae, bien porque no es el programa habitual en esos otros entornos, bien porque no incorpora las capacidades vectoriales que otros programas combinan con las netamente gráficas. En este sentido, Fireworks de Adobe sigue siendo una especie de navaja suiza realmente productiva.

Bueno, el caso es que si como nosotros eres de los que tiran de GIMP de forma habitual, manejar plugins se convierte con el tiempo en algo inevitable; de hecho, el programa está pensado como un core alrededor del cual la comunidad genera utilidades en forma de plugin. Así que profundiza, una vez más, en la exitosa forma de funcionar de la tradición open source: módulos sencillos que se interconectan fácilmente a partir de una base común.

Algunos plugins que seguro te van a ayudar un montón:

  • Image subdivide te permite dividir un gráfico en n filas y n columnas, y salvar cada celda de la matriz
  • Liquid Rescale trae a GIMP el escalado típico de Photoshop que posibilita redimensionar un gráfico de forma no uniforme pero sin distorsión
  • Save for Web es imprescindible si quieres manejar unos pesos razonables en gráficos para la web
  • Pencil drawing from Photo te proporciona un hermoso efecto de lápiz sobre un gráfico, muy bueno para diseño de sitios livianos y muy lineales
  • Layer Effects te suministra operaciones típicas de shadow, glow, bevel, overlay, etc.
  • Quick sketch ofrece un precioso efecto de esbozo sobre el gráfico que le proporciones; combina muy bien con el de Pencil que comentábamos más arriba

La instalación de algún script puede en ocasiones resultar un poco pesada, pero en general es algo sencillo y rápido. Y con la ventaja de cuentas con el código fuente y puedes modificar cosas triviales o profundas a tu gusto.

Más allá de estos plugins que destacamos aquí, apúntate como sitio de referencia el GIMP Plugin Registry.