Sofa Naranja ahora, con un 125% más de naranja

Posts con la etiqueta “Mac

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…


Publicado
13 July 2007 @ 11am

Categorías
Mac, Trucos

Arreglando las teclas Inicio y Fin en Mac

Si eres un usuario de Mac que viene del mundo Windows (o Linux) te habrás dado cuenta de que el comportamiento de las teclas “Inicio” y “Fin” en Mac no tiene nada que ver con otros sistemas operativos.

Lo mismo sucede con las teclas “Avanzar Página” y “Retroceder Página”, que en Mac avanzan y retroceden, pero no mueven el cursor de sitio…

Si quieres que la tecla “Inicio” vaya al principio de la línea, la tecla “Fin” vaya al final, y las teclas de Avanzar y Retroceder página funcionen de una forma racional, sólo tienes que crear un ficherito de texto con este contenido:

{
  "\UF729"  = "moveToBeginningOfLine:";
  "$\UF729" = "moveToBeginningOfLineAndModifySelection:";
  "\UF72B"  = "moveToEndOfLine:";
  "$\UF72B" = "moveToEndOfLineAndModifySelection:";
  "\UF72C"  = "pageUp:";
  "\UF72D"  = "pageDown:";
}

y guardarlo en ~/Library/KeyBindings/DefaultKeyBinding.dict (creando la carpeta si no existe todavía)

Poseso! :)


Publicado
15 June 2007 @ 8am

Categorías
Mac, Productividad

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


Publicado
22 January 2007 @ 3pm

Categorías
Mac, Software, Trucos, Web

Capturando webs con Paparazzi, the lazy way

Si trabajas pintando webs, o tienes que enviar pantallazos de páginas, o guardas un archivo de sitios, o si tu trabajo tiene remotamente que ver con internet y con imágenes, Paparazzi es una herramienta que no debe faltar en tu arsenal.

Si además eres un vago redomado y ni siquiera Quicksilver es suficientemente cómodo para tí, aquí tienes un regalito: un bookmarklet que capturará en Paparazzi la URL que estés visitando en ese momento.

Shot this! (el enlace tiene Javascript, así que no lo verás en Bloglines. Gracias a Belingo por el tip :)

Arrastra el link a tu barra de favoritos, y tendrás tus capturas de pantalla a un sólo click de ratón (o, si tu nivel de vagancia alcanza las más altas cotas, pulsando ⌘ + numerodefavorito):

Safari Bookmark Shortcuts

El bookmarklet está probado en Safari, Camino y Firefox (en los dos últimos tendrás que marcar un checkbox de seguridad la primera vez que lo ejecutes)

¡A capturar!

Technorati tags:

GTD con Quicksilver, Mail.app y Actiontastic (Primera Parte)

Nota: en este post presupongo que ya sabes qué es GTD y Quicksilver, y que tienes cierta curiosidad por mejorar tu flujo de trabajo y la gestión de tu tiempo.

Si lo de GTD te suena a siglas de un partido político, te recomiendo que te des un paseo por estos enlaces:

En castellano no he encontrado nada en Google, a pesar de que el libro lleva unos meses publicado en nuestro idioma. Si alguien conoce algún recurso interesante sobre GTD en castellano, que avise en los comentarios.

Empezamos

Este post no pretende ser un curso completo de GTD. Es, simplemente, una recolección de técnicas que uso a diario para gestionar el trabajo.

Vaya por delante que es más GTD en la filosofía que en la práctica. GTD es una técnica que requiere disciplina, y eso es algo de lo que siempre he carecido :)

En primer lugar, voy a exponer sobre qué 3 bases se apoya mi flujo de trabajo:

Flow State

o la capacidad para “desconectar” del entorno y concentrarte exclusivamente en la tarea que tienes entre manos. También conocido como “la zona”. Si no sabes de qué estoy hablando y trabajas con ordenadores, te debes a ti mismo leer este artículo e investigar sobre el tema.

Inbox 0

o “0 mensajes en la bandeja de entrada”. Un poco más adelante contaré por qué es importante y cómo se consigue.

Memoria 0

que es una medida simple para reducir el stress: deja de mantener en la cabeza listas de cosas. Hay mil herramientas para esto, y una de ellas es perfecta para ti.

Mis herramientas

Como ya digo, hay cientos de herramientas para gestionar tu flujo de trabajo. Basecamp, Backpack, Remember The Milk, Palms, Smartphones, agendas, Moleskines, servilletas, pizarras…

Cada persona es un mundo, y se sentirá mejor usando una u otra según su personalidad o el contexto de trabajo. Por ejemplo, Basecamp es una muy buena herramienta en el trabajo, pero para casa prefiero Backpack. Un buen lugar donde mantenerse informado sobre estas herramientas es el blog de Merlin Mann: 43 folders.

Personalmente, mi arsenal para GTD consiste en:

  • una agenda de papel, con anillas. Después de usar varias PDAs, teléfonos, wikis, Outlook… siempre acabo confiando en algo que casi nunca falla: el papel.
  • Mail.app, el cliente de correo de Apple. Para gestionar el correo Como Dios Manda™ tienes que usar una cuenta IMAP. Se puede decir más alto, pero no más claro :)
  • Quicksilver, el programa definitivo que vale para (casi) todo.
  • MailActOn, un plugin para Mail.app que vale su peso en oro.
  • Actiontastic, un descubrimiento reciente que me ha conquistado (y que es en realidad el culpable de que esté escribiendo este post)

Inbox 0

El concepto de “Inbox 0″ lo acuñó Merlin Mann, y en 43 folders tienen una sección especial dedicada al asunto.

La bandeja de entrada de nuestro cliente de correo es la puerta por donde entra hoy por hoy la mayoría de nuestro trabajo, en forma de citas, tareas, recordatorios o los malditos “coñacitos de reenviar”.

Si miras tu bandeja de entrada y tienes 450 mails, 37 de ellos sin responder y 15 marcados como “Urgente” puedes pensar que tienes un problema de saturación, pero lo más probable es que simplemente te falte sólo un poco de organización.

Merlin Mann publicó un truco infalible para vaciar tu bandeja de entrada: mueve todos los mensajes a otra carpeta.

Sí, yo también me reí mucho cuando lo leí por primera vez.

Y luego lo probé.

Y entonces dejé de reirme.

Adelante. Crea una carpeta “@archivo” (la arroba es para que salga la primera en la lista de carpetas) y arrastra todos los correos de la bandeja de entrada.

Vaciando la bandeja de entrada

Si no te atreves (como me pasó a mí la primera vez que lo intenté :) deja sólo los correos de la última semana. O el último mes. O del tiempo que necesites para sentirte a salvo. Pero mentalízate de que el objetivo final es este:

Inbox Zero

Para archivar los mensajes que vayan llegando a partir de ahora, vamos a usar una convención de GTD: los contextos.

Un contexto es un “sitio” en el que se realiza una tarea. Aquí “sitio” puede ser un lugar físico, un programa, un estado mental…

Mis contextos en Mail.app son:

  • @archive, donde se guarda todo una vez que se ha procesado (siguiendo la “regla de los 2 minutos” de David Allen)
  • @do, donde guardo los mails que contienen tareas que tardaré más de 2 minutos en realizar.
  • @later, donde guardo mails con información interesante para revisar y que no tengo tiempo de mirar ahora mismo. Aquí sólo guardo mails que tienen o podrían tener algo que ver con proyectos que estén activos. Si no, su sitio es @archivo.
  • @reply, donde guardo los mails que voy a tardar más de 2 minutos en responder.

Para archivar los mensajes uso MailActOn, un plugin de Mail.app que te permite asignar atajos de teclado a reglas de filtrado de correo:

Reglas de MailActOn

Si me llega un mail que quiero archivar, simplemente pulso CTRL + A y desaparece de la bandeja de entrada. CTRL + D lo mueve a @do, CTRL + S (de “Save”) lo mueve a @later y CTRL + R lo mueve a @reply. Todas las teclas están bastante cerca, con lo que normalmente no suelo perder más de 2 segundos en sacar un mensaje de la bandeja de entrada (salvo que lo vaya a responder en menos de 2 minutos, entonces se queda en la bandeja hasta que envíe la respuesta)

O sea, esto:

Workflow GTD simplificado

Contextos

De momento la cosa parece complicada, pero en realidad una vez que te haces con el sistema de archivo de mails se convierte en algo natural y lo harás sin pensar (que es la idea de todo el sistema, en realidad)

Pero salvo que te paguen por archivar emails, todavía no hemos hecho nada productivo (intenta pedir un aumento de sueldo por tener 0 mensajes en la bandeja de entrada, a ver qué pasa… :)

Merlin Mann afirma que tiene configurado su cliente de correo para descargar los mensajes nuevos una vez cada hora. Salvo que trabajes en un servicio de urgencias, en una central nuclear, o arreglando bugs de la beta de La Coctelera, no pasa nada si tardas (como mucho) una hora en contestar un mail (en serio).

La idea es que el tiempo que no estés archivando correos estés currando (sorprendente esto de la economía capitalista, oiga), y entonces es cuando realmente empiezan a ser útiles los contextos.

Digamos que ya has archivado tus mails. El siguiente paso, según cómo sea tu forma de trabajo, es entrar en la carpeta @do o en @reply, y empezar a cerrar tareas.

En estas dos carpetas, tengo una vista por orden cronológico. Primero, los mails más antiguos. Empiezo por el primero, y voy completando las tareas usando el “clásico” flujo de GTD.

Hay quien recomienda reservar un tiempo fijo al día para contestar emails (y tengo algún compañero que es super fan de esa idea), pero yo normalmente suelo hacer sesiones de curro intenso de 45 minutos seguidas de sesiones de 15 de “intendencia” (ordenar mails, contestar pendientes en @reply… leer el Bloglines :)

Los días en que hay mucho jaleo, cambio las sesiones de 45 minutos por sesiones de “Hasta Que Veas Borroso™” (con el cliente de mail cerrado) con pausas más largas.

Para el tema del Flow State, iTunes y unos cascos decentes son una ayuda inestimable.

En el próximo episodio, veremos cómo usar Quicksilver y Actiontastic para convertir mails en tareas y para captura de “marrones” que no vengan por email, y cómo la “Memoria 0″ nos permitirá “desconectar” del trabajo con más facilidad.

¡Hasta la próxima!

Technorati tags: , ,