Wednesday, March 08, 2006

How to Do Research in the MIT AI Lab

Now that I finally found this link to How to Do Research in the MIT AI Lab, I'm putting it here so I won't lose it again.

It's where I got the idea of reading How to get control of your life and your time by Alan Lakein - which made a big difference - and where I first learned about the Secret Paper Passing Network. This also made an impression: that over his or her first couple of years an AI student at MIT should expect to write their own version of:

"a truth maintenance system, a means-ends planner, a unification rule system, a few interpreters of various flavors, an optimizing compiler with flow analysis, a frame system with inheritance, several search methods, and an explanation-based learner"

Also some very good tips on how to give talks that have stuck with me:

You can only present one ``idea'' or ``theme'' in a talk. In a 20 minute or shorter talk the idea must be crystal clear and cannot have complicated associated baggage. In a 30 or 45 minute talk the idea can require some buildup or background. In an hour talk the idea can be presented in context, and some of the uglies can be revealed. Talks should almost never go on for more than an hour (though they often do).

The people in the audience want to be there; they want to learn what you have to say. They aren't just waiting for an excuse to attack you, and will feel more comfortable if you are relaxed.

Saturday, March 04, 2006

My forwardwriter

The several writing books I've looked at strongly advocate something they
call free writing, or automatic writing. The idea is just to write
continuously for a while and produce lots of stuff measured by the
page, even if its complete crap, and to do this on a very regular basis.
The idea is that it prevents you from getting stopped up about actually
sitting down to write which is itself a very important thing, if you've ever spent a
number of days not even being able to sit down at your word processor
because of dread of the blank page and the blinking cursor. There's a
whole set of steps, but basically they say to write as fast as you can,
and don't think very much about it and don't self-criticize. Don't stop and
look back at what you've written.

To help me to try this tactic out, and to combat bad habits of fiddling with wording and spelling rather than forging ahead to the end, I have
made myself a forwardwriter. This is a word processing program that
doesn't recognize the backspace key, arrowkeys or the mouse. You can only
write forward. It's impossible to correct spelling, or second guess
yourself. You just continuously type.

I've found a way to set one up for Mac OS X, and the instructions below
pertain to that platform. Luckily I found a solution that doesn't involve
physically popping off the delete key as I was considering at one point,
my backspace addiction was so bad! I would like to hear ideas about how to set
up forwardwriters on other platforms (of course there's always paper and a
pen, but that has other disadvantages). My method requires acquiring some
small familiarity with the text editor EMACS.

1. Run the Terminal program, which should be in the Utilities folder
within the Applications folder. This opens up a Unix prompt.
2. Go to the Terminal menu, Window Settings and find Keyboard in the
drop-down menu in the dialogue that comes up. Click "Delete key sends
backspace" (so it is checked) - this disables your backspace ability for
that terminal.
3. Click Add below the Key Mappings window. For Key: choose Cursor Left
for Modifier: choose none, and click OK. Do the same again except for
Cursor Right instead of left. This disables the left and right arrow keys.
4. Type

emacs myfilename.txt
and the EMACS editor will pop up.

This is a little like the Pine email editor if you've used that, but also a bit different. It does take a little time to master completely since like many Unix programs it's not very intuitive. But if you just want to use it as a forward writer you could probably get by with just the following commands:

* control-x then s saves the file
* control-x then control-c quits, prompting you if you want to save
first.

I've found my forwardwriter to be a really valuable tool, not just for
conditioning yourself against that blank-screen freeze but also for
actually generating material - often when you look back at it there's a
lot of good stuff amongst the messy spew. You can use it to make a "draft
0": the one where you pull together bits from all the stuff you have,
eliminate duplicates, and try to come up with something that vaguely
resembles a complete draft (also see my ropebridge method). I also use it often to just bust my way through any problems I'm having, and to come up with ideas. It's basically impossible to write about your topic without thinking - and I'm tempted to say vice versa, since I've gotten about 10 times as many ideas writing than I ever have staring off into space.

One of the best things about the forwardwriter is that it allows you to really measure how much writing you're doing. Then, as many of the books recommend, you can set yourself a daily writing quota, say of three or four pages. It doesn't have to be a lot, in fact it should be a little, but it should be kept up, a little every single day (hence the book title Writing your Dissertation in Fifteen Minutes a Day). I'm not doing that at the moment, but I have for months-long stretches, and it's very motivating and satisfying to see those pages adding up. For a long time I was even plottinghow many I wrote per day with a felt pen on a chart posted on the outside of the door to my room so that if my page count flatlined it would be exposed to all my housemates! I'll probably do it again when I have my next writing project.

Future entries (like this one about the ropebridge)will talk more about how I integrate my forwardwriter into some systems for tackling projects.