I . . . really don't want to admit how much time I just spent fixing my vim
syntax files for jlj
and markdown
so they work the way I want them to.
All because something about the way they were interacting with one another was making it treat ' as the beginning of a quoted string, so, for instance, everything after the ' in don't
until the next ' somewhere would get highlighted bright magenta, making it hard to tell what was going on and interfering with other highlighting.
The time consuming thing, beside tracking down what was causing that, was that I wasn't happy with the way the mkd.vim
I picked up off vim.org handled "reference-style" links.
At least it's working in a way I don't hate now. I'll say again, this Markdown thing is pretty cool. Something out there has probably made it completely obsolete by now.
Ah, shoot; I just remembered I'm not happy with the way the markdown syntax handles emphasis
and strong
. Work to do sometime.
I've done some reconfiguring of a number of tools to take advantage of the new layout...
( Read more... )
Vimperator is one of the coolest things I've seen in a long time, and that's saying quite a bit. It's a Firefox extension which uses vim-like controls for controlling the browser. It looks like I can do most tasks without having to take my hands off the keyboard, once I learn how it works. And, in proper fashion, it supports custom keymappings so you can put commands where you want them.
Now if I can only figure out how to get vim (or something with controls like it) within a text box in Firefox so I don't have to edit outside and paste...
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.