Tiago Donato

Scripts

todo.sh add-ons

todo.sh is the command line interface for todo.txt, a syntax for plain text task management, for which I created and shared three add-ons. They are simply bash scripts that introduce new functions and integrations to todo.sh.

I worked on these as much to learn more about bash scripting as to add the functionality I wanted for my own use of todo.txt. Since writing these scripts, I have switched over to Emacs Org mode, so their code repositories are now archived.

book

Project page: github.com/tgdnt/book

Often it is beneficial to schedule your todos on your calendar, blocking out some time to work on it. Some GTD1 proponents advocate actually scheduling each of your tasks rather than working with a todo list.2 For some time years ago, I used an excellent mobile app called Timeful that did just that.3

book uses khal to create calendar events and can optionally use vdirsyncer to synchronize them with various cloud services.

remind

Project page: github.com/tgdnt/remind

remind is my way of getting mobile notifications for todos on an iPhone, because none of the todo.txt mobile apps really do it. It uses osascript to interact with iOS Reminders.

stale

Project page: github.com/tgdnt/stale

On a quest to keep your todo list tidy — perhaps to achieve "todo list zero"4 — I found it useful to have a process for managing "stale" tasks, borrowing Github's word for branches that haven't been committed to in a while. With todo.sh stale, the user can quickly move items back and forth between a todo.txt file and a designated file such as stale.txt.

It's like the undoing of a todo list. Typically you keep one in order to avoid forgetting about certain things, but sometimes it can become a list of things that you want to do — or think you should do — but perhaps you're not actually going to do them. It can make you anxious and distracted.

For those cases, the stale.txt file is a place where you can still store them, just in case, but you won't have to see them every time you look at the list of things you're actually going to do. Odds are that when you look at them again, you won't hesitate to delete them or you'll see an opportunity to give them another go. Either way, it will feel better than to just stare at those todo items that are clearly going nowhere.

Since moving to Emacs Org mode, I plan to port this over to Elisp.

myshifts.sh

Project page: github.com/tgdnt/myshifts.sh

A simple script that creates a series of calendar events for shifts at work. Here, to facilitate sharing the script on Github, I used a separate configuration file in which a user can specify things like shift length and the title for events.

Photography

PaintDept Instagram

URL: instagram.com/paintdept

I credit the original idea for this to my co-worker Romario. As part of our job, we would dispense colorants into paint bases and then put them in a shaker before handing them over to customers. Sometimes, we would dispense the colorants, close the can and briefly shake it by hand, before reopening and taking photos of the patterns that formed on the surface.

Here are some of the photos in a 16:10 aspect ratio.


  1. David Allen's very popular productivity praxis known as Getting Things Done.↩︎

  2. See Dave Crenshaw's video Replace to-do lists with a schedule, on Lynda.com. In my Emacs Org mode set-up, my agenda shows undated TODO items under a headline that says "Unscheduled:". So I am encouraged to schedule everything. As Crenshaw argues, it's worth managing your time budget and learning to estimate effort.↩︎

  3. Unfortunately, Timeful was acquihired by Google and the app was quickly discontinued with the promise that the team would work on features for Google apps. It was a great mobile app. Among my favorite features were that the interface allowed you to drag tasks off a list onto a time grid to schedule them. It could also minimize calendar events, so that they wouldn't affect your planning if they don't actually require your attention. Supposedly, what Google was interested in was its ability to suggest times for you to complete your tasks, something I was never interested in.↩︎

  4. To truly have nothing on one's todo list — nothing at all — as one does perhaps at birth, but in adulthood, could be described by me as a "todo list event horizon".↩︎