Category Archives: Personal

MarkUs, Squad, How’s / Refactor My Code, Belated Happy Holidays, and Oh Yeah – I’m Not Dead

Belated happy holidays! My last post was over a month ago, and so my blog has a nice layer of web-dust on it right now.  Well, here I am to ease your mind.  I’m still alive!

But that almost wasn’t true.

I won’t bore you with the details – I’ll just give you the facts, and let you fill in the blanks.

  1. My girlfriend Em, her sister Cassie, and myself, were up in Collingwood on New Years Day, enjoying a relaxing day at a Norwegian spa (the outdoor baths were amazing – how awesome is it to be in a boiling hot tub, while simultaneously, your hair is so frozen that it’s snapping off in your hands?)
  2. The roads that night were treacherous.  Snowy, un-plowed, and dark.  I had borrowed my Mom’s car for the trip, and we took it realllllly slow.
  3. After a tortoise-paced two hour ride back to Em’s place in Newmarket, and then another two hour drive from Newmarket to my home in Grimsby the next day, I was getting pretty sick of winter driving.  On top of that, the brakes seemed to be acting funny.  I found myself sliding a lot, and there didn’t seem to be a lot of resistance when I put my foot down.
  4. The next day, my Mom takes the car to go to work.  She doesn’t even leave the drive-way.  The brakes hadn’t been acting funny:  the brakes hadn’t been acting at all.  Turns out we had a leaky brake-line for the entire trip…
  5. Guts of the story:  I think we drove home from Collingwood with about 35% brake power in one of the worst snow storms I’ve ever driven in.

Breakfast tasted especially good for us that morning.

Anyhow, now where was I?  Oh yeah…

MarkUs

MarkUs 0.6 got kicked out a week or so ago.  The MarkUs Team kicked the crap out of a bunch of tickets over the holidays, and I think we ended up with a pretty solid release.  MarkUs is being used again at UofT this semester, and Byron Weber Becker is also piloting it at UWaterloo.  I’ll cautiously say that things seem to be going well for this release.  Great job, MarkUs Team!

I’m TAing the students working on MarkUs for Greg’s UCOSP course again.  We had a fantastic code-sprint this past weekend!  The new team members have already started working on tickets and submitting code to review.  I think we’re on our way into another highly productive semester.

A Few More Web-Based Code Review Tools

Remember that big list of code review tools I put up a while back?  I’ve got a few more to add:

How’s My Code

This is a pretty dead-simple code review tool that came about during a Rails Rumble a few months back.  It has that “big friendly buttons and round corners” web 2.0 thingy going on.  I haven’t gone so far as to actually try it out, but I did watch this web-cast:

Not bad if you just want to get your code out there, and get your team commenting on your changes…

A few things caught my attention:

  • It’s a web service, so you don’t install it…you sign up for it
  • It currently only supports Git.  🙁
  • There doesn’t seem to be any support for contextual per-line commenting…I think it’s just file by file commenting.  I’d love it if I could comment on a single line of code…

Still, if I was working on a project hosted on a Git repo, and I needed a dead-simple code review service, and I needed it quickly, I could probably do a lot worse than this.

Click here to check out How’s My Code

Squad

Remember that time when I wrote about how it might be neat if somebody created a code review tool on top of Google Wave? (or Bespin for that matter – though I didn’t mention it, and should have)

Looks like somebody else was thinking the same thing. And a few months earlier.  I guess it’s not easy to be super cutting-edge.

Anyhow, looks like something Wave-ish (yet simpler, more streamlined) has been developed.  Check out Squad.

I just tried this thing out for free (with ads, features locked, etc), and it was pretty cool.  I could see something like this being very useful for showing new MarkUs team members how to do things.  Actually, I just used it to show a new member of the MarkUs team how to use Shoulda.  Pretty useful.  It sure beats coding through IRC and Pastie.org.

A few things to keep in mind:

  1. Super simple to get going – open up a session, and send someone a generated link, and you’re both coding in no time
  2. One person codes at a time…so while one person edits, the screen is locked for everyone else
  3. Ads on the left are a little annoying
  4. Sports syntax highlighting for a number of languages – though I noticed that Ruby wasn’t one of them.  :/

I can see this becoming second nature, like Pastie.org.

Who knows – I might find more reasons to use Squad as the semester rolls, and MarkUs picks up speed.  I’ll keep you posted.

If you missed the link I put in above, click here to check out Squad

Refactor My Code

This service crowd-sources code review requests, so don’t expect to get deep architectural feedback, because it’ll probably come from strangers who don’t/barely know your code base.

The idea is – slap a piece of code that you’d like refactored up on the site, and then others swoop in with brilliant suggestions (assuming of course, you asked your question properly…check this out…what the…?)

This is the sort of thing that CS instructors probably wouldn’t want their students using too much…it’d then become solve-my-CS-programming-assignment.com.

Still, I think it counts as peer code review.  And it’s way different that anything else I’ve been looking at.  Nice.

Click here to check out Refactor My Code

Anyhow, I just thought I’d mention those.

Teaching Your Dog Tricks Through a Glass Window: The 10/Gui Interface as an Adventure Game Controller

Adventure game developers have tried a bunch of ways of making it easy to control characters in 3d environments.  Myst stuck with the basic point and click.  Grim Fandango used the numpad on the keyboard.  Gabriel Knight 3 used both the mouse and keyboard:  the mouse moved the player, and the keyboard controlled the camera.

With all of these…it’s always felt a little bit…restrictive.

A few weeks ago, Ben Croshaw reviewed the new Monkey Island game.  Here’s the review.  Pay particular attention to 1:50 when he talks about the mouse controlling a character in a 3d environment.

NSFW (language):

That’s exactly right.  He’s hit the nail on the head.  It’s like trying to teach your dog something through a glass window.

The 2D interface of a mouse or keyboard makes actions in a 3d world awkward.

Multi-touch improves on 2d interfaces by giving us more bandwidth (multiple fingers = multiple cursors).  If this is the next step in desktop computing:

What does that mean for 3d adventure games?  How can 3d adventure games leverage multi-touch?

For that matter, how can 2d adventure games leverage multi-touch?  Think of all of the puzzles…

Other Work Experience

I haven’t always worked with computers.

Here’s a list of jobs I’ve had where I didn’t work with computers:

Dishwasher

My first job in Grade 9.  I was a dishwasher for a fine dining restaurant.  Besides washing dishes, pots and pans, my responsibilities included preparing salads, desserts, and cleaning the washrooms.

One time, I was scrubbing the floor, and the head chef threw a box of knives into the sink over my head while I was just starting to stand up.

I didn’t stick around for very long.

My first and last job in the food service industry.

Quality Assurance Clerk

Later in high-school, I was a Quality Assurance Clerk for Peninsula Liquidators.  I think that was my title, anyhow.

This is probably the most interesting job on the list.

Do you know how Costco accepts returned merchandise, no matter what?  What do you think they do with the stuff you return?

And what about mishandled freight from Purolator?

They sell it in bulk to salvagers.  Salvagers like Peninsula Liquidators.

I worked on a team.  Our job was to open the big bins of stuff from Costco, and see if what was inside was worth selling.  If things were broken, we tried to repair them.  If things were scuffed, we tried to clean them.  If things were in pieces, we stored some parts in case we could use them in the future.

Whatever was worth selling got shipped to one of the PL stores.  If we couldn’t repair it, it was auctioned off.

It was a cool job because we never knew what we’d get when we’d open up a box.

I wasn’t there for this, but apparently, a “decoder module” for a fighter jet was found in some of the mishandled Purolator stuff.  They had to phone some government office, and some black vans pulled off and took it away.

Yeah, the mishandled freight from Purolator was probably the most interesting stuff.  You won’t believe what people will ship to one another.

Gardener

I also worked as a gardener for a friends family for a few summers.  They had an absolutely massive yard.  Most of my job was weeding and replanting.

It was hard, sweaty work… but I liked it.

Greenhouse Labour

There are a ton of greenhouses in the town where I grew up. I worked in one for a summer.

This was probably the most exhausting, backbreaking labour I’ve ever done.  I can’t even remember what I did – it was so mindnumbingly repetitive that I think I’ve blocked most of it out.  I think I just did a lot of planting, and moving plants around…

And I had it pretty easy.  The Mexican labourors there worked harder, and longer, and probably for less pay.  They seemed happy though.  Happy enough to play a full game of soccer in the hot sun on our lunch break, while I panted, poured buckets of sweat, and caught my breath in the break room.

Driving Range Guy

Have you ever been to a driving range to whack a few golf balls around?  Somebody had to sell you the bucket of balls.  That was my job.

Oh, and after you smack them all into the range, somebody has to go pick them up in a truck…that was my job too.

It was a pretty cushy job, actually.  No supervision, and a relaxed pace.  Probably the most exciting part was when some guy got whacked in the head with a golf club, and I had to call an ambulance.

I don’t even really like golf.

Anyhow, I think that’s it.

Poland – Part 10: Journey To Krakow, Wawel Hill, and The Dragon

June 23, 5:10AM

At 5:10AM, a huge clap of thunder woke us all with a start.  Groaning,  moaning, and uttering expletives… we tried to go back to sleep, but the thunder storm and heavy rain raged all around us.

And then, eventually, the storm moved off…finally, we could sleep…

…but before it could happen, one by one, our alarm clocks started to go off.  It was time to leave.

Grumbling, lights flicked on, and we headed to the washrooms and showers…

6:12AM

A few people reported that there was some food missing from the hostel kitchen.  Tom and Tara reported half a carton of chocolate milk had been pilfered, and half of Linn’s salami was missing.

Apparently, some of the guests thought we wouldn’t mind sharing.  Or there was a mix up.

Either way, it didn’t improve anyone’s mood.

Not long after, we packed up our stuff, got on the bus, and left Wroclaw for Krakow.

10:27AM

We had been on the bus for a few hours, and I had been trying (unsuccessfully) to take a nap.  I eventually gave up, and I joined in with a bunch of the group who were quizzing each other on Canadian provinces and U.S. states.

It turns out that I know relatively little about Canadian provinces, and next to nothing about U.S. states.  Hmph.

Eventually, we pulled over at a rest stop.  I took the opportunity to try some of the local junk food, and purchased two chocolate bars – a “Corny Big” and a “3Bit”.  They tasted better than they sound.

Tamara also took the opportunity to tell us how the rest of the trip was going to work.  She also lightly condemned the last hostel, which was clearly not to her liking.

While talking about the rest of the trip, she mentioned that she had arranged for us to visit Auschwitz for the next morning.  The group got quiet.  Tamara also said that she had left open the possibility of visiting the Wieliczka Salt Mines after Auschwitz, but that it would really depend on our mood.  We would probably be upset after Auschwitz, and would want to go home and rest.

12:30PM

We arrived at the hostel around 11:30PM, and man, what a difference!  The place was absolutely spartan, the rooms were gorgeous, the views were incredible… we were quite happy, as you can see:

[simage=381,288]
[simage=382,288]
[simage=385,288]

Yes, it was a welcome change.  In case you’re interested, the hostel was called “Cracow Hostel Apartment“.  You can see more photos of the place if you click these words – but having been there, it’s pretty clear that these photos try to make the rooms seem bigger with lens effects.

So we had nice rooms.  But guess what?

Peter got the pent house! The lucky guy got the hostel apartment!  The room was incredible!  It was too bad we were only staying a few nights.

The hostel was particularly awesome because it was in the Market Square.  Here are a few shots of the view from the common room window:

[simage=392,288]
[simage=393,288]
[simage=394,288]

Wow!  (Looks a lot like Wroclaw, doesn’t it?  That’s what I thought, too.)

If it isn’t clear from the photos, it was still drizzling out.  But that didn’t mean we weren’t starving.  After unpacking and cleaning up, we hit the pavement to try to find some lunch.

[simage=396,288]

1:06PM

This was lunch:

[simage=397,288]

And this was where we ate it:

[simage=398,288]

The place was called ChimeraInteresting concept for a restaurant.

1:41PM

After leaving the restaurant, Tamara took us on a walking tour of the surrounding area:

[simage=399,288]
[simage=400,288]
[simage=402,288]
[simage=403,288]

The rain had stopped, and the air was left dripping with humidity.

We stopped by a church called Bazylika Sw Franciszka Z Asyzku XIII W.  Hm.  Maybe I wasn’t hearing right, but apparently there was some stained-glass work by Adam Mickiewicz there…

Here are some shots from the church.  Not the greatest shots I’ve ever taken, but hey – it was dark in there:

[simage=408,288]
[simage=410,288]
[simage=412,288]
[simage=415,288]
[simage=416,288]

I don’t know if Mickiewicz did the stained-glass – regardless, here’s a shot of one of the pieces:

[simage=414,288]

2:07PM

We left the church, and meandered through the streets.

[simage=427,288]

Eventually, we found ourselves at an outcropping called Wawel – home of Wawel Castle, which was to be our next stop.

[simage=421,288]
[simage=428,288]

Here’s a window dog we saw on our way to the castle ramp.  It breaks the narrative, but I can’t resist:

[simage=423,288]

And while I’m breaking narrative, here’s Alex posing in front of a Bauhaus poster:

[simage=425,288]

…and eventually, we found ourselves climbing the ramp up to Wawel Castle:

[simage=429,288]
[simage=433,288]

Here’s a view from one of the castle turrets:

[simage=435,288]

At the castle gate, we bought tickets to enter, and to see the “Dragon’s Den” underneath the castle grounds.  We were stoked.

2:45PM – Wawel Castle

High security.  Metal detectors.  Armed guards.  This place wasn’t taking any chances.  There was a very strict code of conduct in there – no sitting, no leaning on walls, keep quiet, and absolutely no pictures.  So I just took notes.

So I can’t show you what it was like inside, but I can try to describe it:

It was a museum.  Stone and hardwood floors.  Quiet like a tomb.  Marble staircases.  Wooden cabinets, uncomfortable looking wooden chairs, wooden tables…tapestries, beds.  Old paintings.

Tamara told us a story about how when the Germans invaded, relics and artifacts were smuggled out of Europe.  It turns out that some relics from Wawel Castle eventually found themselves holed up with a cloister of nuns in Canada.  Go figure.

Everything was ornate, and gold rimmed.  Even the ceilings were covered in gold.

Oh the hell with it – so I couldn’t take any photos: that doesn’t mean I can’t scrape some from off the Internet.  Here’s what I was seeing, care of this website:

[simage=626,288]
[simage=628,288]
[simage=629,288]
[simage=630,288]
[simage=631,288]
[simage=632,288]
[simage=633,288]
[simage=634,288]
[simage=635,288]
[simage=636,288]
[simage=637,288]
[simage=638,288]
[simage=639,288]

There, that’s better.  I’ve always been a visual kind of guy.

Check out the ceiling on this room:

[simage=627,288]

You probably can just barely see them, but those are human heads carved and painted into the ceiling.  Just staring down.  And one has his mouth gagged.  It was creepy.  Apparently, those heads were carved by Sebastian Tauerbach back in the 1500s.

3:55PM

The castle wasn’t the only thing on Wawel Hill.  Inevitably, there was a church – Wawel Cathedral.

So, interesting theatre connection with Wawel Cathedral:

There was a theatre artist who wanted to do a show in the cathedral.  His idea for the play:  that all of the tapestries and statues would come to life on the night before Easter to demonstrate the resurrection of Christ.  It was like Night at the Museum, but with 100% more Jesus.

Anyhow, that play was called Akropolis, and would eventually be staged by Jerzy Grotowski in the 1960’s. Grotowki’s spin on it was to stage it in Auschwitz instead of the Wawel Cathedral.

Anyhow, Grotowki’s Akropolis caused ripples in the theatre world, and was a shining example of the “poor theatre” that he was striving to achieve.

For the people who don’t study drama, Grotowski, Poor Theater, and Akropolis are a pretty big deal.  I’ve seen a taping of Akropolis a few times…it’s one of the few recordings of Grotowski’s work.

Anyhow, that’s the connection.  We were inside the cathedral where that whole thing began.

4:02PM

Walking through the cathedral.  Once again, I couldn’t take any photos.

Description:  high ceilings, gold, tapestries, stained glass.  Gothic architecture.  Gold alter.  Chandaliers.  Ornate, dark woodwork.  Coffins and tombs.  Sarcophagi.

There was a narrow, claustrophobic staircase that led up to the cathedral bell tower.  It was windy up there, and the bells were absolutely massive.  Huge cast-iron things.  Mother of all bells.  I couldn’t help myself – I whipped out my camera like a gunslinger, and snuck a shot:

[simage=449,288]

Yeah, I know – doesn’t look that impressive.  It’s due to lack of size reference points.  You’ve just got to trust me.

There were tombs in the basement.  Thick marble slabs, stone… there were some disturbingly small sarcophagi too.

The tombs got more modern the farther through we went – towards the end, we saw tombs with the occupants’ firearms strapped to the wall.

Maybe I’ve seen too many Indiana Jones movies, but I couldn’t help feeling that there were probably secret passages all over the place.

4:30PM

Finally, we got out of the catacombs into the fresh air.  We hung around outside, and waited for stragglers.  I took the opportunity to take a photo of some kids who were clearly disobeying the “don’t step on the grass” rule:

[simage=452,288]

Thunder rumbled in the distance.

4:50PM

Remember the Dragon’s Den?  That was our last stop on Wawel. We took a narrow, twisty flight of stairs down…down…deep…down…wayyyyy down into the cave beneath the castle.

It was…a cave.  Kinda underwhelming, but I don’t know what we were expecting.  A real dragon?

The lighting conditions weren’t ideal, so here are my crappy photos of the cave:

[simage=456,288]
[simage=457,288]
[simage=458,288]

And here’s Tom filling up the cave with some dragon presence:

[simage=461,288]

We eventually left the cave.  We took the time to sit, rest our legs, and stare up at this dragon monument that was outside the exit:

[simage=467,288]

The Dragon

Now, I don’t know how the rumour got started, but apparently, every hour, that dragon was supposed to breathe fire.  So the bunch of us stuck around for about 15 minutes, waiting for the fireball.

Evidently, the group of us make enough of a crowd to cause other people to wonder what’s going on, because more people from off the street started joining our group, staring up at the dragon, waiting.

And then the hour came…and went…and nothing happened.

Jiv went to talk to a local street vendor.  It went something like this:

Jiv:  Isn’t this thing supposed to breathe fire every hour?

Vendor:  [Look of confusion]

Jiv:  [Mimes breathing fire, and points at dragon]

Vendor:  [Shakes head vigorously]

Disappointed, the crowd dispersed.

[simage=469,288]

5:35PM

Tamara had led us into the Jewish Quarter of Krakow.

[simage=471,288]

The storm was really threatening now – dark clouds, and rumbling that was closer than before.

[simage=472,288]

Rain started to fall.  It was time to get indoors.  As a torrent of rain started to come down, we found a restaurant, and took shelter.

And then it started to hail for a bit.  Strange.

6:52PM

The restaurant we had chosen was pretty fancy.  I ordered what eventually turned out to be chicken shish kabab.  For the price…not that great.  But whatever, we were inside and dry.  And I was full.

The group was pretty tired at this point.  The lack of sleep from the night before, and the long tour of the day had worn us out.  After we had finished eating, Tamara told us that we had the rest of the day to ourselves.

A pack of us left the restaurant to explore the Jewish Quarter.  Eventually, we found ourselves back in the Market Square, where I promptly ordered myself a lemon sorbet.  I missed the ice cream from Wroclaw, but the lemon sorbet was amazing.  Sonia took the opportunity to buy some zapiekanka.

Have I told you about zapiekanka?  I don’t think I have.  Polish equivalent to a hot dog.  Long half of a baguette, topped with melted cheese and mushrooms, and a long strip of ketchup.  I liked ’em.

Some of us went back to the hostel.  I hung around the Market Square for a little bit and snapped a few photos:

[simage=475,288]

Here’s Adam Mickiewicz again!  What a guy!

[simage=477,288]

And a giant head:

[simage=478,288]

The very center of the Market Square was a…market.  Lots of little booths selling trinkets.  Religious figurines…amber… a high number of chess boards, which I found strange.

[simage=479,288]

And wouldn’t you know it, I also found some miniature copies of those creepy head sculptures that I’d seen in Wawel Castle!

[simage=481,288]

At this point, I was pretty tuckered out.  I walked back to the hostel, and eventually went to sleep.

We would be getting up early the next day to go to Auschwitz.

Click here to go to Part 11:  Journey into Auschwitz, and Adventuring Alone in Krakow

Click here to go back to Part 9:  The Halfway Point