April 2017

S M T W T F S
      1
2345678
910111213 1415
16171819 2021 22
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Saturday, December 22nd, 2007 03:57 pm

Recently I've been doing a lot with working on the tools I use to do the things I do, particularly with regard to the computer. It's mostly in the hope that improved efficiency will lead to decreased typing, but also just because it makes me feel good to have my tools help me rather than having to fight with them.

So, last month, while I was in nethack mode, I watched the ttyrec of Eidolos's first ascension of the devnull tournament. Neat stuff. I noticed that he had some nifty UI features not available in the stock nethack, most notably a lot of colorized output to make important things pop out. Sometime last week, I finally tracked down his tool, Interhack. It's incredibly cool, sitting as a layer between the player and the game and allowing a lot of customization of the UI, and it's in Perl, which means it should be pretty straightforward to hack in new features.

In order to get Interhack working, I ended up doing a world remerge on my system. That's always exciting. Maybe vlc's interface issues will have sorted themselves out. (Last upgrade lost me some UI features, and I haven't gotten around to tracking down what I did yet. Who knows, maybe they'll magically be back. Yeah, right.)

None of that is what I wanted to talk about, though. See, while playing with Interhack a little, I noticed Eidolos had provided a plugin to send an IM to Hiveminder directly from Nethack. Something about it caught my eye; perhaps the idea of sending an IM to give yourself a TODO. The source comments say that when he isn't playing nethack or writing tools for it, Eidolos works on Hiveminder. Intrigued, I went to check it out.

Now, I only joined last night, so I've been playing with Hiveminder for less than a day, but it's certainly caught my eye. I think there's some fundamental way in which the folks developing this thing think like I do. I have a tendency to jot down things I need to remember all over the place: on a handy sheet of paper, a Post-It(TM) note, on my whiteboard, in an appropriately named text file in my home directory, in a todo.txt in my home directory, tagged :TODO: or :FIXME: in the source of whatever I'm coding on, in an email to myself, in an IM to myself, mentioned to whomever I'm currently talking (IM, usually, phone, occasionally), or just leave a browser window open to something associated. It gets them down and out of my obsession so I can go back to whatever I'm supposed to be doing, but I don't necessarily ever see them again. And it wasn't any better when I carried a PDA, as anybody who was in an NSO PTB meeting where I brought out the PDA, the laptop, the notebook, and the random scraps of paper well knows.

There are a couple of basic places things have broken down in the past. One, which was the death of the PDA, was UI for entering notes. That damn stylus was just too slow; it was faster to write a note to my self, let alone to type it in on a real computer. The other is actually looking at the tasks. Obviously with them spread all across creation and only appearing when I go to look for them, stuff gets lost.

So why am I feeling positive about Hiveminder? The somewhat cornily-named braindump feature, and the wide variety of communication gateways they provide. This combination means I may actually use it consistently for entering tasks, enough that I get used to it. Then it's just a matter of whether I actually use it to look for tasks. I'm hoping their email reminders might help with that, or that it just might be so useful I keep it open a lot (for entering things) and get reminded.

Braindump. So simple, and it seemed so uninteresting when I first saw it. And yet, it's so good. The idea is simple: you just jot down a quick note about a task you have, optionally adding some tags, details (priority, due date, etc), and further description using a fairly intuitive and simple syntax. Hiveminder's parser turns it into a (or more than one, if you jotted down more than one) task in their todo list for you. It's as easy as 'cat'ing it to the end of a todo.txt, but you get all the power of a database in the back-end once you've done it.

I mentioned gateways. In fact, remember that I first got interested when I found out there was an IM gateway. There is. In some ways, it might actually be more powerful than the main ("Web 2.0") front-end. And all you do is send commands over an IM connection to their bot (AIM or Jabber). I always have some sort of IM open, as many of you know. So I can keep a window open on the bot, and tell it a new task...you guessed it, in the braindump format. It can also show me tasks, search them, modify, or even show a random task. I'm starting to feel like a salesperson here...I really do think it's that cool.

In addition to IM, you can submit tasks via email (nifty), and you can export some/all of your task list to a text file (and edit it and send it back with changes/additions). This last is cool because they provide a todo.pl which will fetch these text files and send them back (as well as doing much of the other stuff you might want to do, now from your bash prompt).

So the bottom line is that there are tons of ways I can now jot notes down and have them all end up in the same place. It's all as easy as spewing it out of my mind into the computer and having it there for later.

The astute might have noticed this entry is also tagged with vim. It's my editor of choice, and I spend a lot of time there. Recently, I've been playing a bit with syntax files. That text file Hiveminder exports has syntax. It's simple, but it's there. Wouldn't syntax highlighting for it be nifty, so it's easy to catch typing errors and the important stuff stands out from the annoying (but necessary) background stuff? Yep, I did it. I've uploaded my hiveminder.vim syntax file over at http://www.vim.org if anybody wants to play with it. I think it's pretty cool.

I also wrote a bash_completion script for that todo.pl I mentioned earlier. I haven't posted it anywhere yet, but it's neat, too, and I'd be happy to send it to anybody who asks. I'll gush about how cool bash_completion is some other time, if I haven't already.

And, just for fun, while I was already playing around with stuff, I did a vim syntax for jlj (the client I use to post to LJ) entry files. It could use a little work still, like adding lj-specific tags, but it gets things done. I haven't posted it to vim.org yet, but I may. Have I mentioned how much I hate typing entries into a browser window/love being able to use vim for it? Yeah.

Oh, yeah. vim has spellcheck now. Nifty stuff. During all this syntax stuff I discovered that and enabled it. My syntaxes only check for spelling where it's appropriate.

Saturday, December 22nd, 2007 11:50 pm (UTC)
I think there's some fundamental way in which the folks developing this thing think like I do.

Having known its chief architect a long time, I can say that there's some truth to that. I'll have to show him your post, it's cool that you've developed some stuff for it.
Sunday, December 23rd, 2007 01:30 am (UTC)
You actually sound like one of the people David Allen's _Getting Things Done_ system was designed for.

I can't do it because I don't trust myself to offload enough stuff into a system (so I always undermine my own offloading), but if you can do it well, it might be worth checking out.
Sunday, December 23rd, 2007 04:47 am (UTC)
Oh goodness. I'm right there with you with the "jotting lots and lots of notes down *everywhere*" thing. I make it a point to keep sticky notes, or backs of paper, or index cards next to the computer, because even with the brilliant invention of text files, four times out of five, I still grab for the paper and pen to write notes down on first.

I like tagging things. I like being able to tag things with lots and lots of tags, that make sense to MEMEME, so that I can actually get to them again. I really really like having a Todo* that I can sort out by type of task. Looking at my room and going "I should clean things somehow" is a lot easier when I can just hit the cleaning tag and see everything I need to do.

Andyeah. Yay for clever interwobby things. *runs off, because she can't think of anything else to say that makes sense, because she is full of Oz retellings and Drag Queens.*

~Sor

*Rhymes with "dodo" (as in the bird) and no, there's no real reason. Just a word I use.
Sunday, December 23rd, 2007 12:36 pm (UTC)
\o/

Glad you're enjoying Hiveminder (and Interhack)!
Monday, December 24th, 2007 02:02 am (UTC)
That'd all be pretty neat. Warning: the Interhack code is quite crummy! Even the rewrite. Arg!

Do you IRC? You could come into #interhack on Freenode. It's mostly NetHack bot discussion these days (which is of course tangentially related to Interhack), but we still do talk about IH occasionally.
Thursday, January 31st, 2008 06:33 am (UTC)
*random stalking*

I've managed to reverse-engineer todo.pl so I now have todo.rb (I'm fluent in ruby, which is more than I am in perl). It takes your HM tasks and outputs them - in my case, to the desktop through GeekTool (for OS X). Yeah, so, it does exactly the same as todo.pl, except it's probably smaller and I know what it's doing.

I highly recommend having a list of tasks on your desktop - the problem I have is that I always forget to check up and so three weeks after something is finished I'll still have it on my todo list. Having it right there in front of me reminds me what I need to get done.

I have to admit, I use the web interface very little. IM + todo.rb is fine. If I had more time I'd probably add task creation to todo.rb and then use Quicksilver, since that's already embedded in muscle memory.
Thursday, January 31st, 2008 09:10 pm (UTC)
I abandoned vim when I discovered how awesome TextMate was - I might have to look at making some sort of grammar for it sometime, depending if I get into the habit of downloading the plaintext and editing that.