692 - La clave para mejorar, saber en que gastas tu tiempo

692 - La clave para mejorar, saber en que gastas tu tiempo

#wakapi es un espectacular servicio que puedes auto alojar con #docker en #linux para saber en que gastas tu tiempo y como puedes ser mas productivo

1:25
-3:15

En los últimos episodios te he comentado que estoy trabajando en varios side project, como dice Daniel Primo. Son proyectos al margen de mi trabajo, que como te puedes imaginar están totalmente relacionados con la programación. De hecho, se trata de un par de aplicaciones web y una herramienta para el escritorio Linux, que si bien, alguna guarda alguna relación o al menos sinergia, lo cierto es que no tienen mucho que ver unas con otras. La cuestión es que había llegado un momento, en que quería saber cuanto tiempo estaba invirtiendo en realizar cada una de estas aplicaciones. Y es que, esto de registrar lo que haces es algo realmente espectacular, porque te permitirá con el paso del tiempo, conocerte mas a ti mismo y a tu trabajo. Y, ojo, no solo me refiero a programar, básicamente, esta herramienta, te permite saber cuanto tiempo inviertes con tu editor de preferencia, y con que proyecto trabajas. Así, por ejemplo, ahora se con certeza, cuanto tiempo me cuesta hacer el guión de un episodio, preparar un capítulo del libro o programar una nueva característica de alguna de las aplicaciones que estoy implementando. Y una vez con los datos ya puedes sacar tus propias conclusiones. Por esta razón, la clave para mejorar, es saber en que gastas tu tiempo.

La clave para mejorar, saber en que gastas tu tiempo

Midiendo el tiempo

¿Alguna vez te has preguntado en que se te va el tiempo? En ocasiones, al terminar el día, tengo la sensación de haber estado escribiendo como si me poseyera el espíritu de Lope de Vega, que dicen que escribió mas de 1500 piezas teatrales. Y sin embargo, cuando echo la mirada atrás veo que no es tan así. Que para haber estado toda la tarde escribiendo, apenas he terminado un capítulo del libro.

Exactamente, la misma sensación tengo cuando estoy programando. Es posible que haya pasado tres horas seguidas sin levantar los ojos de la pantalla, como si se hubieran adherido a la misma, y sin embargo, apenas he conseguido terminar esa característica que me había propuesto.

Y es que, una cosa es lo que piensas que haces, y otra muy distinta es lo que realmente haces. Los sentimientos, en ocasiones nos juegan malas pasadas. Para evitar esto, lo mejor, es medirlo, y realmente ahí está la clave para mejorar, saber en que gastas tu tiempo.

Siempre he sido un apasionado de tener estadísticas de todo. Todo lo que se pueda medir que se mida. Sin embargo, el problema siempre lo encontré en hacerlo de forma manual. Cada vez que tengo que apuntar algo en una libretita, fracaso. Si, como todo en esta vida, empiezo con muchas ganas, pero al final, lo dejo, por la maldita pereza.

Sin embargo, en esta ocasión he buscado una herramienta que me acompañe en esto de saber en que gasto el tiempo. Una herramienta que haga por mi lo que yo no quiero hacer. Una herramienta que se ocupe de la parte tediosa, que se encargue de anotar en una libretita que es lo que hago.

Herramientas para registrar actividades

Existen muchas y muy variadas herramientas que te permiten registrar actividades. Algunas de estas herramientas son manuales y otras son automáticas. Aunque como te puedes imaginar, mi objetivo es encontrar herramientas que realicen todo el trabajo por mi, herramientas automáticas. Algunas de estas herramientas son,

  • Timewarrior, herramienta de terminal para registrar tiempo de forma manual. Muy potente y flexible.
  • ActivityWatch, registra automáticamente qué programas usas, en qué ventanas estás, incluso en qué URLs navegas.
  • Org-mode, para quienes usan Emacs, es una forma avanzada de registro y planificación.
  • Wakapi, es la herramienta con la que estoy trabajando actualmente, y que me ha impulsado a este episodio.

¿Que es Wakapi?

Wakapi es una herramienta de código abierto que te permite registrar de forma *automática tu activada. Y si bien está pensado para programadores, lo cierto es que lo puedes utilizar para hacer un seguimiento de *tu actividad como escritor*. Así, es capaz de registrar tu actividad con *Obsidian*, y a partir de ahí ya te puedes hacer, tu mismo una idea de las posibilidades de la misma.

Una de las características de este servicio es que puedes alojarlo en tu propio servidor, ya sea en tu casa o en un VPS, o utilizar la versión en la nube. Realmente es muy ligero, sencillo y muy fácil de configurar.

¿Que puedes registrar?

Con Wakapi puedes ver cuánto tiempo dedicas a programar, a escribir artículos, a documentar… Lo hace gracias a los plugins de WakaTime, que se integran con la mayoría de editores de texto y entornos de desarrollo como VSCode, Neovim, IntelliJ, Obsidian, y mucho mas.

Instalación

Como te puedes imaginar, lo tengo levantado con Docker y ya utilizando Dockge como mi herramienta para gestionar todo esto. El compose.yml, es el siguiente,

services:
  wakapi:
    image: ghcr.io/muety/wakapi:latest
    container_name: wakapi
    init: true
    restart: unless-stopped
    environment:
      WAKAPI_DB_TYPE: postgres
      WAKAPI_DB_NAME: wakapi
      WAKAPI_DB_PASSWORD: wakapi
      WAKAPI_DB_USER: wakapi
      WAKAPI_DB_HOST: db
      WAKAPI_DB_PORT: "5432"
      WAKAPI_ALLOW_SIGNUP: false
    volumes:
      - wakapi:/data
    networks:
      - proxy
      - internal
    labels:
      traefik.enable: true
      traefik.http.services.wakapi.loadbalancer.server.port: 3000
      traefik.http.routers.wakapi.rule: Host(`wakapi.tuservidor.es`)
      traefik.http.routers.wakapi.entrypoints: https
  db:
    image: postgres:17
    container_name: wakapi_db
    init: true
    restart: unless-stopped
    environment:
      POSTGRES_USER: wakapi
      POSTGRES_PASSWORD: wakapi
      POSTGRES_DB: wakapi
    volumes:
      - pg_data:/var/lib/postgresql/data
    networks:
      - internal
volumes:
  wakapi: {}
  pg_data: {}
networks:
  internal: {}
  proxy:
    external: true

Indicarte que de acuerdo a la información que aparece en la página web de Wakapi, es posible utilizar otros motores de base de datos como SQLite o MySQL, pero en mi caso, he optado por utilizar PostgreSQL.

Antes de ponerlo en marcha cambia WAKAPI_ALLOW_SIGNUP a true, lo pones en funcionamiento, registras tu primer usuario, paras el servicio y lo pones a false, para evitar que cualquiera se pueda registrar.

El cliente

Por otro lado necesitas tener un cliente en el equipo que vayas a utilizar. Aquí puedes utilizar las distintas herramientas que Wakatime, con el cuidado de configurarlo para que vuelque todos tus datos en tu propio servidor.

Hasta el momento, lo he estado utilizando tanto en Obsidian como en Neovim, y es una auténtica pasada la información que recopilas. Sin embargo, después de revisar los plugins disponibles he visto que también existe uno para Firefox, así que lo he instalado y configurado para ver que información registra. Sobre todo, por tener un control del tiempo que paso en cada sitio web.

He estado buscando un cliente para Android, pero por el momento solo encontré uno que está ligado directamente con Wakatime, no es posible configurarle otro endpoint (una lástima).

Sobre el uso diario

La verdad es que no sabía si escribir este apartado. Trabajar con Wakapi es de lo más cómodo que puede existir. Simplemente instalas el plugin para tu editor de referencia, o para tus editories, en el caso de que utilices varios, y listo. No te tienes que preocupar de nada mas.

Wakapi se encarga de recoger los datos y ya lo tienes. Desde luego, que al principio estarás mas atento al sitio web para ver en que inviertes tu tiempo, pero con el paso del tiempo, la cosa irá cambiando.

Casos de uso

Esto es como todo, los casos de uso que le quieras dar son tantos… Para mi, el objetivo es conocer que tiempo invierto en cada proyecto, y sobre todo tener una idea clara de cuanto tiempo me cuesta hacer determinadas nuevas características del software. Pero no solo esto, también conocer cuanto tiempo me cuesta preparar una presentación de una charla o el tiempo de hacer un episodio.

De cualquier forma algunos usos que le puedes dar,

  • Ver cuánto tiempo dedicas a programar vs documentar
  • Detectar si estás procrastinando
  • Balancear mejor las tareas
  • Comparar semanas o meses

Ventajas del registro de actividad

Para mi esto ha sido una gran decisión. Cuando encontré Wakapi y vi las posibilidades que tenía me quedé ojiplático. Descubrir además que lo puedo utilizar para otras actividades, como puede ser la navegación, ya te puedes imaginar. Tener información de todo lo que haces, y donde inviertes tu tiempo no tiene precio.

Pero además, esto de registrar tu actividad, siempre que posteriormente utilices la información, lo puedes utilizar para el autoconocimiento y la mejora continua, saber, que es lo que haces, cuando y como lo haces, esto es fundamental, para ver si hay posibilidades de mejora.

Por otro lado, te ayuda a enfocarte en una tarea principal, y dejar del lado la multitarea que realmente no aporta absolutamente nada mas que distracción y que te impide avanzar y poner el foco en tu objetivo.

Por supuesto, que también te permite justificar tu trabajo. Sobre todo en el caso de que seas un freelance, y tengas que tener estadísticas del tiempo que has invertido haciendo una determinada tarea o en un determinado proyecto.

Registrar tus actividades te permite detectar donde están los cuellos de botella de un proyecto, o donde se te ha ido el tiempo que tenías planificado para realizar una determinada tarea.

Y por supuesto, te servirá para saber que tiempo dedicas a cada cosa, y para descubrir que finalmente, documentar tus proyectos, tampoco lleva tanto tiempo y si que aporta mucha información.

Conclusión

Como ves, de nuevo estoy realmente emocionado con otra herramienta Open Source que me va a permitir progresar a base de saber en que invierto el tiempo. Realmente creo que es una herramienta muy potente, y me refiero al registro de actividad, y que te puede ser de mucha utilidad. Como dicen, la información es poder, y esta herramienta te va a proporcionar mucha, pero que mucha información.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *