Trabe ya no escribe aquí. Puedes encontrarnos en nuestra publicación en Medium: medium.com/trabe.

4Trabes Historias de una empresa en 100 metros cuadrados

El blog de Trabe Soluciones

El infierno de los valores cableados

| | Comentarios

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).

El código maligno se encuentra en acts_as_sphinx_tasks.rake:

1
2
3
4
5
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:

1
2
3
4
5
6
7
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?

| | Comentarios

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

Seguimos…

| | Comentarios

Sí, seguimos aquí. Quién lo diría viendo la fecha de nuestro último post. Ya ha pasado más de un mes, lo que se antoja excesivo. Así pues, aprovecharé estas líneas para disculparme por la falta de novedades. En adelante, intentaremos publicar más a menudo. Aunque debo decir que la tarea es ardua, ya que un grupo de aventureros como nosotros, que se dedica a la búsqueda de tesoros arqueológicos en parajes exóticos, latigo en mano y sombrero calado, aporreando a los malos y ligándose siempre a la prota, apenas tiene tiempo para otras cosas (vamos, que estamos hasta arriba de trabajo y no damos para mucho más).

Y para que no parezca que lo dicho es de cara a la galería, mañana publico un post de verdad. Hoy no, que ya es tarde.