Tuesday, September 30, 2008

GHC: An Unexpected Free Day

I woke up this morning with the other three executive members of Carleton's Women in Science and Engineering in Denver, Colorado, ready for the next leg of our trip to Keystone. After a quick breakfast and a shuttle back to the airport, we were ready to hop onto the van to Keystone. After about an hour and a half of driving and girl-talk, we pulled around the corner of one of the mountains onto Highway 6. We had arrived in paradise.

(A peek of some mountains outside the van on the way to Keystone.)

We first stopped at the Spa and Lounge to check in. Our room wasn't anywhere near there, but there was no concierge where we were staying, so we were asked to come here. This gave us our first view of the lake and surrounding hotels and activities. Unbelievable.

(The view from the lake a couple of stories up in the Spa and Lounge.)

After checking our bags and getting our keys for later, we headed to the conference centre. Three of us were going to be helping stuff swag bags at 1:00, so we figured we'd head over early and try to get that lunch they promised us.

Little did we know that the morning shift of bag stuffers would be so efficient that we were no longer needed! Oh well, one can't complain about getting an unexpected free afternoon along with one's free lunch! So after an enjoyable bite to eat outside, we walked back to the lake to see what was happening there.

Back at the lake, the blue-green water was just too tempting...

... so we used some coupons we got when we checked in and rented a paddle boat and kayaks. The geese and ducks followed us all around the lake. We spent an hour and a half floating around. When I was drifting by myself, it felt so peaceful. Just me, the water, and the mountains. Everyone should get a chance to relax like that for an hour every once in a while.

After getting a bit burned on our faces, we set off to check out our room in hopes that it was ready. We were a bit disappointed by its lack of wireless Internet, awkward layout, ugly decor, and old age. It was also surprisingly secluded, with no shuttle service even! However, we got lucky - and I don't know how we keep getting so lucky - because after Serena called for help on the wireless connection, they offered to put us in a room that actually did have it. In a better room. For no charge. Wow! The new room is everything the first room wasn't... with a great balcony view to boot!

So that's it for today, and we are thinking of heading to bed soon because we have volunteer duties early in the morning. I don't think we'll be getting out of those by any stroke of luck. But that's ok, because we should meet some great people in the process. Can't wait to see how tomorrow goes!

GHC: Travelling is Fun

The four of us executive members of Carleton's Women in Science and Engineering have arrived in Denver, Colorado, and can't wait until the Grace Hopper Celebration of Women in Computing gets started! But I have to say getting here wasn't quite as easy as it could have been...

We congregated at the Ottawa International Airport at 1pm today, meeting two full hours before our flight was supposed to leave. Of course, nothing is that simple, so as we tried to check in with our pre-printed boarding passes, we learned that our flight had been delayed and we would miss our connection in Chicago. Great. Although we booked with Air Canada, our flight was with United Airlines. We got switched to Continental and flew via Newark, New Jersey.

After running to the other end of the airport to get new tickets printed, and then running back to the new checkin desk, it was off to US Customs. It was surprisingly easy for me to get through, and once I was done, I waited in the gates area. And waited. And bought a muffin and cookie from Tim Hortons. And waited some more. Finally, two of the other three showed up. Where's the fourth? Oh, you didn't see her? Hmm...

Turns out our fourth member, who happens to be travelling with a Mexican passport, got a "random" security interrogation. Luckily, she's apparently used to it as she's flown to the US several times, but this almost caused her to miss the flight! We were so worried she'd be left behind to find her own way. She says that as she came down the escalator, she saw the boarding lady all the way on the other end of the gates area start to walk away after final call. Our fearless WISE webmaster managed to run across and get on the plane. Phew.

I was so glad to get to Newark and off the teeny little Continental express plane. Although it was only three seats wide and I got to be on the side of the aisle with one seat, I couldn't take any more of Mr. Sniffles. The guy right behind me was obviously under the weather, and couldn't seem to contain his urge to snortle, sniffle, gag, etc. Loudly and disgustingly. Nice.


(We stopped by a 50's style diner in the Newark airport and got a milkshake and junk food to go. I never got to eat mine, but it's ok - it was bad for me anyway! I'll be eating well the rest of this trip.)

The flight to Denver was mostly uneventful. I watched Speed Racer and chatted a bit with my seat mates. One was a really tall guy (who necessarily took up half of my seating room in addition to his own) returning home from a trip to Italy. The other was a young woman who was also returning home, but in her case from a CD release party for her friends in New York City. She was very nice and even ended up giving me a dollar bill for the headsets because they ran out of change.

So now we are here. Tomorrow, we are going to Keystone resort, and all but one of us are doing bag stuffing as part of our Hopper Volunteer duties. Our room is going to be great; it's a suite with two bedrooms and two bathrooms. We'll each get our own bed! Who says travelling isn't fun? ;)

Friday, September 26, 2008

First Paper Published

I was really excited to learn this morning that my very first paper was accepted and will be published in the December issue of ACM's Special Interest Group for Computer Science Education (SIGCSE)'s inroads bulletin. It is called "Girls, Computer Science, and Games" and is about the mini-course I ran this past spring. I was doubly happy that I got the news in time to include the contribution in my NSERC PGS-D scholarship application (a prestigous award for PhD that values research ability and potential).

Tuesday, September 23, 2008

Android and the Built-in Compass

It's not a big surprise that when the first Google Android-powered phone was announced today, it included news of a built-in compass. Alongside that, it's no less surprising that Street View would have a compass mode, in which it would rotate its view as you did. It's not like it's that hard to implement. Yet the results are very nice, as you can see in this video:

But like I keep saying again and again, wouldn't it just be so great to have imagery taken in real-time, while you're standing there, and augmented with more interesting things in addition to the straight-line street markers? It's high time I either get me an Android-powered phone or figure out where to do a Google internship so that I can work on this myself!

Monday, September 22, 2008

Grace Hopper and the CONNECT Project

There's a really interesting project happening for the upcoming Grace Hopper Celebration of Women in Computing, and I'm already glad I signed up. It's called CONNECT and is true to its name in that it is designed to help delegates of the conference connect with each other.

In the project's own words:
CONNECT is a research project designed to explore techie ways to help people make and maintain meaningful relationships from casual encounters. By participating you will be able to record and access connections you make at the conference. You will receive tips, motivation, and support for improving the value of connections you make.
The way they let you record your connections is to set you up with these name tags that I assume have some kind of bar code. Your tag is colour coded to show whether you are an undegrad, grad student, from the industry, and so on. When you sign up, you indicate which kind of people (from the same categories) you are interested in meeting. You can also mark down the areas of computer science you are interested in, including artificial intelligence, computer vision, algorithms, software engineering, and so on. When you meet someone you wanted to connect with, you both have a volunteer scan your name tags. A database tracks the fact that you met, and you will later get an email with the contact information of those people. Pretty cool!

If you can't wait to see who you might find interesting, you can even search the database now.

I think this is a really innovative way to facilitate networking, especially at a techie event. It almost feels like a game, making that first contact less intimidating. It also makes remembering who you met easy. Now you don't have to juggle business cards containing minimal information, wondering who you talked to and what about. With CONNECT, you get full profiles online, including a photo!

I can't wait to see who I'll meet!

Saturday, September 20, 2008

Google and Mobile

Google knows where it's at when it comes to mobile computing. At least, they do if you happen to love augmented reality and can't wait to see it used more on mobile devices (that would be me, for anyone that's new here).

Google notes the following as one of the many possibilities for future cool stuff to do with mobile phones:
Augmented reality: Your phone uses its arsenal of sensors to understand your situation and provide you information that might be useful. For example, do you really want to know how much is that doggy in the window? Your phone, with its GPS and compass, knows what you are looking at, so it can tell you before you even ask. Plus, what breed it is and the best way to train him.
I'm not so sure this is the most interesting use of augmented reality on a mobile device, but it does paint a pretty picture of what might be done. I think that a Street View using imagery taken on the spot would be very valuable, particularly in places with changing seasons (since the panoramas may have been taken in the summer and you are standing in a snowy intersection). Tourists might enjoy seeing historical buildings placed into the scene they are standing in front of or getting other useful directional information placed onto their screens.

The list goes on, and who knows -- maybe the techniques I'm researching for my thesis will help make this more feasible, since it could help provide much more accurate camera positions and therefore better augmentations. Exciting times.

Thursday, September 18, 2008

Enkin's Take on Navigation

I've talked about street level mapping before. In fact, it's the main motivation of my thesis topic, since I think that there is much potential in using panoramic images like those found in Google's Street View to narrow down the camera position of someone taking photos in real time, thus allowing for interesting augmentations of those photos. Well, I came across a project some time ago that I've been meaning to share, and this project seems to have, more or less, the same idea.

Enkin was an entry to Google's Android competition, and though it didn't win, it does offer a halfway-there solution to the dream of realtime street level mapping. As described in the documentation, "the fundamental principle of Enkin is to display location-based information in a way that bridges the gap between reality and classic map-like representations." It is built for a mobile device that makes use of Google's Android SDK. A video shows the software in action on the main Enkin webpage.

Enkin has several modes, including a standard map visualization of the area the device is physically located in. Alternatively, a user can switch to a satellite mode that provides a skewed three-dimensional view of satellite data, oriented in such a way that it lines up with the direction the device running Enkin is facing. The user can have special tags augmented onto the satellite image that point to significant geographical locations (a friend's house, the hospital, a favourite restaurant, etc). These tags are visually placed with a downward arrow pointing to the actual location of these landmarks.

More significant is the "live mode" as it allows the tags to be augmented onto live video feed. These tags indicate how far in meters a nearby landmark actually is. This is nice, given that you can start to mentally eliminate the divide between the real world and the digital representation of it.

But this is also where I see the possibility of improvement. If the scene geometry between an image taken of the real world and a set of panoramas stored on a central server can be found, then a more accurate and useful augmentation might be possible. For example, buildings could be highlighted, or roads could be identified as they are in Street View. Even if these entities are not visible, knowing exactly where they lie could be helpful. Because more computational time would be required to accomplish this, augmenting live video is probably not feasible today. But combining these more detailed photos with the Enkin's video augmentation could enhance the user's experience and make navigation that much easier.

Tuesday, September 16, 2008

Let's Talk Science

Last week, I attended a short presentation about Let's Talk Science, a national outreach program that, among other things, pairs university students with elementary and high schools to give presentations to kids about science and engineering. The Carleton University Women in Science and Engineering group I'm an executive for is trying to help out with many outreach programs, at least by finding volunteers from our member base. But Let's Talk Science is the one outreach initiative that excites me enough to make it my "pet project".

The first thing that struck me is how well organized the Ottawa University/Carleton liaisons were. As we arrived to the presentation, we were given a comprehensive information package along with some free pizza. Part of that package included a code to help you register as a volunteer on the national website. There is going to be a four hour long orientation session next week at Ottawa U, and it sounds like it will be both informative and rather fun (based on the promise of flashy science experiment demos).

Looking through the different areas of expertise that a volunteer could cover is almost overwhelming. No matter what you are best at, you can present it! Apparently there are many "kits" available to volunteers for hands-on activities. I'm curious about what they might have for computer science, though I think I'd like to do some CS Unplugged activities regardless. I'm sure I will learn more at or after the orientation.

When I signed up as a volunteer, I had the chance to list the schools I was most interested in partnering with. So, naturally, I chose my mom's high school (where she is a special education teacher), the high school I went to, and the elementary school on my street. I can't wait to get in contact with these schools and start arranging some presentations!

Monday, September 15, 2008

Grace Hopper in Two Weeks

Four of the executive members of CU-WISE leave in exactly two weeks for the Grace Hopper Celebration of Women in Computing. We're bubbling with anticipation as we finalize our funding sources and travelling plans. Most of us have uploaded our resumes to the conference's database, and some have even heard back from the likes of Google and Carnegie Mellon University (not me yet, though!). We are all volunteering as Hoppers to help get stuff ready before the conference begins, and in return will get free registration.

Aside from all this administrative stuff, I've been perusing the conference program carefully. One of the main goals of attending this conference is to get ideas on how to run CU-WISE. As such, here are some of the talks I'm most excited about (exluding some nice technical topics).
Organizations Building a Better World: ABI, ACM-W, CRA-W and
Panelists: Telle Whitney (Anita Borg Institute), Carla Ellis (Duke University),
Lucy Sanders (NCWIT), Elaine Weyuker (AT&T Laboratories)
The panel will disseminate information regarding four major "Women in IT" organizations’ (The Anita Borg Institute for Women and Technology, ACM’s
Committee on Women in Computing, CRA’s Committee on the Status of Women
in Computing Research, Nation Center for Women & IT) projects and ways
that audience members can participate in the organizations’ projects plus
brainstorm new project areas and emphases with audience members.
The Artemis Project: Teaching Computer Science to Adolescent Girls
Panelists: Megan Hugdahl (Brown University), Jihan Chao (Brown University),
Emily Mellor (Brown University), Ashley Tuccero (Brown University)
The Artemis Project is a free five-week summer camp for incoming ninth grade
girls interested in computer science. It is held annually at Brown University.
Four undergraduate women who are studying computer science serve as
coordinators for the Artemis Project. It is their responsibility to organize the
entire program. Artemis fosters enthusiasm and provides knowledge to
students, building their confidence and giving them tools to apply to science in
the future.
Using Robots to Introduce Computer Programming to Middle Schools
Panelists: Shikha Prashad (Bryn Mawr College), Marwa N. Muhammad (Bryn
Mawr College), Mansi Gupta (Bryn Mawr College)
This project investigated the effectiveness of using personal robots in capturing
interests of middle school students to computing by developing a course that
teaches students the Python programming language to program a robot. We
conducted the course on 13 home-schooled students aged between seven and
thirteen years. Each student was provided with his/her own robot and a
textbook that we developed to accompany and complement the course.
Planning, Organizing, and Holding Regional Celebrations of Women in
Panelists: Gloria Townsend (DePauw University), Bettina Bair (Ohio State
University), Lecia Barker (NCWIT), Tracy Camp (Colorado School of Mines),
J McGrath Cohoon (NCWIT), Laura K. Dillon (Michigan State University),
Catherine Lang (Swinburne University of Technology), Khadija Stewart
(DePauw University), Ellen Walker (Hiram College)
The presenters will discuss their experiences in planning, financing,
organizing, running and assessing regional events for women. The presenters
will also discuss barriers that they have overcome in accomplishing their goals,
as well as practices that accelerate goal achievement. In addition, results of the
international Grace Hopper Celebration of Women in Computing Conference
will be briefly presented. Finally, we will emphasize a surprising side-effect we
have discovered.
Inspiring Girls in Technology: How to Make Every Outreach a Success
Presenters: Linda Kekelis (Chabot Space and Science Center), Shannon
Madison (Google), Reena Singhal Lee (Google), Marie-Ange Eyoum (Intel)
This workshop brings together the expertise of Techbridge, Google, and Intel
partners that have successfully collaborated and introduced many more girls to
technology and engineering. Participants will receive guidance on how to
organize a successful, impactful outreach event for girls and role models. They
will also participate in hands-on activities and receive concrete and practical
suggestions for conducting effective outreach.
Recruiting High-School Women into Computer Science
Presenters: Inna Pivkina (New Mexico State University), Joan Francioni
(Winona State University), Ann Quiroz Gates (University of Texas at El Paso),
Laura Marie Leventhal (Bowling Green State University), Enrico Pontelli (New
Mexico State University)
This BOF session focuses on ways of recruiting of high-school women into
Computer Science. We will discuss an outreach program developed at New
Mexico State University and another program at the University of Texas at El
Paso to promote interest of middle- and high-school girls towards computing
disciplines, and explore a role of inter-disciplinary components in such
programs. Participants will share challenges and experiences in recruiting
high-school women into Computer Science.
Beyond these talks, there are many that will cover issues relevant to our members, so we will be bringing home a wealth of information to share. Our plan is to give presentations and write articles upon our return to share our experiences and newfound knowledge and advice. Our first full year of CU-WISE will undoubtedly be all the more successful because of it.

Wednesday, September 10, 2008

Emily and the Uncanny Valley

Have you ever noticed that a lot of animated movies are either not about humans, or portray people in a cartoon-like way? Think of Wall-E for instance. The characters that were not shown with live action video were animated in a bubbly, unrealistic fashion. Many other blockbusters didn't have any (or many) people at all, like A Bug's Life, Monsters Inc, and Finding Nemo.

The reason for this seems simple: It's hard to animate realistic looking people!

But if you think about it a bit deeper, you might realize that some movies did fairly well with realistic animations. Take, for instance, Final Fantasy: The Spirits Within.

Pretty stunning. At a glance, the still image even looks pretty real. But when watching the movie in motion, something seems amiss. The problem is often the characters' glassy eyes. Animators aren't entirely sure how to produce natural eye movement for realistic renderings.

If you can't shake the feeling that you are watching something more like a corpse than a living being in movies like this, you are not alone. You're just experiencing the Uncanny Valley first hand:
The uncanny valley is a hypothesis that when robots and other facsimiles of humans look and act almost like actual humans, it causes a response of revulsion among human observers. The "valley" in question is a dip in a proposed graph of the positivity of human reaction as a function of a robot's lifelikeness.

Interestingly, current technology may be starting to find its way out of the valley. This demo may surprise you. The person in the video, named Emily, isn't actually real. But she sure looks it. If you didn't know she was animated, you'd never think twice, and never get that uneasy feeling. At least, I sure didn't. I'm not sure if it's a good thing that we may no longer be able to distinguish between real and fake, given the problems that could arise in court cases and such. Only time will tell.

Thursday, September 4, 2008

Making Games Think

This article was originally written for NerdGirls.com.

As more women than ever before begin to find themselves interested in video games, it’s likely that many women are also wondering, “What is it that makes games think?” For many games, from adventure and role playing genres to challenges like chess, game developers need to incorporate techniques that allow help a computer to think for itself in a timely fashion. Some of these techniques will be revealed below as light is shed on what gives games brains.

First, let’s reflect on why having good artificial intelligence (also known simply as AI) can be so important for a game to be fun. Many board games and first person shooters can’t be played without an actual opponent, but a human contender is not always available. This makes providing an opponent controlled by AI an important option. Adventure and role playing games don’t usually involve a real opponent, but there are always bad guys that have to fight back realistically. Make them too hard, and the player will die too often. Make them too easy, and you take away all the challenge. In sports games, announcers have to make sense when describing the plays you make. Choppy or confusing voice-overs would take a lot away from the realistic nature of the simulation. Even with these few examples, it’s already clear how important AI can be in making a game more realistic and more entertaining.

How does a computer - which can do calculations and perform basic instructions really really fast but can’t do anything we don’t tell it to - think? Well, it can’t. It can only simulate the kind of intelligence we possess as humans. In games, the basic steps to looking smart are:

1. Sense what’s happening in the game.
2. Decide the best course of action based on the information available.
3. Perform the best action.

After the state of everything happening in a game is put together for examination, it can be used to figure out what action could be taken so the game appears intelligent. It’s this second step that we’ll talk about here, looking at some different ways to make this decision.

Let’s see how this is applied to the game of checkers, where we are playing a computer opponent. We’ll say that we just made a move and the computer must decide what it should do next. The first step is to sense what the current state of the game is. In checkers, this means looking at each square on the board to see if there is a black or white checker on it, or none at all. Now the computer knows what moves are available to it, based on the rules of checkers. Pretending to take each one of those moves, the computer then branches out and checks what moves are available next. It can repeat this several times before times or memory runs out. After looking through these scenarios, the computer can use some form of evaluation (given to it by the programmer, of course) to decide which outcome would be the best. The more scenarios the computer has time to look through, the more likely it can choose a path that will allow it to win. This strategy is known as “state based search” and was used to help IBM’s Deep Blue beat a reigning world chess champion.

For games that have to manage autonomous enemies or friendly characters, state based search doesn’t quite sound like the right solution. Instead, something called a finite state machine might be used for adventure, shooter, or role playing games. This structure has ‘islands’ that represent various states that a character might be in. For example, one island might represent the ‘asleep’ state, another the ‘fighting’ state, and another still the ‘wandering’ state. Then there are ‘shipping channels’ set up between the islands, but you can only get on a particular ship when a certain event happens. So let’s say that an enemy is currently in the wandering state, and after sensing that you, the hero, have become close to him, the shipping channel from the wandering state to the fighting state is opened up. Now the enemy ‘changes islands’ and ends up in the fighting state until something allows him to leave it. While in that state, the actions he takes will be predefined for the fighting state. In this way, the decisions that a particular character can make after sensing the state of the game are coded into this islands and shipping lanes map.

Those are just a couple of ways to add a bit of intelligence to video games these days. You can learn about these two and more at such sites as The Game AI Page, AIGameDev.com, and Game/AI. If it turns out you’re interested in this, there’s still lots more to figure out so it’s a worthwhile subject to learn about in school!

Wednesday, September 3, 2008

Promoting WISE

After three hours of TA orientation training I had to attend because I missed it last year, I helped work the booth we had set up for the Women in Science and Engineering group here at Carleton. We had a nice, big, foam-backed poster set up on an easel, our brochures and cute little buttons laid out on the table, and a sign-up sheet that was filled by the end of the student activities fair. We met some great women who should really enjoy the benefits of coming to our events and activities, as well as some men excited about our cause! We launched our new website (meant to be simple yet attractive), and we are really enthusiastic about the year to come. Keep your eyes and ears open for the next WISE event to hit Carleton soon!