This is an archived course. Information may be out of date, some links are broken and email addresses have been removed.

09 Artificial intelligence researcher

As a kid, I read a lot of Asimov, and when I got into computers, I
thought AI was way cool and learned about expert systems and the like.
I have to admit, I'm still tickled pink by the fact that I get mail
from the American Association for Artificial Intelligence (which my
friends pointed out sounds kinda like it might be an association for
AIs, not AI researchers). :)

I got really interested in computers as a pre-teen when my mother
brought home a BASIC for kids book for me and my brother. I taught
myself a bunch of programming and learned from friends throughout high
school, but I wasn't exactly hiding in my basement all the time. I
also did a lot of hiking and basically field biology and learned about
natural history. I was part of this nifty club called the Space
Simulation (http://www.spacesim.org) and ran education programmes for
local elementary school kids. I played clarinet and violin and sang (I
still play clarinet, actually, with a community concert band). Still,
when I hit university age, computers seemed like the way to go, and I
got a big scholarship at a local university to study computer science.

It took me very little time in first year to realize that simple
computer science was too boring to keep me mentally stimulated for 4
years. By the end of the year, I had switched to a math and compsci
joint-honours program because of the excellent, enthusiastic profs in
the university's math department. Now, I was doing courses that were
actually challenging, yet still had enough compsci to go on to become a
programmer. My diploma reads something like "Bachelor of Mathematics,
Honours, Computer Science and Mathematics, Specialization in Computing
Theory and Numerical Methods, Co-operative option"

The "co-operative" part of that means that my degree took 5 years
(instead of the usual 4 for an honours degree), but I spent time doing
degree-related work terms in between school terms.

* My first work term was as a network tech, which mostly involved me
sitting around waiting for something to happen and occasionally fixing
people's corrupted MS Access databases (hint: you can fix a lot of
corrupted things by converting from one format to another, and often
you don't even lose any data, just the buggy bits!).

* My second term was more up my alley, working as a programmer with a
group that made the base platform so the company's products could
interact with many different databases on many different operating
systems. My boss, when interviewing me, claimed that this was not a
sexy position, but I loved watching the SQL transformations and
learning debuggers for unixes I'd never tried before. The team was
full of interesting people, and the whole experience was made even
better by my boss, who really knew how to manage a team well. I'd
actually taken the job because I liked her so much, and I never
regretted it. I'd go back there in a moment, but life wound up taking
me in another direction..

* My third term I decided I wanted to try working with wireless
technologies, and I landed a job as a research programmer: the team
basically made demos with new technologies and generated ideas. I was
the first woman the team had ever had (a switch from the previous job,
which actually had more women than men!) but the guys were great to
work with, and rather enthused by the fact that I was a linuxchick. :)
The company was still flush with cash (hadn't been hit by the dotcom
crash yet) so there were toys and soon, they bought me ingredients and
I was showing my whole team how to roll nori-sushi. The work was
interesting, and I got to play with the Agenda VR3, the first
commercial linux-running PDA (and subsequently a bit of a flop, but it
was cool anyhow), and I got to watch the formation of the W3C standard
for SVG and demo my device to the working group.

This whole research thing was pretty darned cool, so I started thinking
about whether maybe research would be more fun than programming...

In my last year, I took a grad course on a lark because a friend
recommended it. The course was "Swarm Intelligence." Swarm
intelligence revolves around the idea that groups of organisms, like
ants and bees, can produce really complex behaviour. You can simulate
the simple organisms with fairly simple rules (with ants, this involves
following pheromone trails, dropping pheromones, and searching for
food), and produce some pretty neat behaviours (ants that find shortest
paths in networks; good for routing network traffic without requiring
something that can see the whole network!). Here it was: AI that
combined my interest in biology with my background in computing.
Biology's already solved all sorts of problems, so it makes sense to
"borrow" the solutions!

It was here that I was introduced to the idea of artificial immune
systems. The idea is the simulate the workings of the human immune
system on a computer, but rather than having it detect human viruses,
have it detect computer viruses, or do intrusion-detection to make your
machines more secure. Sitting through the lectures, I thought "Hey,
why not have one of these for spam?" but when I went to see if this
worked, I couldn't find anything. Artificial immune systems is a
relatively small and new field, and it seemed no one had tried this.
So I whipped up some perl code, built a prototype system, got some
decent accuracy, and turned it in as my final project.

I graduated around this point and started gearing up to job hunt while
I worked as a research assistant continuing some work on the p-median
problem. (roughly translated: a city can afford to build P fire
stations. Where should they be built to minimize response times to the
entire city?)

The prof from the swarm course got in touch with me: he liked my
spam-detecting AIS and wanted to submit a reduced version of the paper
to a conference. I had to condense the paper down to 8 pages, but if
it got accepted he'd pay for me to go to the conference to present it.
Seemed like a pretty good deal to me, so I worked like crazy to meet
the deadline.

Sure enough, the paper was accepted! I was going to Chicago!

My co-author started asking me if I'd considered grad school, because
he really thought this work could be continued. I was non-committal,
but when he suggested that he could pay me to continue in school...
well, this was around the time of the bust and by that point I'd
realized that finding a job could be pretty hard, with the market
flooded with people with more experience than I. I took him up on the
offer, and just this December finished the Master's thesis that arose
from that work.

I thought I'd go find a job around now, but a number of things have
convinced me to go on to do a PhD: There's so much *more* I can try
with my system or more generally in the field of artificial immune
systems. I accumulated scholarships and have enough funding that I
make nearly as much as I'd make as I would as a junior programmer, but
instead of fixing other people's bugs, I get to choose and define my
own projects! And then there's those all-expenses paid trips to
conferences if I write a good paper... :) (So far, I've been to
Chicago, USA, and Canberra, Australia -- next up is hopefully a trip to
Banff, Canada!) And working with my supervisor has been a joy -- he
helps me keep on track, points out interesting things I should pursue,
provides excellent feedback, and his enthusiasm and support for my work
really makes things happen. Working for someone you like and admire
makes *such* a difference.

It's not at all what I expected to be doing, but it's fun. I get to
help other students learn, which can be a really rewarding job (I've
got a lot of favourite moments, from the girl who wanted to give me a
hug when I helped debug her program to the guy who sent me this perl
joke he'd made up while doing his assignment), I get to learn lots of
new things myself (I'm taking this excellent course in biology and
security -- learning about how the way biology deals with the flu might
be able to inspire us to find better solutions to computer virus
problems... it goes well with another course I took which had us
tracking security vulnerabilities for 4 weeks just to get an idea of
what's out there), and I get to do research in a pretty exciting field
(no matter how much I whine about how my job involves reading a lot of
spam). Sometimes, the perfect job just isn't where you think it's
going to be, but I'm glad I've found it. :)