Entradas desde June 2009 ↓

Wiki para desarrolladores

Llevo tiempo dándole vueltas a como sería un buen Wiki para el equipo de Flowers In Space y en general para desarrolladores.

Hasta la fecha hemos probado con Dokuwiki, bastante sencillo de usar, pero no nos permite usar el lenguaje de marcado que queramos, al menos a mi me gusta mucho markdown.

También intenté soluciones como git-wiki y sus variantes, pero por una razón u me parece que están incompletas. A decir verdad no he buscado muchas más alternativas :P

Algo sorprendente en mi opinión fue el uso que le dimos a un programita llamado Evernote, en definitiva nos permite crear documentos pequeños o grandes y poderlos localizar de forma rápida entre alguna de sus características.

Nosotros además lo usábamos para escribir directamente notas o redactar documentos que queríamos compartir, lo exportábamos y nos lo pasábamos, el problema es que no podía estar sincronizado con los cambios del resto.

De todo esto saqué algunas conclusiones:

  • Nos gusta editar los documentos en nuestro PC.
  • Necesitamos algo que esté sincronizado.
  • Me gusta trabajar en el lenguaje de marcado que me de la gana.
  • Necesitamos un control de versiones como todo buen wiki.

Bueno y porque no simplemente usamos la idea original del ¿git-wiki? Si no hay una interfaz web que me convezca ¿qué más da? tenemos herramientas que fácilmente nos permiten pasar a html, pdf y otros formatos los documentos (¿TextMate?).

Pues eso, creo que nos bastaría con un repositorio git y mantener ordenadítas las cosas.

Planetoid

Anoche gracias a un Twit de supercoco9 descubrí Planetoid, un planeta como su propio nombre indica creado por Jaime Iniesta.

Además era justo lo que estábamos buscando para Flowers In Space, así que forckeé la versión de AspGems que me molaba bastante para adaptarlo a nuestras necesidades: colores y pasar de erb a haml principalmente.

Ahora solo hace falta que el resto del equipo meta sus datos en el planeta :P

Gitosis, permisos en Git

Ya llevaba dándole vueltas sobre como hacer más simple la administración de permisos a los repositorios Git de la empresa, hasta ahora aguantábamos con formas bastante “manuales” y usuarios distintos para hacer por ejemplo despliegues en servidores que no eran nuestros, pero empezó a ser una de mis principales preocupaciones desde que monté BabelHub (aquí no he hablado de él, es un servicio en pruebas que he montado para manejar traducciones con la API I18n de Rails y que usa git para sincronizar los distintos entornos, ya os daré la tabarra más adelante con esto).

Afortunadamente encontré Gitosis, aunque no conseguí instalarlo a la primera (ni a la segunda), pero creo que el problema era solo de versiones, porque realmente la instalación no tiene mucha chicha.

En fin es un gusto poder administrar los permisos de los repos desde tu editor de texto favorito (TexMate) y sincronizar con un simple push (previo commit :P ).

Esta forma de usar Git para administrar los propios repos me encanta, cosa que me ha dado ideas para otras cosas como BabelHub :P o crear wikis a lo GitWiki (muy chula la idea pero no me termina de convencer ninguno de los forks que he visto como producto final).

Por último, os enlazo una pequeña clase que hice para generar archivos de configuración de Gitosis desde Ruby para si por ejemplos quereis gestionar permisos de Git desde Rails, a ver si la “gemifico”

Usa los helpers!

Es alguna de las cosas que siempre les digo a los nuevos fichajes de Flowers In Space. Y no es por ser pesado, es porque después se agradece, más de los que a simple vista podría parecer.

Un ejemplo, imaginaros que después de varias semanas o meses de desarrollo de una aplicación descubrís que esta no va a estar accesible en la raiz de un dominio, si no en una subcarpeta. Y no solo eso, si no que deberá estar accesible desde distintas direcciones, cosa bastante común en webs por ejemplo de la Junta de Andalucía y supongo que de muchas otras instituciones.

Si usais helpers para todo lo que sean rutas como link_to, image_tag, stylesheet_link_tag y demás en el caso de Rails, solo tendreis que redefinir o crear los métodos apropiados para esto.

Pero no todo es Rails, ultimamente también hemos trabajado con un pequeño framework llamado Nanoc para generar html. En Nanoc no hay tantos helpers como en Rails, pero si un link_to mucho más sencillo. De todos modos y sabiendo lo que me esperaba me curré unas modificaciones para el link_to (solo para que me resultase más cómodo) y alguno que otro más.

Finalmente nos encontramos con el problema que sospechaba me encontraría, las rutas podían variar dependiendo del entorno y los enlaces en este caso tendrían que hacerse relativos.

Si hiciesemos las páginas una a una no habría problemas, pero aquí usamos un generador, por lo que un menú puede estar en un partial y renderizado en páginas bajo uno, dos o N niveles.

Solución: el método que generaba las rutas de todos los enlaces pasaba por una función que calculaba el enlace relativo dependiendo del nivel en el que se encontrase la página que en ese momento se estaba generando.

Helpers para Nanoc en GitHub.

Una tochada que resumo en dos cosas, usa helpers y que Nanoc mola.

Compartir da gustillo sobre todo con vinillo

O eso es lo que intentan hacer los componentes del grupo “Compartir Dóna Gustet” (en castellano, “Compartir da Gustillo”

El grupo sortea 50 botellas de vino solo por descargar su disco desde Jamendo y mandarles un correo con los datos nombre o mote, lugar de residencia y web o blog propios a compartir@vingava.cc)

A ver si hay suerte y brindo por ellos :P

Vía: FacilWare

Sistemas económicos explicados con vacas

Socialismo:
Tú tienes 2 vacas.
El estado te obliga a darle 1 a tu vecino.

Comunismo:
Tú tienes 2 vacas.
El estado te las quita y te da leche.

Fascismo:
Tú tienes 2 vacas.
El estado te las quita y te VENDE la leche.

Nazismo:
Tú tienes 2 vacas.
El estado te las quita y te dispara en la cabeza.

Burocratismo:
Tú tienes 2 vacas.
El estado te pierde una, ordeña la otra y luego tira la leche al suelo.

Capitalismo tradicional:
Tú tienes 2 vacas.
Vendes una y te compras un toro.
Haces más vacas.
Vendes las vacas y ganas dinero.

Capitalismo moderno:
Tú tienes 2 vacas.
Vendes 3 de tus vacas a tu empresa que cotiza en bolsa mediante letras de crédito abiertas por tu cuñado en el banco.
Luego ejecutas un intercambio de participación de deuda con una oferta general asociada con lo que ya tienes las 4 vacas de vuelta, con exención de impuestos por 5 vacas.
La leche que hacen tus 6 vacas es transferida mediante intermediario a una empresa con sede en las Islas Cayman que vuelve a vender los derechos de las 7 vacas a tu compañía.
El informe anual afirma que tu tienes 8 vacas con opción a una más.
Coges tus 9 vacas y las cortas en trocitos. Luego vendes a la gente tus 10 vacas troceadas.
Curiosamente durante todo el proceso nadie parece darse cuenta que, en realidad, tú sólo tienes 2 vacas.

Economía japonesa:
Tú tienes 2 vacas.
Las rediseñas a escala 1:10 y que te produzcan el doble de leche.
Pero no te haces rico.
Luego ruedas todo el proceso en dibujos animados. Los llamas ‘Vakimon’ e incomprensiblemente, te haces millonario.

Economía alemana:
Tú tienes 2 vacas.
Mediante un proceso de reingeniería consigues que vivan 100 años, coman una vez al mes y se ordeñen solas.
Nadie cree que tenga ningún mérito.

Economía rusa:
Tú tienes 2 vacas.
Cuentas y tienes 5 vacas.
Vuelves a contar y te salen 257 vacas
Vuelves a contar y te salen 3 vacas.
Dejas de contar vacas y abres otra botella de vodka.

Economía china:
Tú tienes 2 vacas.
Tienes a 300 tíos ordeñándolas.
Explicas al mundo tu increíble ratio de productividad lechera.
Disparas a un periodista que se dispone a contar la verdad.

Economía iraquí:
Tú no tienes vacas.
Nadie cree que no tengas vacas, te bombardean y te invaden el país.
Tú sigues sin tener vacas.

Economía suiza:
Hay 5.000.000.000 de vacas
Es obvio que tienen dueño pero nadie parece saber quién es.

Economía francesa:
Tú tienes 2 vacas.
Entonces te declaras en huelga, organizas una revuelta violenta y cortas todas las carreteras del país, porque tú lo que quieres son 3 vacas.

Economía neozelandesa:
Tú tienes 2 vacas.
La de la izquierda te parece cada día más atractiva.

Economía española:
Tú tienes 2 vacas, pero no tienes ni idea de donde están.
Pero como ya es viernes, te bajas a desayunar al bar que tienen el Marca.
Si acaso, ya te pondrás a buscarlas el miércoles después del puente de San Aniceto.

Vía: Jasp