Presentando OrangeCommands

Orange Commands es una colección de comandos para Fireworks CS3 y CS4 que sirven, esencialmente, para hacer más fácil la vida del diseñador web.

Si eres lector habitual de este blog, ya sabrás cual es, en mi opinión, uno de los pilares de la productividad y la innovación.

En la línea habitual de “haz más haciendo menos”, Orange Commands surge de la imperiosa necesidad de perder menos tiempo haciendo cosas aburridas en Fireworks, para poder dedicarlo a menesteres mucho más interesantes.

La segunda motivación para Orange Commands es que me gusta trabajar a pantalla completa sin ninguna paleta abierta. ¿Las razones?:

  • Porque uno es así de raro.
  • Porque la interfaz de Fireworks es tan lenta que cuando ocultas las paletas va mucho más rápido.
  • Porque la interfaz de Fireworks es fea.

Vale, suena bien… ¿qué hace Orange Commands exactamente?

Pues empezó haciendo retículas (y llamándose Reticulator), y a día de hoy (que vamos por la versión 1.3) hace todas estas cosas (y alguna más, abajo tienes la lista completa):

  • Redimensionar objetos con el teclado. El por qué Adobe no ha puesto esto de serie en Fireworks continúa siendo un misterio…

    Si piensas que no necesitas redimensionar objetos con el teclado (que es lo mismo que pensé yo cuando Keko me pidió que le programara estos comandos) es porque todavía no lo has hecho. Si sólo me tuviera que quedar con una cosa de Orange Commands, sería esto…

  • Cambiar la transparencia de objetos con el teclado, que es algo que Photoshop tiene (mas o menos) pero Fireworks no tenía. Otra cosa que piensas que no vas a necesitar hasta que un día te sorprendes no pudiendo vivir sin ella.

  • Cambiar el color de relleno, de línea y de fondo de documento con el teclado, que es algo esencial si no quieres tener abiertas mil paletas (¿he dicho ya que Fireworks funciona mucho más rápido con las paletas ocultas?)

  • Exportar la página actual como un PNG a 24 bits con un sólo atajo de teclado, sin abrir la ventana de previsualización (¿adivinas por qué? porque es lenta de cojones) y sin tener que cambiar opciones en ninguna parte. Con este comando puedes tardar entre 1 y 5 segundos en mandarle a alguien por email un pantallazo de lo que estés haciendo :)

  • Reticulator, nuestro viejo conocido, ahora tiene un atajo de teclado para la retícula más habitual (la 960-16-9).

  • Rodear de guías una selección con el teclado. Selecciona lo-que-sea, dale a key_control.pngPlusShiftPlusW, y tendrás cuatro guías enmarcando tu selección. Esto debo usarlo unas 400 veces al día, y la inspiración (y el atajo de teclado :) vienen directamente de TextMate.

  • Posicionar elementos con el teclado. ¿He dicho que Fireworks es lento?

  • Y más cosillas…

¡Cáspita!, ¡Zapateta!, ¡Repámpanos!… ¡Lo quiero!

Estás de suerte, porque Orange Commands es gratis total. No sólo es Software Por La Patilla™, sino que es código abierto (a modo de homenaje a todas esas almas caritativas que han sembrado el mundo de software libre molón del que nos aprovechamos todos los días y que incluso nos da de comer)

Si eres de esa gente rara que quiere ver el código fuente, lo tienes disponible en http://github.com/bomberstudios/fireworks (por si quieres asegurarte de que los comandos no ejecutan nada raro, ni se beben tu cerveza, ni te levantan a la novia por la espalda sin avisar)

Si eres gente normal, tienes los comandos para descargar, y toda su documentación, en la página de Orange Commands

¡Feliz semana!

GTD con papel

Después de probar Things.app, OmniFocus, The Hit List, Actiontastic, y casi todas las combinaciones posibles de wikis, clientes de mail, blocs de notas y tinglados absurdos de sincronización y gestión, me vuelvo al método que mejor me ha funcionado: el papel.

Aquí, el kit GTD definitivo:

GTD Kit

  • Tarjetas de cartulina, disponibles en varios tamaños. 1 euro el paquete de 100.
  • Clips de papel de Muji. Los más pequeños que encontré. No recuerdo exactamente el precio, pero también rondan el euro.
  • Un boli Pilot C4 de 0.2mm. Mi boli fetiche. En mi opinión, lo más parecido a la perfección para escribir por menos de 3 euros.

Los distintos tamaños de tarjetas me permiten usarlas para varias cosas:

  • las más pequeñas, de 65 x 95 mm, van siempre en un bolsillo o en la mochila.
  • las más grandes, de 100 x 150 mm son perfectas para bocetillos, dibujines, prototipos…
  • las medianas, de 75 x 125 mm, las uso como bloc de notas en mi mesa de trabajo y como mini-atril con un pequeño hack:

Atril

Se acabaron los problemas de baterías, cobertura, sincronización, brillos en la pantalla y peso innecesario.

Y de regalo me llevo un sistema personalizable, ordenable infinitamente por el criterio que quiera, que no necesita updates, y que nunca dejará de funcionar aunque cambie de sistema operativo :)

Ahorrando tiempo con TextMate y Subversion

Como llevo una temporada sin postear, aprovecho unos segundos de tiempo libre para contaros un pequeño truco motivado por el espíritu de la Infinita Vagancia™ y el típico comentario de “molaría que TextMate hiciera…” (en este caso, de David Alonso)

El truco de hoy es la típica chorrada que te molesta 80 veces al día, y cuando la resuelves te das cuenta de lo poco que nos queremos en general (resolverlo no llevó más de 2 minutos)

Escenario: usas Subversion desde línea de comando, pero escribes tus mensajes de commit con TextMate (y si no lo haces, ahora te cuento cómo)

Problema: cuando escribes tu mensaje de commit, tienes que guardar el documento y luego cerrarlo para que se “registre” el mensaje y se haga el commit.

Idea: guardar y cerrar con un atajo de teclado, pero sólo en los mensajes de commit de Subversion.

Usando TextMate como editor de mensajes de commit

Si quieres usar TextMate para editar tus mensajes de commit, la cosa es bastante simple. Tienes que asegurarte de tener instalada la utilidad “mate” (usando el menú “Help » Terminal Usage…”) y añadir esto en tu fichero .bash_profile:

export SVN_EDITOR='mate -w'

Para ello, cuando hayas instalado ‘mate’ puedes abrir una ventana de Terminal.app (que por defecto inicia una sesión en tu carpeta $HOME) y escribir:

mate .bash_profile

Se abrirá el fichero .bash_profile si existe, y si no se creará.

Añade la línea “export …” donde quieras, cierra el fichero y cierra la ventana de Terminal.app (necesitas abrir una nueva para que el fichero .bash_profile se vuelva a leer)

Siguiente paso: el comando de TextMate

Una de las múltiples maravillas de TextMate es el sistema de “scoping”.

De una forma muy simplificada, el “scoping” es una forma de identificar qué tipo de texto estás editando. Mediante un sistema de expresiones regulares, TextMate puede reconocer en qué lenguaje estás programando; Y dentro de ese lenguaje, si estás editando un String, una función, un número…

Afortunadamente, los tipos que mantienen el bundle de Subversion tuvieron la deferencia de identificar cuándo un fichero es un mensaje de commit de Subversion.

El scope para un mensaje de commit es

text.subversion-commit

Otra maravilla de TextMate es que puedes limitar un comando a un scope, de forma que podemos escribir un comando que sólo funcione cuando estamos editando un mensaje de commit.

Para hacer nuestra vida más fácil, vamos a crear un comando que guarde y cierre el documento actual, y asignarlo a la combinación de teclas ⌘ + S (que ya estamos usando para guardar)

Así que abrimos el editor de Bundles con ⌃ + ⌥ + ⌘ + B y creamos un nuevo comando en el bundle de Subversion:

Nuevo Comando de TextMate

Le asignamos un bonito nombre:

Nombrando el Comando

lo rellenamos de contenido:

Comando Save and Commit

y cerramos la ventana del Bundle Editor.

A partir de ahora, cuando escribamos

svn ci nuestro_bello_fichero_modificado

se abrirá una ventana de TextMate con esta pinta:

Ventana de Commit

donde podemos escribir nuestro mensaje de commit, y al pulsar ⌘ + S para guardar, se cerrará automáticamente y empezará nuestro commit :)

Y eso es todo, de momento…

Elogio de la vagancia

Uno de los temas en los que hice mucho hincapié en el taller de ayer fue en las múltiples ventajas de ser extremadamente vago.

Como me parece un tema bastante interesante, quisiera extenderme un poco más en el asunto, que creo que se merece un post para él solo.

¿No es la vagancia una cualidad horrible?

Hombre… depende de cómo lo mires… Para estos casos siempre recurro a la misma cita, de un gran personaje con el que tengo la suerte de trabajar, Sergio Gil:

Para mí hay dos tipos de vagos, el vago bueno y el vago malo. Al vago bueno no le gusta trabajar, y hace cosas increíblemente ingeniosas para no tener que hacerlo.

Es decir… ser vago no implica necesariamente que no hagas bien tu trabajo. De hecho, muchas veces es justo lo contrario. Un buen vago hará su trabajo muy bien a la primera para no tener que repetirlo, y tan rápido como pueda para dedicar su tiempo a otros menesteres más interesantes.

¿Qué es, exactamente, ser “extremadamente vago”?

Es una habilidad que se resume en preguntarse constantemente “¿Podría yo hacer esto con menos esfuerzo?”

La vagancia extrema es el motor del progreso, la ciencia, y las herramientas de automatización de tareas.

Los ordenadores no se inventaron para pasarte 8 horas al día haciendo lo mismo mecánicamente. Se inventaron para pasarte 7 horas pensando cómo hacer tu tarea automáticamente y dejar que el ordenador la haga en 10 minutos. Y por supuesto, invertir los 50 minutos restantes en ver videos chalados en YouTube.

Automatiza, automatiza, automatiza…

Siempre que se habla de las maravillas de la informática moderna, invariablemente surge el tema de la automatización. Las macros de Office, las acciones de Photoshop, los comandos de Fireworks… todos destinados a permitirte trabajar mejor, más rápido… y menos, que es lo importante.

Sin embargo, una de las mayores ventajas de la automatización queda normalmente eclipsada por los cantos de sirena del aumento de la productividad: cuando automatizas, reduces la cantidad de errores.

Si todos los días tengo que hacer una tarea que se compone de 10 pasos, puedo certificar que me equivocaré en uno de ellos el 90% de las veces. Y además no será siempre el mismo.

Sin embargo, si creo un sistema automático que haga las 10 tareas bien y pongo un mínimo de cuidado en hacerlo “idiot-proof” (es decir, que si escribo el comando equivocado no borre todos mis datos) habré reducido enormemente la posibilidad de cagarla en alguno de los pasos.

Si además resulta que la tarea se ejecuta más rápido, accidentalmente he mejorado mi productividad. Pero lo importante es que duermo más tranquilo :)

Siempre se puede hacer mejor

Otro de los pilares del progreso humano es la revelación de que, trabajes como trabajes, seas lo eficaz que seas y automatices lo que automatices, siempre puedes ser aún más vago.

Y si piensas que no, es que eres un flojo :P

Mejora tu productividad con la carpeta “Current”

Inauguro una nueva categoría en el blog, “Productividad”, donde iré compartiendo trucos y técnicas que uso a diario para trabajar menos (y mejor)

Como dijo el gran Sergio Gil:

Para mí hay dos tipos de vagos, el vago bueno y el vago malo. Al vago bueno no le gusta trabajar, y hace cosas increíblemente ingeniosas para no tener que hacerlo

El primer truco es una técnica bastante simple para no tener que acordarte de dónde están los ficheros con los que andas trasteando.

Básicamente, consiste en tener en alguna parte (yo la tengo en el escritorio) una carpeta “Current” (o como quieras llamarla) donde irás copiando accesos directos a lo que tengas entre manos en cada momento.

Yo la tengo en el escritorio porque:

  1. Es más fácil tirar cosas dentro usando Exposé
  2. Es fácil de ver (sólo tengo 4 iconos)
  3. En cualquier otro sitio se me olvida que está y dejo de usarla :)

Mi escritorio actual es una cosa así:

Escritorio minimalista

y como veréis la carpeta “Current” no tiene pérdida :)

Además de en el escritorio, tengo un acceso directo a “Current” en el Sidebar del Finder, con lo que tengo acceso a la carpeta desde todas las aplicaciones a la hora de abrir y guardar ficheros:

TextMate: Open

Por último, para tener siempre la carpeta a un atajo de teclado de distancia, he cambiado una de las preferencias menos utilizadas del Finder: la carpeta por defecto para nuevas ventanas.

Carpeta por defecto para nuevas ventanas

Así, cada vez que pulso ⌘ N en el Finder tengo mi ventana de “Marrones en Curso” lista…

Como veréis, en “Current” tengo sobre todo accesos directos a carpetas. Para crear un acceso directo, basta con arrastrar el elemento mientras pulsamos ⌥ y ⌘. El cursor se convertirá en el símbolo de acceso directo, y ya podemos arrastrar el icono a Current. Otro detalle de agradecer es que podemos cambiar el nombre del acceso directo y seguirá llevándonos al mismo sitio (algo muy útil si todas tus carpetas de código en todos tus proyectos se llaman “Code” :)

Y eso es todo (que no es poco para ser el primer truco :)