El infierno de los valores cableados
Publicado por el Martes, 29 de Enero de 2008
A veces me pregunto como es posible que hoy en día la gente siga cableando valores en su código.
Último ejemplo que me he encontrado: acts_as_sphinx. Este simpático plugin permite de manera muy sencilla que nuestros modelos active record lancen búsquedas contra un sphinx. Es sencillo, funciona y se adapta muy bien a lo que buscamos para una aplicación que estamos desarrollando y por eso lo usamos. Sin embargo, no es perfecto. Y lo que me “cablea” es que la caguen en algo tan trivial. Digamos que este plugin nos “obliga” a que el fichero de configuración de sphinx sea $RAILS_ROOT/config/sphinx.conf (mala idea porque no se puede usar “de serie” una configuración diferente para producción y desarrollo, aunque esa ya es otra historia).
acts_as_sphinx_tasks.rake:
desc "Start searchd server"
task :start do
if File.exists?('/var/run/searchd.pid')
puts 'Sphinx searchd server is already started.'
... y así varias veces más ...
Ahora el fichero de configuración de ejemplo/documentación de sphinx:
searchd {
...
# a file which will contain seachd process ID
# used for different external automation scripts
# MUST be present
pid_file = @CONFDIR@/log/seachd.pid
...
Me parece muy bien que a los autores del plugin les guste que el fichero de pid esté en /var/run/searchd.pid, pero yo no lo coloco ahí. ¿Era tan difícil, ya que sabes dónde localizar el fichero de configuración, extraer de él el nombre del fichero con el pid? Yo creo que no. Puede hacerse en 5 líneas. Menos incluso. Y menudo cambio.
Y alguién dirá que no pasa nada, que redefina las tareas rake o que modifique el plugin. Y yo diré que bien, que de acuerdo, pero que, como plugin que es, debería ofrecer una funcionalidad mínima y correcta, sin que me obligue a hacer nada a mayores (porque para eso es el código de terceros, para no tener que hacerlo uno mismo). No pretendo cambiar el funcionamiento del plugin. Sólo que haga lo que dice que hace correctamente.
Dejo en la recamara un ejemplo de cableo salvaje de valores en una libreŕia bastante conocida. Un día me animo y cuento la historia. Que no tiene desperdicio.
Haml ¿Haiku?
Publicado por el Lunes, 28 de Enero de 2008
Lo prometido es deuda: un nuevo post. Hoy: Haml. ¿Comparte realmente las características de un buen haiku?, ¿es breve, conciso, evocador, bello, etc?.
Nota: Este post no va a explicar qué hace o cómo se usa Haml. Eso podéis descubrirlo ampliamente en su página web, que debéis visitar para poder seguir leyendo.
Admito que mi experiencia con Haml no es muy amplia. Hasta hace poco sólo había usado ERB y Markaby. Por lo que había leido del tema, Haml se me antojaba similar a Markaby, así que no le di mucha importancia hasta el día en que me tope de bruces con StaticMatic (del que hablaré en otro post… espero). De todos modos, y a pesar de mi corto rodaje me he dado cuenta de que Haml es la típica historia que, o bien odias, o bien amas con locura. Así que tenemos nueva batalla en el mundo Rails: hamelistas contra erebeistas (si nadie ha registrado esas palabras yo lo haré: quiero un euro cada vez que alguién las utilice, jaja..). En Trabe Soluciones, ante estos debates, solemos optar por la tercera vía (la llamada “vía gris”) que se basa en usar las cosas sólo cuando lo consideramos oportuno, sin que medien pasiones u odios.
Lo que nos gusta de Haml
- Conciso. Muy conciso. Escribir poco es bueno
- Genera un HTML bonito (bien indentado, etc)
- SASS, que tiene cosas geniales como la aritmética de colores
Lo que nos disgusta de Haml
- No todos los editores entienden Haml (y ésto es como “La Casera”, si no hay highlighting nos vamos)
- A veces cuesta encontrar el fragmento de markup o de CSS que estamos depurando con herramientas como Firebug.
- Es más lento que ERB
- ¿Por qué demonios no se puede indentar con un tab y hay que usar dos puñeteros espacios? No importa mucho si el editor cambia los tabs por espacios, pero no puedo evitar recordar pesadillas “cobolisticas” de antaño
- Convence tú a un diseñador para que lo aprenda
En resumen. Haml está ahí. Está bien pensado. Es útil. No es perfecto. Pero tendréis que probarlo para saber si se adapta a vuestras necesidades. Haml es, en efecto, como un haiku: algo breve cuya belleza es, a veces, discutible:
Mujer agachada
que orina y hace fundir
la nieve
