|« Easter at work||Git to fogbugz with perl »|
Fri, Mar 30, 2012
I read an article a while ago, which talked about how humans have started offloading their memory to computers, using an ancient phenomenon called "transactive memory" - if you're an Indiana Jones fan, you'll be familiar with the concept as stated by Sean Connery: "I wrote them down in my diary so I wouldn't HAVE to remember."
I mentioned that we use Fogbugz to track our tasks at work. It does a good job of organizing our workload, but it's not the only thing I use to remember things I need to do - not everything that needs doing makes it into FB; nor does everything that needs to be added to FB get mentioned somewhere where it's possible to add it immediately.
In the early days, I just had the notepad, and a somewhat slapdash approach - if I needed to remember anything, I wrote it down in the pad.
That worked for "Discuss something, make a note, go back to desk, FB it" types of issues. But then if I made a note about something that I couldn't act on for a while, it did have a tendency to get lost in the shuffle. So over time I found myself having to add slightly more to the process.
So now, the first thing to do in the morning is to write the date in the pad - this way if I need to refer back to something I wrote a month ago, I can find it without looking at every page.
Put big asterisks/stars by every "todo" you need to handle. If you have a decent pen then colour-code them. I use red for "official" work-related todos, blue for reminders to myself, etc.
When you've dealt with a *'d item, cross it out. When all items on a page are dealt with, put a big line across the page. With the caveat that you can only do so when the previous page has also had a line through it - this way if you have some reminder a page or two back, it can't get lost by accident: the un-lined page forces you to backtrack until you find the * that's stalling you. If everything you need to remember is *d and you can't lose *s, you have a very reliable transactive memory.
So that's the paper scratch pad dealt with. Now the e-version.
For actual code editing, I'll take Vim over any other editor. However, it's not ideal for scratch usage. Gedit does the job much better - it's easy to copy & paste to & from; it's easy to have multiple tabs; it's easy to have it save changes to disk periodically.
So I always have at least two gedit windows open, each of which has multiple tabs. The first has 10 tabs, and is a simple dumping ground for anything I might need - relevant log outputs, debugs, variable dumps, code snippets, etc. I work my way through in a loop, over-writing the oldest document with new data so I have a permanent stack of stuff I've been using for recent tasks. Very handy.
The other is more permanent and more organised. The first tab is my main todo list - this is where most of the *'d items on the paper pad get put if they don't merit a FB entry. I go to this multiple times throughout the day. You might wonder what the advantage is over having TODOs in a gedit window instead of a notepad are. They're twofold: Firstly, my notepad has lots of things other than TODOs in them, so it's easier to track them in a single gedit document where they're uncluttered & can be moved up and down in priority; secondly, I occasionally get stuck working from home, and I can remotely access a gedit document a lot more easily than a notepad on a desk 30 miles away. And it's always current because the document auto-saves every ten minutes.
The other dozen or so tabs are subject-specific, with titles such as perl, vim, git, js, etc. I often come across something useful to know that I know I'll want to know again in future, but won't use often enough to remember it unassisted. So it gets an entry here, where I can find it quickly & easily next time I think "I know I've done this before, how did I do it?" Hopefully, as I use things in here more & more, it gets ingrained enough that I can remember it unassisted & remove the entry. So I have things here like:
and so on.
It might seem like a lot of hassle and organization just to remember things. It's really not a time-consuming process, though - a few seconds here & there is all. Sadly, the reason I evolved the system & stick to it scrupulously is that it's the only one I've found that works. I don't remember everything, or even close to everything. But I do make sure that nothing important or useful gets forgotten. And that's a Very Good Thing™
|<< <||> >>|