Today I managed to screw up my todo.txt file that I use with Mind Traffic Control.
I had to recreate it from some backups that weren’t quite as up-to-date as I needed them to be.
And I got a lot of duplication in the file. And obviously items that had been done are now back in it. (Remember, I don’t keep “checked off” items)
So how to fix?
Diffing MTC is complicated. Because you do a lot of re-ordering of the queue in MTC, two todo.txt files can be almost identical, but the diff of them is huge. And it’s hard to understand how similar they really are.
Fixing that problem is kind of easy : you sort both copies of the file into alphabetical order, diff them again, and now it’s much easier to see and deal with how much difference there really is.
So I did that. On Linux simply
cat todo.txt | sort > sorted_todo.txt.
meld sorted_todo.txt sorted_backup.txt
And that was fine.
Deduping a sorted file is easy. I’m sure there’s a command line tool for it already but I wrote a 4 line Python script.
So now I have as up-to-date a version of the todo.txt as it’s possible to have. And it’s deduped.
it’s now sorted in alphabetical order. And has 1506 items in it.
This is going to be interesting.
So the philosophy of MTC is precisely that the order / structure of the overall queue isn’t really that important. It obviously IS important because your “Next Item” is what’s at the front of the queue.
But most of the time you deal with a few items in the front. And then searching / pulling / pushing “tags” to estimated distances into the future.
That’s worked fine. But I’ve never done a mass (and arbitrary) reordering of the queue before.
So this is going to be a big test. Are the facilities of MTC, plus my own previous tagging discipline and ability to remember what to search for, sufficient to the job of managing a list of 1500 items now that they are out of order?
In some ways, I’m happy to have to face this challenge. It’s going to be a very interesting test. I’m optimistic that MTC is up to it. But I’m keeping an open mind. I may find some issues. And have to write some extra functionality to resolve it.