Archive for the ‘Musings’ Category.

MoMo All-Hands: Day 3 (Data-Driven, Don’t Be Creepy, Italian-Chinese Dinner, Hipster-slamming)

At around 7:30AM, I rolled out of bed, cleaned myself up, and headed down to breakfast.

Breakfast that day was similar to the day before:  yogurt and granola.  Coffee and juice.  The cakes, however, had gotten the axe, and had been replaced by scones.

Very tasty.  A bunch of us ate breakfast out on the meeting room patio.  Once again, it was a gorgeous morning.

After breakfast, we all went inside to talk about data. Specifically, that we aim to be data-driven.  This means that if we’re making a big decision about Thunderbird, or any of the other stuff we’re working on, we should probably have some solid data to back up those decisions.  It’s a good idea; the road to bad design is paved with good intentions, and lack of data.

But how exactly are we going to get this data?  Are we simply going to monitor our users without their knowledge, like Big Brother, and study them like lab rats?  Are we going to collect reams of data about them secretly and silently in the background, without telling our users or giving them a choice?

Of course not, because that’d be evil.  And creepy.  Don’t track me, bro.

Instead, we will always ask the user if they’re interested in submitting data for study.  In general, our data collection is opt-in – and instead of tracking individuals, we aggregate the data, so that we never have a single person as a data point.  Nice.

A lot of ideas got tossed around about how we can ask the users for data, and what type of data we were interested in.  Some very interesting discussions took place regarding the Thunderbird “funnel” (the action path from visiting the Mozilla Thunderbird website, to downloading TB, to installing TB, to running TB, to making TB something commonly used).  Our funnel is pretty wide, but some website tweaks might make it even wider.  I’m excited to hear more about it.

After that, lunch.  Roasted chicken, mashed potatoes, veggies…once again, very tasty.  Cake for dessert.  We were getting pretty spoiled.

Following lunch, a bunch of us went outside to hear Andrew Sutherland talk about Wmsy – his constraint-based widgeting framework.  This was one of the talks that took place out on the patio, and the sun was blazing.  Much sunscreen had to go on, and I wish I’d brought sunglasses, because the image of the giant yellow pads of paper-on-easels that Andrew was drawing on was slowly being burnt into my retinas.  And then, sunscreen started getting into my eyes.  And yet, despite the blazing heat, the blinding sun, and the burning chemicals in my eyes, I was able to get a lot out of the talk.  Wmsy is pretty cool, and you should check it out.

After that, we went inside, and there was a bunch of GSoC talk.  Mentors talked about how it was working with GSoC students, and what kind of GSoC students we’d be looking for.  Then, a big brainstorm happened where we came up with potential GSoC projects.

Photo Credit:  Ludovic Hirlimann

Photo Credit: Ludovic Hirlimann

As a former GSoC student, I have to say, it’s a really worthwhile program.  I had an awesome summer doing GSoC.  Highly recommended.  Thumbs up, Google.

After that, the meetings were over.  I headed upstairs to talk to my parents and Emily on Skype for a bit, and then headed down to the lobby for dinner.  A group of us were eating at “Chow Mein”, an Italian-Chinese fusion restaurant.

It was pretty good. Fettuccine on one side of my plate, barbecue pork fried rice on the other, and some salad…a delicious and eclectic meal.  As an added bonus, while refilling our glasses, our waiter told us in excruciating detail about how he got pulled over for DUI on his birthday.  On that note, we had a fantastic dessert, and then left.

The sun was down, and we walked slowly along the beach back towards the hotel.  We stopped off at the beach-side patio to hang out a bit first.

Photo Credit: Blake Winton

Photo Credit: Blake Winton

We raced Mai Tai umbrellas, and trash-talked hipsters.  It was probably the most hipster thing I did in Hawaii.

And speaking of hipsters (mildly NSFW):

Eventually, I made it back to my hotel room, and fell asleep.

2 people like this post.

This is my last “goodbye school” post, I swear.

So a few days ago, my official grades for my M. Sc. rolled in.  That same day, I went to the Bahen Centre, turned in my desk keys, got my keycard authorization revoked, and scheduled my computer for erasure.

It felt like some pretty big steps.  There was a palpable sense of finality.  I was out.  It was over.

The University has played a big role in my development, and despite all of my moaning and complaining over the years, I’m glad I went, and I’d do it again.

But not right now.

Graduate school almost didn’t happen for me, and I have two very important people to thank for making that happen:  Karen Reid and Greg Wilson.

I still fondly remember when you cornered me during that codesprint in 2009, and convinced me to try graduate school.  I don’t regret it.  It was the right decision.  So thank you both so much for convincing me, and giving me the chance, and thank you Greg for supervising, and guiding me through.

I learned lots.  I had fun.  :)

Shakespeare wrote that brevity is the soul of wit.  Well, I

Be the first to like.

That’s all, folks! or Becoming Randall Stevens

Once again, I’ve let a month’s worth of dust gather on my blog.  But I have a good reason for being so busy!

Several good reasons, actually.

And here they are:

UCOSP has wrapped for the semester

This semester, I was a teaching assistant for the UCOSP (Undergraduate Capstone Open-source Projects) course.  I helped out with two projects:  MarkUs and Review Board.

This semester, we saw some outstanding work for both projects.  Lots of great students, lots of good code, lots of leaps forward.

I’m looking forward to helping out next semester with UCOSP.

I won’t be doing it as a paid teaching assistant though.  Why?  Well…

I’ve finished school

My research paper was signed off by my two readers, and I just wrote my last final exam a few nights ago.  Unofficial grades have been posted, and I’ve passed what I needed to pass.

So that’s that – I’m a Master of Computer Sciences, I guess.  Awesome!

I got a job!

I’ve been hired by Mozilla Messaging to work on the Thunderbird project!  I’m 100% psyched about this opportunity, and look forward to peeling into the code.  An added bonus:  since Thunderbird is an open-source project, I’m absolutely free to discuss the code and the various things I’m doing with it.  No NDAs for me!  So stay tuned – I’ll have lots to say about Thunderbird and the Mozilla Framework code.  Just give me some time to wade through it.

Zihuatanejo

It’s been a pretty long road.  I’ve been in school, in one form or another, for over two decades.  It’s strange that it’s over.  I’m extremely excited about my next adventures, but I think I’m going to miss school.

Still, I can’t help but be a bit dramatic…

In 1966, Andy Dufresne escaped from Shawshank prison. All they found of him was a muddy set of prison clothes, a bar of soap, and an old rock hammer, damn near worn down to the nub. I remember thinking it would take a man six hundred years to tunnel through the wall with it. Old Andy did it in less than twenty. Oh, Andy loved geology. I imagine it appealed to his meticulous nature. An ice age here, million years of mountain building there. Geology is the study of pressure and time. That’s all it takes really, pressure, and time. …Andy crawled to freedom through five hundred yards of shit smelling foulness I can’t even imagine, or maybe I just don’t want to. Five hundred yards… that’s the length of five football fields, just shy of half a mile…

Andy Dufresne – who crawled through a river of shit and came out clean on the other side.

P.S.:  Here are some celebration rituals, if so inclined.

3 people like this post.

Still Here

For some reason or another, a traffic spike hit my blog yesterday:

I’m not entirely sure what people are interested in, but my last post was kind of lackluster and I’m sorry it’s the one people are seeing when they stop by.

It’s like having a bunch of marathon runners pass by your house, and you’ve got scaffolding and busted down cars all over your lawn.  It’s embarrassing.

So, to rectify, here’s what I’ve got going on right now:

  1. I’m still in thesis-writing mode.  I’ve knocked out a few large sections, but there’s still plenty to do.  Trying to pick at it at least once a day for a few hours.  LaTeX frustrations aside, things are moving forward OK here.
  2. UCOSP, the cross-Canada capstone course that I’m TA-ing this semester, is in full swing.  Last weekend was the code sprint, and I stepped in to mentor the Review Board team, since the core developers were too swamped to make the weekend trip.  It was good times.  Here’s a blog post about it by Andrew Louis, who helped organize the whole thing.
  3. I’m in a computer graphics course this semester.  I just finished the first written assignment for it.  Linear algebra is awesome, but I haven’t done it in years, so I’ve had to really shake out the cobwebs on this one.
  4. The Johnson Report is learning a slew of new cover material for an upcoming show.
  5. It’s already October, which means that my planned graduation is only a few months away.  I’ll be looking for work soon, and should update my CV.

And that’s about it, as far as I can tell.

Now what are people so damn interested in on my blog?

Be the first to like.

Challenged

It seems pretty in vogue lately to complain about schools, and the current state of our learning institutions.

I’ve certainly done my fair share of complaining.

Chances are, at some point, you have too.

Anyhow, my sister is a teacher, and I’ve become friends with a bunch of teachers, and I think they know it’s not perfect too.  I’m also pretty sure any system large enough will eventually draw complaints for one thing or another.  Nothing is perfect.

But for all my griping, complaining, and whining throughout school, I’m still glad I did it.  I still think it made me a better person than I would have been without it.

This comic by Stuart McMillen reminded me of that, and I thought I’d share it.

Enjoy.

"Challenged" by Stuart McMillen

"Challenged" by Stuart McMillen

Learn until you die.

Be the first to like.

Ping!

I’ve done it again:  I’ve let dust gather on my blog.

Quick update:

  • I’ve finished my courses for this semester, and have gone into full-blown research mode.
  • My research proposal is going through ethics review, in order to make sure that I’m not going to blow things up (or hurt anybody if I do)
  • While my paperwork is reviewed, I’m refining my procedure and apparatus.  Better and better.
  • I’ve been accepted into Google Summer of Code this year – I’ll be working on Review Board.  Details about my project will be the subject of an upcoming post, which I will toss up shortly.
  • I may or may not be co-directing a radio play.  I’ll let you know.
  • The MarkUs team is about to release version 0.7, and a fresh batch of Summer students will soon be here at UofT to work on it!
  • I have not forgotten about the UCDP trip to Poland.  I still have to tell you what we saw and did at Auschwitz.  Cripes – it’s almost a year since I returned, and I’m only half-way through the whole story.  And there’s a ton more to tell.  Coming soon.

Stay tuned.

Be the first to like.

It Was a Dark and Stormy Night

I was just munching on some cereal and reading one of my (many) Peanuts books.

Sporadically, throughout the late 1960′s strips, Snoopy can be seen working on a novel, and receiving input from Charlie Brown, Linus, Lucy, and the rest of the gang.

It turns out that, a while back, someone went to the trouble to compile the complete text.  Here is Snoopy’s novel, copypasta’d from here:

It Was A Dark And Stormy Night

by Snoopy

Part I

It was a dark and stormy night. Suddenly, a shot rang out!

A door slammed. The maid screamed.

Suddenly, a pirate ship appeared on the horizon!

While millions of people were starving, the king lived in

luxury. Meanwhile, on a small farm in Kansas, a boy was

growing up.

Part II

A light snow was falling, and the little girl with the

tattered shawl had not sold a violet all day.

At that very moment, a young intern at City Hospital

was making an important discovery. The mysterious patient

in Room 213 had finally awakened. She moaned softly.

Could it be that she was the sister of the boy in Kansas

who loved the girl with the tattered shawl who was the

daughter of the maid who had escaped from the pirates?

The intern frowned.

“Stampede!” the foreman shouted, and forty thousand

head of cattle thundered down on the tiny camp. The two

men rolled on the ground grappling beneath the murderous

hooves. A left and a right. A left. Another left and right.

An uppercut to the jaw. The fight was over. And so the

ranch was saved.

The young intern sat by himself in one corner of the

coffee shop. he had learned about medicine, but more

importantly, he had learned something about life.

THE END

And here’s a description of Snoopy’s desired cover art:

“How about a bunch of pirates and foreign legionnaires fighting some cowboys with some lions and tigers and elephants leaping through the air at this girl who is tied to a submarine?”

-Snoopy

Now that’s some damn fine writing.

          It Was A Dark And Stormy Night
          by Snoopy

          Part I

   It was a dark and stormy night. Suddenly, a shot rang out!
A door slammed. The maid screamed.
   Suddenly, a pirate ship appeared on the horizon!
   While millions of people were starving, the king lived in
luxury. Meanwhile, on a small farm in Kansas, a boy was
growing up.

          Part II

   A light snow was falling, and the little girl with the
tattered shawl had not sold a violet all day.
   At that very moment, a young intern at City Hospital
was making an important discovery. The mysterious patient
in Room 213 had finally awakened. She moaned softly.
   Could it be that she was the sister of the boy in Kansas
who loved the girl with the tattered shawl who was the
daughter of the maid who had escaped from the pirates?
The intern frowned.
   "Stampede!" the foreman shouted, and forty thousand
head of cattle thundered down on the tiny camp. The two
men rolled on the ground grappling beneath the murderous
hooves. A left and a right. A left. Another left and right.
An uppercut to the jaw. The fight was over. And so the
ranch was saved.
   The young intern sat by himself in one corner of the
coffee shop. he had learned about medicine, but more
importantly, he had learned something about life.

          THE END
2 people like this post.

I’ve Always Wanted to Know This: What English Sounds Like to Others

Every time I meet a non-native English speaker, I invariably ask them the same question:

I make fun of other languages all the time.  I can spout out gibberish that sounds like Russian, Chinese, French, etc.  What happens when someone who speaks a different language tries to spout out English gibberish?  What does English gibberish sound like?

Well, I guess I’m not the only one who is curious about it.  Here’s what English possibly sounds like to people from other countries.

This one might be my favourite – 14 seconds in:

Be the first to like.

Can Google Wave Bring Something New to Peer Code Review?

If you haven’t already heard about Google Wave, watch this video.

In a nutshell, Google Wave is an attempt at integrating wikis, instant messaging, email and social networking, into a nice, tight, Google-y ball of goodness.

What’s particularly interesting, is that developers can write “gadgets” by coding against the Google Wave API.  Check this out – a collaborative tool for systems modeling built into the Google Wave client.  That’s pretty cool!

Which makes me wonder… could a code review tool be built on top of Google Wave?  And if so, what services, if any, does the Wave protocol offer that might make such an application superior to other web-based code review tools?

What does Google Wave offer that would make such a code review tool special, more effective, and better?

Be the first to like.

What Can Drama Bring to Computer Science?

Yesterday, a bunch of Greg Wilson’s grad students had dinner at his place.  We got to meet his wife, his daughter, and eat some pretty amazing food.  It also gave his new grad students an opportunity to say an official “hello”, and introduce themselves to everybody else.

After introducing myself as having had an undergraduate degree in Computer Science and Drama, somebody made some remark about what an interesting combination that is. Greg replied by saying something like “That’s why I chose him”, and told a story about how one of the best programmers he ever knew was originally training to become a Rabbi, and got into Computer Science because he was working on some translations of ancient texts.

This got me thinking.  When I started focusing on both Drama and Computer Science, I remember always finding ways where Computer Science could help Drama.  I can easily rattle off a bunch of examples:

  • Better, more flexible sound cueing software (QLab is nice, but I think we can go deeper)
  • Communication tools for production teams, to help coordinate stage managers, directors, production managers, etc
  • Interfaces for movement artists to communicate with computers with their bodies in real-time, which in turn can drive things like sound/lighting cues, or other stage effects
  • Tools for doing cool, advanced projections – check out Lighttwist for example
  • Programming environments / domain specific languages for production crews who have to program lighting, sound, and video cues.  We used Isadora at the UCDP, which is like PureData with more of a GUI.  But…again…maybe we could do better.

So, while I was at the UCDP, all of these ideas rattled around in my head. I’ve now come to the realization that this has been completely one-sided.

So let’s switch it around – what can Drama bring to Computer Science?

The easy one is presentation/communication skills.  A CS student might be brilliant, but that doesn’t mean they can present or communicate.  And if an idea can’t be communicated, it’s worthless.

But what else?  Any ideas?  I’m going to think about this for a bit, and I’ll see if I can come up with any more.

UPDATE: So here’s what I found…

Be the first to like.