Thursday, October 23, 2014

Countdown to #GTAATX

I made it!

Those were the words that ran through my mind as I walked up the stairs to my home yesterday evening. I had spent the entire day checking my email over and over, waiting for news about my application to the Google Teacher Academy. When my phone beeped at 7:15 last night, I made it part way through the first sentence before I let out a whoop of joy. In public. If there had been more than half a dozen steps, I would have done the Rocky-Balboa-Run-Up-The-Stairs-Like-A-Champ move.

This wasn't the first time I've applied. I applied last spring, but didn't manage to get in. I think that's why I was so surprised: the caliber of people who get selected is incredible. I didn't dare jinx it by dreaming about what the future could hold. Now, that's all changed.

Image: Pixabay
I'm thrilled to be among the 50 teachers selected to take part in the Google Teacher Academy happening in Austin, TX this December. It's an honour to be among some of the most amazing people I've had the pleasure of "meeting" (either in person or online). To a non-tech-teacher, it's difficult to explain the appeal of the GTA, but as one of my fellow attendees put it, it's the golden ticket to go meet Willy Wonka, but for teaching.

What does this change?

I expect that I'll come out of this with two things: huge dreams of what education can be, and a network of people who can help me achieve the dream. There is so much that we could be doing, and we just need the vision and the "chops" (as my music teacher used to say) to get things to change. Little things. Big things. Fundamental things. I'm going to dream my biggest dreams, and then I'm going to figure out exactly how to realize those dreams.

The best part? I'm going to be dreaming with a group of talented dreamers. I'm going to be changing things with some of the most constructive disruptors in education. It's gonna be amazing.

Thursday, October 16, 2014


After much more futzing about, I'm happy to report that the #GEGMtl translator bot now works even when the spreadsheet is closed. It seemed like it would be trivial, but in fact it turned out to be harder than I thought. (That's usually the case when I sit down to write some code.)

The first big hurdle was a limitation of the language library that is included in Google Apps Script. It's powerful and built off Google translate, but there's no function to detect language. Since I wanted the script to fluidly alternate between English and French text, that was a requirement.

I tried the Google translate API, but after struggling with it for a few hours, I read the not-so-fine print that it's a paid service. Fortunately, a quick search revealed which has an option to call an API to discover the language of the text you pass it. It was a matter of minutes to get the code working for that. With a limit of 5000 calls per day, I think it will scale enough to start with. If it ever grows to the point where I need to look into other options, hopefully I'll have enough in my pocket to cover the expense.

The next task was to call the language service to ask it to translate the text. Pretty straightforward, but I kept mixing up the indexes of the arrays I was using. The debugger took care of sorting out that issue. By stopping the code at certain points I was able to see which index of the relevant variable was holding the value I wanted, and where I'd messed up.

The final piece of the puzzle was to get the translation to show as a reply to the original tweet. I figured out the parameter to use to get this to work, and I now can proudly tweet using the hash tag and it will work even when the sheet is closed.

The next goal is to create a version which will work as an add on or a web app. It will take a lot of work, since I don't know much about the other languages involved - jQuery and CSS. I'm working on it, but it's certainly a challenge.

Monday, October 13, 2014

Auto Translate #GEGMtl

I like to describe myself as an incredibly productive procrastinator. When I have something I absolutely must work on, I tend to find ways to distract myself with side projects.

Which explains why, four days before my application for the Google Teacher Academy in Austin, TX, I decided to tackle a project I'd begun a few times but always stalled out on. I'm the leader of the Montreal Google Educator Group, and I wanted to facilitate communication between the two main languages of teachers in Montreal. What that means, in practical terms, is that I wanted to have an app automatically translate tweets using the #GEGMtl hashtag on twitter. From English to French, and from French to English.

After about 3 hours, it was working. A bit. It would run for about three minutes, then give me an error that I needed to authorize it again. I was very frustrated with it, so I turned to my PLN to ask them for advice.

+Martin Hawksey helped me figure out some issues with encoding the calls to the Twitter API, and +John McGowan actually jumped into my spreadsheet and code with me to lend a hand. It was an amazing experience to have an educator from Europe and and educator from Asia help me on my little project. Some additional support from +Andrew Stillman helped me figure out how to call a translation API to detect the languages properly.

There's still work to be done. The app currently works, but only if the spreadsheet is open. I need to redesign it to run all the time. After that, I will need to build a web interface and publish it as a web app on my website. In the future, I may decide to make it an add-on for Google Sheets, but that seems unlikely since the number of people who'd want it is probably pretty limited.

Creating something like this took a lot of time, reading, searching, questioning, and experimentation. The first big struggle is deceptively quick to overcome, but it's those last few bugs that prove extremely difficult. Writing code is an exercise in persistence, patience, and practice. While I lack the latter, I'm quite happy banging against the keyboard until something works. Collaborating with people all over the globe just makes the experience so much more enjoyable!

Thanks to everyone who offered help. Without the support of a community of encouragement, I don't think I'd have as much fun trying to figure out why things aren't working.

Sunday, October 5, 2014

My #gafesummit Device Policy

I have a device policy for my #gafesummit sessions. It came to me right at the start of one of my sessions, and I've decided that it's how I want my sessions to run from now on.

If you have a device:
Image: OpenClipArt

  1. It cannot stay in your pocket. Take it out, turn it on.
  2. You need to use it.
  3. If you want to snap a picture, do it.
  4. If you want to tweet it out, do it.
  5. If you want to post to instagram, do it.
  6. If you want to look something up, do it.
  7. If you want to text your friends, go ahead.
The point is, if you have a device with you, I want to see it being used. You've got so much power and knowledge just sitting there, ready to be harnessed. It shouldn't be relegated to your pocket. Bring it out, and get more out of your learning by using it.

That is all.

Saturday, October 4, 2014

Staying Young Without Being Childish

I recently had a conversation with my father about what smart phone he should get, and what plan, and so on. He told me of his interaction with his carrier when asking them about plans, and said that he had steered the conversation in the right direction by saying "my techie son, who knows about all this stuff, told me to find out..."
Image: OpenClipArt

I've always known I wanted to change the world.

I was touched by this sentiment for a couple of reasons. First off, it's an odd thing when I realized that I was now giving advice to the man who has been the source of advice for my entire life (and continues to be). Secondly, I was happy that my dad wasn't hesitant about diving into the whole smart phone thing, he just wanted to get the information he needed.

Image: OpenClipArt
I've always known I want to change the world. People laugh when I tell them that's my goal, but I'm serious. I want to change things. Maybe not start a revolution, but I want the world to end up a little better off for my having been here. And now I know one of the pathways that's going to take.

A lot of people whose lives I've touched have told me that I helped them try something new. My enthusiasm for a challenge reassured them. My willingness to help, to support, to share, and to appreciate them for their expertise is something that gives them confidence. Even though I can get a little geeky at times, and I'm often mocked for how much I enjoy being a geek (usually it's me mocking myself), I like knowing that I've helped teachers be adventurous. To get out of their comfort zone and try something new. To not be afraid to look foolish. I look foolish a lot, and I figured out the secret: if you enjoy it, looking foolish is actually quite fun!

If you're not afraid to look foolish, you stop looking foolish.

And that's the big secret behind staying curious. If you're not afraid to think that you look foolish, you stop looking foolish. Being a kid means looking at the world and thinking "Wow! Isn't that amazing! It's just so exciting!"

I have the opportunity to do a lot of professional development. I enjoy it, and I think that I can help teachers become better. Not because I can tell them what they're doing wrong. Not because I can tell them what they should be doing. I try to never do the former, and I hope that I can help them figure out the latter. What I want them to do is to leave with the feeling that it's okay to not know. Beyond that, it's not just okay, it's actually exciting to not know something, because that means you've got the opportunity to learn!