Tag Archives: to-do

tnote: An application of note

My mental system of categorizing software is breaking down with tnote. I’m not sure exactly what box this should be in.


tnote insists — or at least the home page does — that it’s just a quick application for taking notes. But consider:

  1. It is possible to add, delete, search and edit notes, much like a task organizer;
  2. It is possible to group notes, much like a task organizer; and
  3. It is possible to assign importance to notes, much like a task organizer.

On the other hand. …

  1. There doesn’t seem to be a date system for notes;
  2. There doesn’t seem to be a priority system for notes, other than the “importance” rankings mentioned earlier; and
  3. There doesn’t seem to be any way to tick off or “complete” notes.

All of which suggests tnote is trying to keep itself out of the task organizer box, and operate strictly as a console version of sticky notes. 😐

All of the features I listed above are described in the man page and help display for tnote. What I didn’t show very well in the screenshot gif, is that tnote intends for you to make long, rambling notes and includes an option for a “brief” display of only the first line.

Furthermore, tnote has an “interactive mode,” which drops you into your $EDITOR and lets you build up an entire sonnet as a note, if you so desire. Nice touch. πŸ˜‰

A few caveats though, as must always be the case: First, I have yet to get the “importance” feature to work, and judging by the man page, that’s where the color appears. Shame. … 😦

Second, tnote seems to display a lot of white space after the note list, and I’m not sure why. None of my notes included empty white space or blank lines (not just the blank line I include as part of my $PS1). I noticed that white space wasn’t in the “brief” display, so perhaps it’s just a quirk.

I like tnote a lot; it has some good features and for the most part does what it promises. It’s a bit of a hybrid, incorporating the ideas in several different groups of programs and making them work in a new way.

Of course, now I have to find a new mental box for it to fit in. πŸ™„

tina: A funky little data arrangement tool

The home page for tina describes it as a “text-based personal information manager.” Which … I guess is true.


tina takes text data of any sort, and allows you to apply categories — much like you might do with a task organizer or perhaps a to-do list.

Controls are very vi-esque. Press o or SHIFT+O to add an item anywhere in your hierarchy, then press SHIFT+C to “categorize” it. There are navigation, cut, paste, search and other tools available, most of which follow the vi arrangement.

Where tina loses me is when categories themselves get categorized. Apparently it’s possible to categorize the category, then again and again and again.

And it’s also possible, although I’m not sure how I did it, to loop back from a category to the original data set, meaning there’s a circular structure that crops up. That might be just my whacked-out attempt to learn tina though. So if that’s weird for you, just ignore it. On the other hand, that might be useful.

tina saves its data as flat text files, and picking through those might give you some insight as to how tina is meant to be used.

I liked tina for being quick and light and colorful and easy to control, so long as vi controls aren’t foreign to you. It’s a little quirky in its behavior, but I can see where its arrangement and style might be useful, in certain situations. πŸ™‚

tdl: A task organizer in its own right

These days, it seems I’m either looking at to-do organizers or tcp doodads. My hope is that somewhere in the next 85 posts or so, something a little different will come along. At least before the U section. 😐

Not this time though. tdl is another task organizer, and this time it’s not built off taskwarrior.


Over the past year and a half it has become clear that, of task managers that are not fullscreen applications, the trend is either to perform every operation as a single command — like taskwarrior, for example — or to enter an interactive mode and handle all management in a captive terminal — like yokadi, for example.

tdl seems comfortable in either mode, giving you the chance to send off single-shot changes to your to-do list, or to settle in and make serious changes.

And tdl is no joke. It can set priorities, generate reports of done tasks, search through tasks for specific strings, undo changes, revert from an unsaved series of changes, postpone or defer tasks … it’s quite impressive.

I’d even go so far as to say it might rival taskwarrior and some other organizer suites in its complexity. Just moving through the man page took me quite a while.

tdl seems very much under-the-radar, but that may just be the side effect of my relative inexperience with it. It’s probably worth noting though, that the home page shows no changes within the past few years.

So it might be that it’s so far under the radar that it’s gone invisible. But that wouldn’t intimidate me. I’m quite used to using software that’s been out of development for decades. πŸ˜‰

taskopen: New ground for taskwarrior

Just for the record, I’m not some huge taskwarrior fan. I have a feeling that someone, a long time ago, fed me a list of taskwarrior derivatives-stroke-variants, and I’ve finally gotten around to wading through them.

taskopen allows you to use taskwarrior to annotate tasks, and connect them to files, hyperlinks, scripts or whatever you like.

It might be easier to see, than to explain. Imagine you add a taskwarrior entry like this.

kmandla@jk7h5f1: ~$ task add Check home page

taskwarrior dutifully responds with

Created task 1.

Now suppose you annotate that item with the actual home page to check. Do that like this:

kmandla@jk7h5f1: ~$ task 1 annotate -- https://inconsolation.wordpress.com

taskwarrior, unaware of its newly found superpowers, replies with:

Annotating task 1 'Check home page'.
Annotated 1 task.

“Hey, wow, K.Mandla,” you say. “That’s like, sooo amazing.” πŸ™„

Trust me. When have I ever steered you wrong? (Okay, don’t answer that.) Here’s where the fun starts:

kmandla@jk7h5f1: ~$ taskopen 1
START /usr/bin/palemoon "https://inconsolation.wordpress.com"

and pow, the address for the page opens in your alpha-male browser. 😯 Just like magic.

That’s a rather primitive example, and the one more or less afforded by the readme file on taskopen’s main page. If you extrapolate from there though, you can imagine

  • Reminders that can link straight to PDF forms.
  • Tasks that are connected to specific web sites, like tax forms, conversion charts or bookmarked pages.
  • Chores that trigger scripts that do whatever, like performing a backup or encrypting a file.
  • To-do items that open their respective files automatically, in $EDITOR.
  • Tasks that connect to abstract things not usually allowed in a text-only environment, like images or audio files.

Think of it as a way of preserving bookmarks within a task manager, at the command line.

taskopen is nifty because it stacks something interesting on top of an already powerful tool, and takes it in an unexpected direction. I’m sure you can think of a use or two that was beyond me.

taskopen has its own set of individual options, so you’re not just slinging tasks into Firefox. There is more than enough available to keep you interested.

Now let’s move on, before someone thinks I’m spamming for taskwarrior. πŸ˜€

tasknc: These aren’t the droids you’re looking for

You probably thought we were finished with taskwarrior. The fact is though, that taskwarrior is sufficiently influential to warrant mention of a few of its derivatives and offshoots.

tasknc is one of those, even though it seems to fall a little short of target.


tasknc is not the “official” console application interface I hinted about the other day. This is a home-grown effort, and it does a pretty good job.

It follows vi-like controls, has onboard help pages, has a few color options, and otherwise makes a good show of arranging your tasks data in a more navigable format.

Unfortunately, it seems like some of the puzzle pieces are missing from tasknc. Deleting an item, for example causes tasknc to lock up for me, and CTRL+C is the only way out.

I had some similar problems when viewing item information, but there is the chance that I had done that to myself, by mistaking viewer controls for list controls. And sorting is a bit cryptic, with just a prompt for “sort by”. Meaning … name? date? I’m lost there.

On the whole it appears that tasknc has a pretty good grip on what taskwarrior itself can do, and manages to incorporate most of those tenets into a proper fullscreen interface.

On those points I’m willing to give tasknc a tentative seal of approval, and credit it as a step up from taskwarrior’s traditional rolling text display.

It’s not, however, the “official” interface you might be waiting for. That’s still at least a month or two into the future. 😐

t: The shortest possible route

urukrama first sent mention of t, years ago, and I am sure I spent a little time with it soon after. It never latched on to me though, and still hasn’t … though that’s not anyone’s fault.

The homepage for t includes the tagline “It Does the Simplest Thing That Could Possibly Work,” and I think that’s an accurate statement.


t is simplistic without sacrificing practical function, and attacks each feature with the least amount of interference.

For example, as you can see in the screenshot, adding a task is the default, and is done just with

t Task to be added

t slots them, and lists them with just t. Removing or marking as “complete” is a single-letter flag.

Asking to see done tasks is a slightly longer step, but again, I’m sure the author of t would insist you should be working on those tasks, not waxing nostalgic over what you’ve finished. πŸ˜‰

t is nowhere near as complex as taskwarrior, or as some others we’ve seen. But it does have all the major functions without occluding the final product.

Think about t if you just need a quick-fix solution to your task organizing problems, and don’t want to build an entire database just to remind yourself to wash the cat.

t needed a little nudging to get started; until I made a directory called “tasks” with a file in it called “tasks,” all I got was python errors. Slightly inconvenient. 😦

My only other complaint about t? That name. t is a little tough to pin down; it’s in AUR as “t-hg,” and if it’s in Debian, I couldn’t find it through the web-based package search. It’s mercurial-based, so it shouldn’t be hard to build.

I like t, but as I said at the start, it just never latched on to me. There are plenty more to choose from though. … πŸ˜•

taskwarrior: Send in the next victim

I’m going to start off this time with a complaint against taskwarrior, even though I know that’s in poor form.

Here it is: The application is called “taskwarrior.” The home page is labeled “Taskwarrior.” The documentation refers to “taskwarrior.” The executable is called …



Maybe that’s not an issue for you, and if you’re a fan of taskwarrior it’s probably not. But for people like me carrying around a tinge of OCPD, it’s something that needs to be brought into line, for the sake of uniformity. πŸ‘Ώ

It probably nags at package managers too; I see that both Arch and Debian call their versions “task,” and only use “taskwarrior” in the descriptions. πŸ™„

That small irritation aside, I can tell you that taskwarrior is probably what stands as a role model for many of the task organizers available to the console. You can see bits of this in taskcmd, sh-todo and even devtodo, just to mention a few.

And taskwarrior has been around for a while, so it has adopted a lot of features that its imitators don’t have quite yet — or probably don’t plan on adding, like syncing between devices.

This isn’t the first time I’ve tinkered with taskwarrior though, and I must admit that my overall impression hasn’t changed much. taskwarrior reaches a level of detail that I never need, and in that sense I fear it may have obscured itself. At least to me.

Of course, that feeling might be compounded by the whole taskwarrior-task thing. I’m like that sometimes. πŸ™„

P.S.: We’ll revisit taskwarrior in the months ahead, when we look at its new fullscreen console interface! Oooh! πŸ˜€

taskcmd: Let slip the dogs of … command line task organizers

I’ve had it in my head for well over a year now, that the T section would be swamped with task managers. And it looks like the first to do battle will be … taskcmd.


Installing it was the first trick; I don’t recall working directly with npm before, which is part of nodejs in Arch. Ergo …

sudo pacman -S nodejs

and once that’s done …

sudo npm install -g git://github.com/dparpyani/TaskCmd.git

Just task at the command line is enough to get started; you should get a multicolor acknowledgment from taskcmd if all went well.

taskcmd works like some of the other task managers we’ve seen over the years; it keeps a devoted list in your home directory, uses ID numbers to identify and prioritize, and parses commands to manage them.

task add "wash the cat" should yield something like this, if all goes right:

kmandla@6m47421: ~$ task add "wash the cat"
id: 1	priority: none
description: wash the cat
created at: 16/05/2014 8:27 am
saved at: /home/kmandla/.tasks.json

TaskCmd: "wash the cat" successfully added.

Except in color, of course. πŸ˜‰

taskcmd can prioritize, filter and even prune out tasks depending on their completed or uncompleted state. You can add details and individual projects as well.

I like taskcmd for keeping a straightforward arrangement and for using color (of course), but I find it a little cryptic at times, and the published help pages are sometimes off-kilter from what taskcmd actually does.

I also believe that the directory tree that you’re in — in other words, your $PWD — is part of how taskcmd arranges its notes. Odd though, that I can’t seem to get things like task init to work in the way that the readme pages suggest.

An aside: With as many task organizers as there are out there, relying on task as the executable, and not taskcmd seems to invite confusion. Of course, I’m not a programmer, so I have no blinking clue what I’m talking about, but we wouldn’t want to cause errors, now would we? 😳

All things considered, taskcmd has the potential to be a useful and productive member of your command line arsenal. Now … who’s next? 😈

P.S., in case you were wondering: sudo npm uninstall -g TaskCmd πŸ˜‰

sh-todo: A simplistic to-do manager

I haven’t seen many to-do list managers in a while. Here’s sh-todo, a simple one that runs at the command line and needs nothing more than your shell to work.


Setting it up is no big trick: Move the todo, todone and todone-archive files out of the git clone folder and somewhere in your $PATH. Copy sh-todo to $HOME/.sh-todo, edit it to give it a path for your lists (the default is a Dropbox folder), and from there it’s very quick to learn.

todo prints a list of what you’ve got. todo plus a task adds it to your list of things to do. todone and a task will look for a match and mark it done.

And that’s 90 percent of what you might need a to-do list manager for.

sh-todo can also handle tags, which means you can lump things in groups, and filter through them that way.

If you want to reorder tasks, or edit them some other way, everything is stored as a text file in the folder you defined in .sh-todo. Edit to your heart’s delight.

I like sh-todo for the same reason I like pass: It handles the chore in a very simple and straightforward way, without incorporating gobs of pointless dependencies and staying close to the Unixy way of doing things.

On the other hand, it doesn’t have a lot of the bells and whistles of some other to-do managers, like doneyet‘s full-screen interface or ctodo‘s marvelously intuitive arrangement.

But if you want something that is 99 and 44/100 percent likely to work on your machine, without drawing in clutter just to show a box, this might be for you.

doneyet: A middle-ground task manager

I mentioned yokadi the other day, and followed it quickly with hnb. I feel I ought to mention doneyet here, because it seems to fall neatly between the two.


doneyet will trap you in a tty window but gives you plenty of space to work with, using one-key commands to add, edit or otherwise manage your task list.

As you can see, the entire business is neatly arranged through columns, with notes on the right and folding project entries on the left.

doneyet lets you manage a lot of the display and behavior through configuration options, so if you prefer a particular color scheme, you’ve got that going for you.

So how does it compare to … others? Well, it has a hierarchical nature, like hnb, but allows a little more structure for projects and nested tasks.

So if hnb is a bit to sparse or free-form, doneyet might force you into manageable structures.

At the same time, this is a bit quicker to navigate and steer than ikog or yagtd or the like. It also keeps a visual element that those lack.

So yes, I might be straddling the fence, but I think this one sits neatly between the two extremes.

P.S.: If you think this is something you might like to get to know intimately, I can suggest urukrama’s classic introduction to doneyet.