Tag Archives: task

ol: One last editor and outliner

A long time ago, I used to keep notes and lists with a normal, everyday text editor, and just draw up a outline format if I needed to show some sort of structure or to-do checkboxes.

Sometime around 2008 or 2009, I found two new applications that quickly took over those roles — one was vimwiki, which I may only need for another day or two, and hnb. hnb was on my system, in spite of its age, for a long five years until I found tudu last summer.

hnb and tudu (and the emacs and vim plugins that do much the same thing) are not the only hierarchical note-takers available. You can add ol to that list, with my endorsement … whatever that’s worth. πŸ™„


ol stands for “Outliner Lighto,” if the home page is to be believed. And what you see in that image is probably the best snapshot of what it does and how it works.

Arrow keys will navigate through a tree, and leaf nodes expand when you navigate through them. Press “d” to delete a note and all its children, Enter to edit a note, “t” to convert it to a checkbox for to-do lists, “x” to mark a task as done, and so forth. The empty file startup screen will give you help and instructions, if you need it.

Probably one of my favorite things about ol is the cut-and-paste action, or better called the “grab” function. Press “g” and you carry a note with you through the tree, allowing you to arrange and rearrange to your heart’s desire.

Since the display effectively updates as you navigate, it’s a lot easier to organize and visualize than the traditional cut-and-paste model. I like that a lot more than tudu’s way, which borrows yank-and-paste style of vim. And you know how I feel about vim. πŸ‘Ώ

ol is also colorful, even going so far as to assign colors to note depths, which is another wise evolution. hnb and tudu haven’t picked up that idea yet, and it’s one that is probably worth adopting.

I see that ol is written in pascal, which strikes me as unusual, but also completely irrelevant to using the program. As an added bonus, if you’re an hnb user and decide to use this moment to emigrate, there’s a utility that will convert hnb’s text format to a style ol can use.

ol doesn’t have some of the more detailed functions of tudu — like displaying a percentage complete for to-do lists, or allowing extended notes, deadlines and schedule dates. ol probably won’t dethrone tudu for me, for those reasons. I find with tudu that I can rely less on wyrd now too.

That alone is no reason to deny ol the gold star it deserves — for a clean interface, plenty of startup help, easy controls and a few innovative ideas for hierarchical list tools. Don’t spend it all in one place: ⭐ Enjoy! πŸ™‚

note: A noteworthy application

Note-taking tools are in abundance at the console, and some of them are so simple as to be almost rudimentary. Even I am guilty of stashing a few oddball commands in a flat text file called “tricks,” and just grepping through it when I need to find something.

The irony of that is that there are many other applications that would do much the same thing, and have internal tools that would save me time and trouble. note, for example, has a clean and easy to manage format, and an interactive mode to boot.


You can kick note into action with just the note command and a flag or two, or you can access its primary functions through the captive interface, like above. Add a note or edit a note, and you drop into your $EDITOR … and I always like it when note-taking tools do that.

Afterward, you can delete notes or even search through them, and you don’t have to rely on shell commands or external programs, unless you want to.

note also supports a “hierarchical” structure that it calls “topics.” If the first line of your note shows a topic path — like “/Wash/dog/” — note will arrange it and list it in topical sequence. This isn’t quite as elaborate as what hnb or tudu can do, but it’s a nice feature.

note has a few other configurations worth mentioning, and the man page is there to walk you through most of them. I was able to install and start using note in a matter of minutes, so unless you need very explicit and esoteric features, it should have replaced your flat-file-plus-grep in very short time.

I don’t see any features on prioritizing, check-box to-do lists, or advanced sorting and management. It may be that those features are better implemented in other tools.

What else should I say … ? In AUR. In Debian. And I’m almost embarrassed it took me this long to find it. 😐

snb: In promising directions

If you’ve been reading this site for a while, you’ll know I was a long-time, die-hard fan of hnb, a note-taking application with a branching structure. It is a very old program — probably second-only to sc, among dated applications that I still used on a daily basis — but never failed to build or do the job.

So I have fond memories. And I’m intrigued that there’s a redrafting of hnb available, running under the name of snb.


And it has a lot of the allure of the original, with a few additions. As I understand it, the biggest draw might be the availability of Unicode characters, provided of course that your terminal supports them.

snb also handles checklists or to-do lists after a fashion, allowing you to tick off an entry with the “d” key. Movement is primarily vi-ish, with the shifted HJKL keys dragging entries up, down, in and out of branches. Most of the other keys you can find in the default page for snb, which will open if you don’t give it a file at startup.

If I understand the startup pages, any configuration is going to require editing the source files and recompiling. That’s probably not a huge inconvenience, and looking over the user.h file, it’s not so terribly different that you might have trouble.

I like snb and if I had found it about six months ago, before I came across tudu, I might have jumped ship in that direction instead. As luck would have it, I’ve gotten used to some features that tudu offers, and stepping away from those isn’t appealing.

snb is a good project though, and I’m curious to see how it evolves.

sncli: For cloud-based to-do lists, and more

About a month ago, Eric sent me a note about sncli, which works as a command-line interface to Simplenote. I’d never used the site before, and I have some reservations about using cloud services for all but the most mundane of data, but I’ll try anything once. Especially if it has this much color:

2014-08-23-6m47421-sncli-01 2014-08-23-6m47421-sncli-02

And true to form, sncli kept the online version up-to-date with my changes. Quite quickly too, I might add. Simplenote had my changes from sncli online before I had clicked on the tab.


And no, I don’t really wash the fish. The fish washes himself, constantly. πŸ˜‰

As I can see it, from what I’ve learned about Simplenote and from working with sncli, the real value in this is the ability to access to-do lists and reminders from devices other than your old 133Mhz Pentium laptop. I don’t have a smartphone (only dumbphones) but if I did, it would be nice to see those lists update between sncli and the web interface and the mobile phone.

sncli itself has more to love than just the color scheme. Off the bat it’s easy to see how it works, and if you’re a fan of the vi-ish control scheme, navigation will appeal to you immediately. You can add a note with “C”, edit one in your $EDITOR with “e”, sync with your online account with “S”, and so forth. Easy to use and remember.

Provided you have a Simplenote account, you can configure sncli with little more than your account name and password. Add those to .snclirc and you’re ready to go … keeping in mind that those are stored in plain text.

That would be only one of my very few suggestions for sncli at this point: Find a way to manage an encrypted password, perhaps along the lines of how gcalcli handles it. Considering gpg is available on just about every system out there, it should be an easy dependency to fulfill.

My only other observation is that the command to view a note in a pager jumps straight to less, while my $PAGER is set to most. Perhaps that could be an option. Oh, and maybe add arrow keys for navigation. Some people will expect that. πŸ˜‰

I like sncli a lot — particularly for the easy setup, good use of color, excellent use of screen real estate, near-immediate synchronizing with the online service, intuitive commands and onboard help. … Oh heck, what’s not to like? Well done. Have a K.Mandla gold star: ⭐ πŸ˜‰ Enjoy!

when: A sleeper hit for the median demographic

I wasn’t really enthused about when when I first looked into it. I’ve seen a lot of calendar tools and a lot more to-do list managers, and I didn’t see a whole lot that stood out at first glance.


And actually, maybe that’s good. A program that has quite a few strong points but is easily overlooked doesn’t create nearly the empty-headed flap as a shallow program with lots of fanboys. And yes, betty, I’m looking at you. 😑

I don’t mean that I wish obscurity on when, only that it deserves to be digested at a decent pace.

when makes a nicely formatted list out of a very simple arrangement. Follow the brief setup scheme, and from then on every instance of when e puts you in your $EDITOR. The data arrangement is very easy to follow: Just separate the date from the note with a couple of spaces and a comma.

Leave your editor, and every time you enter when, you’ll get a list of upcoming events. Simple.

But when can handle some fundamental date tests, and this is where when really kicks it into gear.

when can sift out specific dates annually, so regular holidays, like Christmas or Valentine’s Day are easy to add. when can also filter for observed events too — so holidays or events that fall on a weekend can appear on regular weekdays. Now you can handle the complexity of scheduling Golden Week.

Arranging simple date tests is a breeze too, and you can pluck out the traditional Father’s Day — as the third Sunday in June — with no more than m=jun & w=sun & a=3. And believe it or not, when has provisions for dates that precede the end of the month too, and the man page claims it can handle things like moveable feasts. That’s impressive.

For a long time I was a strong proponent of the one-two knockout punch of wyrd and remind. But short of complex and detailed minute-by-minute calendars, wyrd/remind is overkill.

On the other hand, calcurse does a decent job handling very simple calendar requirements, and its visual arrangement is a great asset.

If I had to, I’d put when somewhere in between those two poles, and possibly even closer to the high-end wyrd/remind combination. I’m confident it can do some of the more challenging schedules that I would otherwise relegate to wyrd/remind, and it might even do them more quickly and gracefully.

A small warning: I noticed that some more complex and lengthy calendar lists cause a slight pause when displaying. It should probably go without saying that complex tests and date calculations will take a while to display. If you’re on very old hardware, that might trigger a lag.

Then again, if you have long, complicated scheduling requirements, you might be better off devoting a little more power to it than just your old leftover K6-2. :\

vit: That full-screen interface I promised

It seems like a long time, but it was only a month ago when we saw taskwarrior, the to-do list organizer with a considerable level of detail and complexity. At the time I promised to show the “official” (?) full-screen interface for it, and that time is now. πŸ˜‰

2014-06-18-6m47421-vit-01 2014-06-18-6m47421-vit-02 2014-06-18-6m47421-vit-03

vit is a cooling balm for people like me, who need a certain degree of spatial flair to make their lives complete. I know how ironic that sounds, considering the context is console applications. πŸ™„

But I see a certain congruity. vit comes through on just about all the points I like in a full-screen console application — color, onboard help, good use of space, intuitive layout, and so forth.

vit’s navigation is a near-duplicate of the vi/vim coalition, and if you like that arrangement, it will no doubt be an easy trick to learn how to work vit. And if it doesn’t fall immediately into place for you, entering the time-honored command :help gives you a scrollable list of keypresses and their definitions.

I have no major complaints about vit; it does make the transition to taskwarrior a lot more appealing to me. taskwarrior on its own was not my favorite, but vit makes a good catalyst.

Of course, now we need to have a celebrity smackdown between vit and the usurper, tasknc. May the best full-screen-vi-like-curses-interface-to-taskwarrior win. πŸ˜‰

tudu: The hnb-killer

There have been a lot of task organizers in this section, which is no surprise. There have been few that work as a full-screen console application though, which is a surprise.

True, we did just see tina, which could double as a task organizer, but isn’t really intended to work that way.

And there was tasknc, which converts taskwarrior‘s infrastructure into something more graphical. I could split hairs here though, and say taskwarrior is doing all the work, and tasknc is just pushing it around the screen.

But tudu is an honest-to-goodness, dyed-in-the-wool, born-and-bred full-screen task organizer and to-do list manager. And it starts with the letter T.


By now you’re probably thinking this something a lot like hnb. I’m a big hnb fan, and I’m not ashamed to admit it. There are a couple of things here that are questioning my faith in my long-standing favorite.

First of all, tudu seems to match hnb, almost feature-for-feature. It’s intended as a hierarchical list manager. It employs color. It allows quick, one-key navigation through a task tree, and can tag entries as completed. All of those things are well within the reach of hnb too.

But here’s what stands out for tudu:

  1. Optional vi-like navigation, which will appeal to some and repulse others πŸ˜‰ ;
  2. Extra details (what tudu calls “long descriptions”) for an entry;
  3. Tasks can be assigned
    • a category,
    • a scheduled date,
    • a deadline, and
    • a priority;
  4. Completing a sub-task shows a percent completion for its parent task;
  5. A search function; and
  6. A locking mechanism, to prevent two separate instances of tudu from mangling the same data file.

To be fair, hnb can handle some of those things, and what it doesn’t manage natively, you can jury-rig by adding text to your entry … which is a bit barbaric. And it’s true that there are some features that hnb can do, like building calendars as task entries, that I don’t see in tudu.

But this is really challenging my viewpoint. Some of that list — especially the extended details and search functions — I’ve been pining after for literally years. Seeing them at work in tudu is testing my allegiances.

And there’s one more small, trivial point that is working in the back of my mind: hnb is more than a decade without an update. At some point, it’s just not going to build. I’ve seen it a thousand times in other software: Time just makes the code obsolete, and there’s nothing I can do about it. Maybe I’ll get lucky, like I am with sc, and it’ll run forever. But probably not. 😦

tudu seems to cover most of hnb’s features, adds on many more, and saw updates within the past year. Even if I decide not to jump ship, I have the reassurance that if hnb ever finally croaks, tudu can definitely pick up the slack.

A definite winner of a much-ballyhooed K.Mandla gold star: ⭐ πŸ˜‰

tofu: Working the stack

Looking over tofu, I couldn’t help but wonder if that name is a clever play on the word “todo.”

After all, most software circling around the “to-do” list would probably pronounce that word as “too doo” or “two dew,” with a long “o” sound in both places. This in spite of the fact that I have heard some native English speakers pronounce “to” with a short “u” sound, like “tuh.”

So if the author of tofu is cunning, and I have no reason to believe he/she is not, then the pronunciation of the program might be “too foo,” which would hearken back to the old placeholder names of foo and bar. Neat.

But more than likely, I am just thinking too hard. Let’s get back to tofu, which I can’t help but read as “too foo” now every time I look at it. πŸ™„


Most task organizers to date have relied on metadata or tagging systems to show priority or somehow arrange tasks in a list; tofu takes the more direct route and connects importance to position in the list.

The top item is the most important, and the bottom is the least. It’s the arrangement that determines priority.

To that end, tofu adopts some very unusual ways to manipulate the stack. There are the conventional add (which works as “next”), delete and edit tools, as well as a “read” command to show a brief synopsis.

However there is also the “jump” command, which can yank a task or a series of tasks, and promote or demote them within a list. I don’t recall any other to-do manager that can pull arbitrary items and insert them into the stack again, at a specific position.

What’s more, tofu can handle a barrage of list adjustments all on one line. So not only does tofu 3 4 jump=2 work, but also tofu 5 7 jump=2 3 jump=1 list. Very convenient.

tofu also has a tagging system, with the “stamp” command. As you might imagine, multiple items can be tagged at once, with something as simple as tofu 2 3 8 stamp=Important. Multiple tags can be listed with commas between, and all applied at once.

I like programs that can approach a traditional problem and come up with a new way to tackle it. If you can get used to working the stack to show priority, tofu can probably offer a quick and unusual way of organizing it.

todo.txt: Famous or infamous, you decide

It’s time. I have dreaded this post for years now, and the sour taste I get in my mouth when I think about touching fingertips with the to-do list manager with lifehacker.com‘s seal of approval. πŸ˜›

I mentioned this quite some time ago, when I brought punch to center stage, and technically speaking that was done out of order. Ideally, we should have talked about the task organizer before the time clock add-on, but it’s water under the bridge now.

I suppose it’s not the fault of todo.txt that lifehacker.com left its greasy fingerprints on it. And perhaps I’m not being fair by immediately assuming that lifehacker.com is just glomming onto an otherwise useful script in hopes of pulling a little traffic its own way.

Then again, I just checked and the top story on that site is how to remove stains from your clothes with Windex. 😯 Yeah, I’ll trust my instinct this time: They’re glomming.

Let’s get back on track. Here’s todo.txt, which installs as todo.sh in Arch.


You’ll need to copy the default configuration file from /usr/share/todotxt/todo.cfg to ~/.todo/config before you can get any meaningful work done with todo.txt. Mostly it just wants the location of your todo.txt file, and I have no problem supplying that.

todo.txt uses the command-line parser approach, sort of like taskwarrior and tdl, among others.

There is a full compliment of commands to cover just about every aspect of task management — add, delete, prioritize, do. todo.txt adds the concept of “archiving” finished tasks, as well as the only-slightly-more-common ability to generate reports. There are also a half-dozen ways to list your tasks, whether it’s by priority or some other criteria.

Learning todo.txt is fairly easy, since todo.sh help (command) tells you everything you need to know about any single command, and how it is arranged. I daresay that is more useful than a man page or a few help flags.

As I understand it, todo.txt arranges separate lists through folder structures, so if you want more than one list, be prepared to work within a folder tree.

todo.txt does not live up to the clean and fashionable output of todo.c though; todo.txt seems to stack tasks from newest to oldest, prefixing an item with its priority if it has one. In that sense, todo.txt definitely has something to learn from the little guy.

I also find it a little taxing after working with todo.c and t, to find that just todo.sh generates a brief help message, rather than dishing out the list of things in my todo.txt file.

todo.txt also seems to lack some of the intricacy that taskwarrior can give, or some of the interactive element present in tdl or others from long ago.

It’s not a terrible solution though, and I don’t intend to disparage it to any degree. I just feel it’s a buyer’s market for task organizers and to-do list managers, and todo.txt doesn’t do the job with any real flair. It’s easily forgotten, from my perspective.

Taking a quick look at the home page though, it’s obvious that its appeal is in its widespread adoption between operating systems and devices. So it may be that its middle-ground approach makes it easier to pick up, if you rely on more than one gadget to get things done.

But that’s enough for now. I’ve said way too much about a script that doesn’t particularly stand out from my perspective. Of course, I still have issues with lifehacker.com fawning over it, and I don’t know if that dirty feeling is likely to go away any time soon. πŸ˜•

todo.c: A task organizer with a sense of style

Occasionally text-only software implies text-only-in-an-emulator, and I generally don’t split hairs over what works at the framebuffer, and what works in an emulator.

todo.c is a very terse, very clean task organizer that employs some color and some graphical elements that might not be ideal for a font-restrictive environment.


If you look closely in the gif, you’ll see that the marks for “incomplete” are red X’s. Finish a task and a green check appears. It’s a nice touch, particularly if you enjoy a highly customized but still text-based computing experience. πŸ™„

At the framebuffer though, that appears as a red box for me, and the check is likewise inaccessible, showing as a green square. Sigh. 😦

This is a good time to cruise past todo.c though, because we’re cresting the wave of applications that hover around a todo.txt file. And todo.c’s output is particularly stylish.


No Photoshop 1.8a there, friends. todo.c sends its output and reads its data from a very clean, very sharp looking todo.txt file. I daresay you could take that home to meet your mother. πŸ˜‰

I can’t say this will be compatible with every todo.txt gimmick available in the universe at this point in time, but it definitely gets bonus points on the dismount. πŸ˜€

todo.c also gets a nod for being exceptionally svelte — and this time, I really mean it. The executable is 16Kb once compiled, and with all the source code and intermediary files it barely crests 73kb. That is quite a feat.

Sure, it doesn’t have all the wangdoodles and diddlybobs that some elder programs offer, but if you don’t need the intricate detail and incessant fussing of higher order task organizers, this could work perfectly.

And you even get little green check marks when you finally finish something. :mrgreen: