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.

ses: emacs strikes again

I’ve mentioned a couple of console-driven spreadsheet applications in the past — I’m thinking of sc and oleo there — but somehow ses, the integrated spreadsheet function in emacs, managed to elude me.


There’s no trick to getting it started, you just open a file with the .ses extension and emacs leaps into action.

Navigation is via arrow keys; hit enter to change the contents. As your spreadsheet grows, you’ll need to open rows with CTRL+O but columns can be added just by moving right and entering data.

ses is functional, but would probably take me a while to learn. I glanced through the documentation and it seems most of the fundamentals are in place, with the necessary changes in syntax or structure.

I’m not so averse to emacs that I wouldn’t consider using it for some simple spreadsheets or to fiddle with numbers for fun.

And I admit it is interesting to see how emacs handles the idea of a spreadsheet. What’s next, an onboard mp3 player? (I joke, but it’s probably been done.)

Of course, if you’re already an emacs fan then ses is probably no surprise. I eagerly await the distro that comes armed only with emacs as an entire software suite. :P

I think I will stick with sc for a while longer though. I have some long, rather complex spreadsheets that are tangled up with calculations, and I’m not quite ready to shift. ;)

sentaku: More menu-like options for the cli

I thought I was being clever a year ago because I strung together slmenu and a few other random gimmicks, and came up with something like dmenu for text-only environments.

sentaku has that beat by a mile.

2014-04-21-6m47421-sentaku-01 2014-04-21-6m47421-sentaku-02

pipe text into sentaku, and it makes a full-screen pick-and-choose application from it. It’s complete with highlighted selection, vi-like or arrow-key navigation, help cues on-screen and best of all, a speedy response time.

The selected text is passed out of sentaku as-is, which makes it ideal for spawning applications or sending selections through to scripts. In other words:

eval $( echo "mc htop alsamixer elinks" | sentaku )

Does more or less the same thing as what I was doing with slmenu. Of course, mine had one-key popup menu access, and snazzy animated gifs. :roll: But the same could be done with sentaku, with a little effort.

In case you’re thinking this must take a masterful command of assembly language to accomplish, it turns out that sentaku is just a bash script (or zsh, if you prefer).

And of course sentaku can be used for other things too. It’s not tied to menu selection, although that was what came to mind first.

I really like sentaku and I’d like to see it appear in AUR, if not in Debian as well. Perhaps I shall look into that … :|

sendip: Packets and their contents

You’d think for all the esoteric network tools I have blundered through over the past year or so, I would have a better grasp of some fundamentals.

I don’t. :roll:


That’s sendip, which I like for being easy to figure out, giving plenty of information, and looking good in a screenshot. :oops:

It does look good though. It spills the contents of the packet to the screen, including whatever piggybacked data you specified, and gives you a report of the transaction. Clean, neat and talkative.

What you do with that … I really don’t know for sure. It must be a science thing. :shock:

Of course, without the flag for verbosity, sendip is meek as a kitten. So you have the option, if you prefer the strong, silent type.

sendip is in AUR and Debian, and strikes me as a useful tool to keep around. Even if I don’t know what it does. But when has that ever stopped me?! :D

sed: I wouldn’t dream of explaining it

If you’ve never used sed, it’s only because you didn’t know you were using it. sed is used everywhere, by everything, for everything, and the only reason we don’t give it more credit is that it works so fast, clean and quiet that nobody realizes it’s there.


sed is one of those things that’s so quick and powerful that it looks very plain and boring — and then turns out being a wicked sharp tool. It takes almost no effort to get started, but once you start, tinkering with patterns and sequences can get addictive.

The fun thing, to me, about sed is that it occasionally can take the place of a trip through a text editor. Rather than wrangle with vim or emacs and their respective psychoses, sed can do a lot of simple text manipulation right there in front of your face.

I wouldn’t dream of trying to explain all its intricacies here, so I’ll point you in the direction of Bruce Barnett’s tutorial, which is where I cut my teeth on sed, oh-so-long-ago.

Now go forth and sedify. :???:

sdcv: Local lookup, some assembly required

I’m a big fan of dict, the online dictionary and thesaurus tool that runs almost completely at the command prompt.

Of course, if I’m stuck offline, I’m stuck completely. Words fail me. Literally. :shock:

sdcv is a console interface to the somewhat-dated StarDict tool. And in contrast to dict, sdcv works with locally downloaded (or created, I suppose) dictionaries.


There’s not a whole lot to see with sdcv, although that will depend entirely on how many dictionaries you have, and what you ask of them.

Output is a little odd. I think that might be because the dictionaries are intended for a graphical tool, not strict text.

I don’t see any options within sdcv to strip out that coding, so I’m going to enlist the services of dehtml … and that’s what you see above. It’s not perfect, but it’s more readable than as it appears raw.

Of course, the alternative to that is to pipe sdcv’s output into a file, and use a browser to open it.


Either way, there may be some added steps to viewing a definition.

On the other hand, you do have the pick of several dictionaries, cross-language or otherwise, and they’re stored locally. And being the clever young hacker that you are, I’m sure you’ll find a way to build your own dictionaries too.

So to recap … dict for online dictionary access in clean plain text, or sdcv for custom dictionaries stored locally and subject to your scrutiny. You can choose which you like. Or … why not both? :mrgreen:

scrollz: Fast, friendly and light

The man page for scrollz told me a lot more about it than I had written in my notes.


A lot more than was on the home page either, although to be fair, there seem to be some domain redirection issues there. :|

scrollz is written in C, and I’m a fan of most any program that can trace its heritage back to C … mostly because they seem to run faster and lighter than most other software. You can see that in things like cmus, mcplay, ctorrent and some others.

scrollz also boasts that it carries a lot of the features seen in IRC scripts as part of its internal structure. I am afraid I’m not enough of an IRC fan to know what those scripts are, or why they’re so great.

The features also include Blowfish encryption — which I can see the reason for — special features for IRC operators, user-friendly nick and channel completion, and some other things.

The user-friendly completion sticks out in my mind, after years of working with irssi and after only recently jumping ship to rhapsody. It’s nice to have an application prompt you for your nickname rather than just spit demeaning errors at you, and expect you to know how to fix the situation.

Egads, am I shifting back to the graphical side? :shock:

Not likely. But it does mean that scrollz — kind of in the same way as rhapsody, but to a lesser degree — seems to have a less staid approach.

And I will mention that I like the status bar that scrollz employs. That, on top of a gilded tmux or screen status line would be another geek trophy.

For the moment I’m still enraptured by rhapsody, and my efforts to build scrollz in Arch were less-than-fruitful (it says I “must get working getaddrinfo()” … whatever that means). I will keep it in mind though, for future adventures