August 2, 2007

Plywood boxes

August 2, 2007 - Categories: emacs

By default, objects created in Second Life are plywood boxes. I’m not
really interested in learning how to making these cubes look like
anything in particular. I’m just interested in making them do cool
things. Someone else can put time and effort into making a replica of
a real-world object or a fantastic new device… I’m just here to play
around with programs. =)

Stephen Perelgut wanted a structured interviewer that collected data
in-world instead of requiring people to fill out a notecard or leave
Second Life and fill out a web-based form. So today, I built an
interview-bot which asks a series of questions and stores the answers.
Avatars can click on the bot to start, and can resume this
“conversation” at any time. Chatting on a separate channel means that
answers are reasonably private. The data is stored in the object and
can only be retrieved by the object’s owner.

In order to build this, I learned a little bit about how to work
around Second Life’s data limitations. You see, the Linden Scripting
Language doesn’t have multidimensional arrays. Fortunately, has a library for accessing multidimensional arrays by
packing and unpacking lists of lists, encoded as strings. The library
is kludgey, but as long as my code looks relatively neat, everything’s

Future versions of this interview-bot will allow avatars to review,
change, and submit their answers through the Web or through e-mail. I
also hope to make it easy for owners to customize the list of
questions. A notecard would do nicely for setup. I can also make it
easy for owners to get a notecard of results.

It was fun programming the scripted object, and even more fun chatting
with the other IBMers. I met a number of interesting people today
thanks to awesome connectors like Andy Piper and Stephen Perelgut.
I can’t wait to build other interesting things in Second Life!

On Technorati: ,

Random Emacs symbol: planner-read-non-date-page – Function: Prompt for a page name that does not match `planner-date-regexp’.

Can’t help but teach

August 2, 2007 - Categories: teaching

Learning about learning was how I found out that attitude can make
such a difference. In particular, the research on women and
math/science education showed me how much influence attitude and
self-esteem had on girls’ decisions whether they would take university
courses involving math and science. Attitude and self-esteem, on the
other hand, could be greatly influenced by teaching practices and

I saw this clearly when I was teaching computer science to first-year
university students. Some students faced each challenge with
excitement. Others were frustrated. The more frustrated they were, the
further they fell behind. I could hear some of them slipping away.
Yes, I tried my best to reach them. I’d walk around and come up with
in-between exercises to help students gain confidence by mastering
small parts of lessons. I looked for creative ways to make concepts
concrete. My very first lesson wasn’t about writing code – it was
about cooking spaghetti! (We got a lot out of that!) I kept looking
for opportunities for positive reinforcement and I helped people keep
moving forward by focusing on what they can learn in order to do

It didn’t always work, and when it didn’t work, the self-doubt in
their voices and on their faces almost physically hurt. It wasn’t
because I was disappointed that not all of them fell in love with
computers. Even if some of them were probably better-suited to another
field, I wanted to leave them with a good feeling about their
problem-solving skills—and halfway-decent problem-solving skills as
well, of course.

But yes, attitude. That feeling of “Yes, I can do this.” Or even just,
“Yes, I’ll be able to figure it out.” Or at the very least, “This
might not be my thing, but I’m okay.”

I guess that’s why, when I hear frustration possibly turning into
self-doubt, I feel an irresistable urge to teach, to try different
approaches. A little frustration isn’t a bad thing. I’ve learned a lot
by wrestling with problems. But when it threatens to go from “I’m
having a hard time solving this,” to “I can’t get the hang of this,”
to “I suck,” I find myself up and out of my chair before I know it.

Is this a good thing? I don’t know. This compulsion of mine regularly
drove me to doubt my own skills when I was teaching. After class, I
could often be found huddled under my desk munching on an emergency
stash of chocolate. But I’m glad I cared, and I’m glad that I still
do. I’m glad that this caring forces me to be creative, to get out
there and learn how to do things well, to think on my feet.

And here, now, even if I’m “teaching” a class of one, even if I don’t
really have to teach… I can’t help it. I’m addicted to that aha!.
All teachers know what I’m talking about—that moment that makes
everything worth it, that reason why you keep pushing yourself
forward. =)

Random Emacs symbol: bbdb-pop-up-display-layout – Variable: *The default display layout pop-up BBDB buffers, i.e. mail, news.