<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mike Conley&#039;s Blog &#187; Computer Science</title>
	<atom:link href="http://mikeconley.ca/blog/category/technology/computer-science/feed/" rel="self" type="application/rss+xml" />
	<link>http://mikeconley.ca/blog</link>
	<description>The personal blog of a Toronto based software developer, musician, sound designer, and theatre enthusiast.</description>
	<lastBuildDate>Fri, 11 May 2012 15:23:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Still Alive</title>
		<link>http://mikeconley.ca/blog/2011/11/30/still-alive-2/</link>
		<comments>http://mikeconley.ca/blog/2011/11/30/still-alive-2/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 14:54:24 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Review Board]]></category>
		<category><![CDATA[Theater]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[account provisioner]]></category>
		<category><![CDATA[address book]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[reviewboard]]></category>
		<category><![CDATA[tabs on top]]></category>
		<category><![CDATA[thunderbird]]></category>
		<category><![CDATA[ucosp]]></category>

		<guid isPermaLink="false">http://mikeconley.ca/blog/?p=2218</guid>
		<description><![CDATA[Once again, I&#8217;ve let my blog gather dust.  And the comments have been piling up.  And the emails have been rolling in.  And I&#8217;ve been silent. Sorry about that! I&#8217;ve been pretty heads-down lately &#8211; here&#8217;s what&#8217;s going on: The address book work I was talking about has been put on a tiny bit of [...]]]></description>
			<content:encoded><![CDATA[<p>Once again, I&#8217;ve let my blog gather dust.  And the comments have been piling up.  And the emails have been rolling in.  And I&#8217;ve been silent.</p>
<p>Sorry about that!</p>
<p>I&#8217;ve been pretty heads-down lately &#8211; here&#8217;s what&#8217;s going on:</p>
<ol>
<li><a href="http://mikeconley.ca/blog/2011/09/07/creating-a-new-thunderbird-address-book-the-feature-page-and-some-literature/">The address book work</a> I was talking about has been put on a tiny bit of a backburner as I deal with two more pressing Thunderbird projects, namely, finishing up the Account Provisioner (a service that offers you email addresses if you don&#8217;t already have one) and Tabs on top (a part of <a href="http://areweprettyyet.com/thunderbird/1/index.htm#">the general UX refresh that Thunderbird is working towards</a>)</li>
<li>A few weeks ago, I was knee-deep in sound design for a show called <a href="http://theredlightdistrict.ca/2011/04/fireraisers/">FIREraisers</a> being put up by <a href="http://theredlightdistrict.ca/">the red light district</a>.</li>
<li><a href="http://ucosp.ca">UCOSP</a> has been going strong, and our <a href="http://www.reviewboard.org/">Review Board</a> <a href="http://reviewboardstudents.wordpress.com/">students have been pluggin&#8217; away</a>.</li>
</ol>
<p>About the address book &#8211; I&#8217;ve received a bunch of email making suggestions and asking for things.  That&#8217;s great!  I&#8217;ll comment on that shortly &#8211; I just need a little more time to clear Account Provisioner and Tabs on Top off my plate.</p>
<p>More soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://mikeconley.ca/blog/2011/11/30/still-alive-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a new Thunderbird Address Book:  the feature page, and some literature&#8230;</title>
		<link>http://mikeconley.ca/blog/2011/09/07/creating-a-new-thunderbird-address-book-the-feature-page-and-some-literature/</link>
		<comments>http://mikeconley.ca/blog/2011/09/07/creating-a-new-thunderbird-address-book-the-feature-page-and-some-literature/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 18:25:24 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[address book]]></category>
		<category><![CDATA[portable contacts]]></category>
		<category><![CDATA[specs]]></category>
		<category><![CDATA[sync]]></category>
		<category><![CDATA[thunderbird]]></category>
		<category><![CDATA[vcard]]></category>
		<category><![CDATA[webapi]]></category>
		<category><![CDATA[webcontacts]]></category>

		<guid isPermaLink="false">http://mikeconley.ca/blog/?p=2211</guid>
		<description><![CDATA[So my dream of redesigning / rebuilding the Thunderbird address book is moving forward.  Here&#8217;s the draft feature page. I also got the Contacts add-on from Labs working (limping, rather) in Thunderbird.  Some very interesting ideas in that add-on. I&#8217;ve also started reading some related work.  Here&#8217;s what I&#8217;ve been gazing at for the past [...]]]></description>
			<content:encoded><![CDATA[<p>So my dream of redesigning / rebuilding the Thunderbird address book is moving forward.  <a href="https://wiki.mozilla.org/Features/Thunderbird/Modern_Address_Book">Here&#8217;s the draft feature page</a>.</p>
<p>I also got the <a href="http://mozillalabs.com/messaging/2010/08/04/thunderbird-contacts/">Contacts add-on from Labs working (limping, rather) in Thunderbird</a>.  Some very interesting ideas in that add-on.</p>
<p>I&#8217;ve also started reading some related work.  Here&#8217;s what I&#8217;ve been gazing at for the past few days:</p>
<ol>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=674720">Bug 674720 (WebContacts or Contacts+)</a></li>
<li><a href="http://www.w3.org/TR/contacts-api/">The W3C Contacts API draft spec</a></li>
<li><a href="http://www.portablecontacts.net/draft-spec.html">The PortableContacts draft spec</a></li>
<li><a href="http://www.imc.org/pdi/vcard-21.doc">The vCard spec</a></li>
<li><a href="https://wiki.mozilla.org/Services/Sync/FxSync">The Firefox Sync development documents</a></li>
</ol>
<p>So, basically, I&#8217;m exposing myself to as much current work in this problem space as possible.  Is there anything else I should be reading?</p>
]]></content:encoded>
			<wfw:commentRss>http://mikeconley.ca/blog/2011/09/07/creating-a-new-thunderbird-address-book-the-feature-page-and-some-literature/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Whoops &#8211; I forgot I was a scientist</title>
		<link>http://mikeconley.ca/blog/2011/08/26/whoops-i-forgot-i-was-a-scientist/</link>
		<comments>http://mikeconley.ca/blog/2011/08/26/whoops-i-forgot-i-was-a-scientist/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 15:26:23 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[address book]]></category>
		<category><![CDATA[contacts]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[evidence]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[scientific]]></category>
		<category><![CDATA[survey]]></category>
		<category><![CDATA[thunderbird]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[user interface]]></category>
		<category><![CDATA[users]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://mikeconley.ca/blog/?p=2199</guid>
		<description><![CDATA[So yesterday I posted some mock-ups for a new Thunderbird address book design, and I got a bunch of really awesome, useful feedback. Probably what rang out loudest for me was that I don&#8217;t really have any data on how real users actually use Thunderbird&#8217;s address book.  I know how I use it, but that&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>So yesterday <a href="http://mikeconley.ca/blog/2011/08/25/fidding-with-designs-for-a-future-thunderbird-address-book/">I posted some mock-ups for a new Thunderbird address book design</a>, and I got a bunch of really awesome, useful feedback.</p>
<p>Probably what rang out loudest for me was that I don&#8217;t really have any data on how <em>real users actually use Thunderbird&#8217;s address book</em>.  I know how <em>I </em>use it, but that&#8217;s about it.  In fact, I talked a Thunderbird user the other day who didn&#8217;t even know that the Thunderbird address book existed.  Go figure.</p>
<p>And here I went and jumped the gun, and tossed together some mock-ups.</p>
<p>If there&#8217;s anything that my grad supervisor <a href="http://third-bit.com/">Greg Wilson</a> taught me, it&#8217;s not to jump to conclusions (or mock-ups) when we don&#8217;t have any data to back it up.  <strong>I&#8217;m a scientist, damn it, and that&#8217;s just how we roll.</strong></p>
<div id="attachment_2200" class="wp-caption alignnone" style="width: 621px"><a href="http://mikeconley.ca/blog/wp-content/uploads/2011/08/engineer.png"><img class="size-full wp-image-2200" title="Credit: http://cowbirdsinlove.com/46" src="http://mikeconley.ca/blog/wp-content/uploads/2011/08/engineer.png" alt="" width="611" height="454" /></a><p class="wp-caption-text">Credit: http://cowbirdsinlove.com/46</p></div>
<p>&nbsp;</p>
<p>Firefox has this great add-on called <a href="https://testpilot.mozillalabs.com/">Test Pilot</a> that lets Firefox users volunteer to have data periodically collected from them.  Work to get Test Pilot working for Thunderbird is underway, and I think that&#8217;d be an awesome tool for gathering feedback about how users use the address book.</p>
<p>Some questions I&#8217;d want answered, right off the top of my dome, in no particular order:</p>
<ol>
<li>Does anybody actually use Thunderbird&#8217;s address book?</li>
<li>When someone is using the address book, what are they likely doing?
<ol>
<li>Looking for a contact?</li>
<li>Sorting and organizing their contacts?</li>
<li>Creating or editing contacts?</li>
<li>Other?</li>
</ol>
</li>
<li>Do people use mailing lists?  If so, how many do they tend to have?</li>
<li>How many address books do people tend to have?</li>
<li>How many address books do people <em>want</em> to have?</li>
<li>How many contacts to people tend to have in their address books?</li>
<li>Is it important for people to be able to group their contacts into sets, like &#8220;Family&#8221;, &#8220;Friends&#8221;, &#8220;Acquaintances&#8221;, &#8220;Employees&#8221;, &#8220;Co-workers&#8221;, etc?</li>
<li>Given several address books, where each address book has some large number of contacts, how quickly can an individual contact be found?</li>
<li>How much switching back and forth from mouse and keyboard is required to create a new contact, or to edit an old contact?</li>
<li>How important is it for Thunderbird&#8217;s contacts to be synchronized with other contact services, like Google Contacts or the OSX address book?
<ol>
<li>Or is it sufficient just to import them?</li>
</ol>
</li>
<li>How important is it for Thunderbird&#8217;s contacts to be synchronized with user&#8217;s mobile devices?</li>
<li>On average, how long does it take to create a new contact?</li>
<li>On average, how long does it take to edit a contact?</li>
<li>On average, how much time are users spending in the address book?</li>
<li>What fields do most users want to associate with a contact?</li>
<li>What are the top 10 complaints about Thunderbird&#8217;s address book?</li>
<li>What are the top 10 best things about Thunderbird&#8217;s address book?</li>
</ol>
<p>What are some other questions I should try to get answered?</p>
<p><strong>UPDATE (Aug 29 &#8211; 10:00EST)</strong></p>
<p>I&#8217;ve gotten some awesome feedback on this post, and some new questions to add to my list.  Here they are, in no particular order:</p>
<ol>
<li>What is the main way in which Thunderbird users use and manipulate their address books?
<ol>
<li>Through the main address book interface</li>
<li>Through the contacts sidebar in the compose window</li>
<li>Through the inline contact editor within a message header</li>
<li>Other?</li>
</ol>
</li>
<li>If the answer to the above is anything other than 1, is it possible that the address book manager is not needed?  Or does not need to be as complicated as it already is?</li>
<li>How many duplicate contacts does the average user possess (where a duplicate contact is a contact with the same e-mail address, or possibly the same name)</li>
<li>How frustrating is it to add a contact in Thunderbird?</li>
<li>How frustrating is it to edit a contact in Thunderbird?</li>
<li>How frustrating is it to search for a contact in Thunderbird?</li>
<li>How often do users want to create a contact based on a pre-existing one?  Example &#8211; creating co-workers, with similar fields for work addresses, etc, but different names, phones, etc.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://mikeconley.ca/blog/2011/08/26/whoops-i-forgot-i-was-a-scientist/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Lady Gaga</title>
		<link>http://mikeconley.ca/blog/2011/03/28/lady-gaga/</link>
		<comments>http://mikeconley.ca/blog/2011/03/28/lady-gaga/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 13:14:17 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Review Board]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[bad romance]]></category>
		<category><![CDATA[cover]]></category>
		<category><![CDATA[lady gaga]]></category>
		<category><![CDATA[paparazzi]]></category>
		<category><![CDATA[shameless self promotion]]></category>
		<category><![CDATA[the johnson report]]></category>

		<guid isPermaLink="false">http://mikeconley.ca/blog/?p=2096</guid>
		<description><![CDATA[When I&#8217;m not hacking on Thunderbird, MarkUs, or Review Board, I usually spend my time playing in a band called The Johnson Report. I normally don&#8217;t play the &#8220;band card&#8221;, but I&#8217;m particularly proud of this latest achievement, and wanted to share. Here&#8217;s us playing some Lady Gaga.]]></description>
			<content:encoded><![CDATA[<p>When I&#8217;m not hacking on <a href="http://www.mozillamessaging.com/en-US/thunderbird/">Thunderbird</a>, <a href="http://www.markusproject.org">MarkUs</a>, or <a href="http://www.reviewboard.org">Review Board</a>, I usually spend my time playing in a band called <a href="http://www.myspace.com/thejohnsonreport">The Johnson Report</a>.</p>
<p>I normally don&#8217;t play the &#8220;band card&#8221;, but I&#8217;m particularly proud of this latest achievement, and wanted to share.</p>
<p><a href="https://www.youtube.com/watch?v=Hikfh1TMdEg">Here&#8217;s us playing some Lady Gaga.</a></p>
<p><object width="640" height="390"><param name="movie" value="http://www.youtube.com/v/Hikfh1TMdEg?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="640" height="390" src="http://www.youtube.com/v/Hikfh1TMdEg?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://mikeconley.ca/blog/2011/03/28/lady-gaga/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>This is my last &#8220;goodbye school&#8221; post, I swear.</title>
		<link>http://mikeconley.ca/blog/2011/01/23/this-is-the-last-goodbye-school-post-i-swear/</link>
		<comments>http://mikeconley.ca/blog/2011/01/23/this-is-the-last-goodbye-school-post-i-swear/#comments</comments>
		<pubDate>Sun, 23 Jan 2011 05:39:30 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Musings]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[grad school]]></category>
		<category><![CDATA[graduating]]></category>
		<category><![CDATA[greg wilson]]></category>
		<category><![CDATA[karen reid]]></category>
		<category><![CDATA[thanks]]></category>

		<guid isPermaLink="false">http://mikeconley.ca/blog/?p=1986</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>It felt like some pretty big steps.  There was a palpable sense of finality.  I was out.  It was over.</p>
<p>The University has played a big role in my development, and despite all of my moaning and complaining over the years, I&#8217;m glad I went, and I&#8217;d do it again.</p>
<p>But not right now.</p>
<p>Graduate school almost didn&#8217;t happen for me, and I have two very important people to thank for making that happen:  <a href="http://www.cs.toronto.edu/~reid/">Karen Reid</a> and <a href="http://third-bit.com/">Greg Wilson</a>.</p>
<p>I still fondly remember when you cornered me during that codesprint in 2009, and convinced me to try graduate school.  I don&#8217;t regret it.  It was the right decision.  So <strong>thank you both so much</strong> for convincing me, and giving me the chance, and thank you Greg for supervising, and guiding me through.</p>
<p>I learned lots.  I had fun.  <img src='http://mikeconley.ca/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Shakespeare wrote that brevity is the soul of wit.  Well, I</p>
]]></content:encoded>
			<wfw:commentRss>http://mikeconley.ca/blog/2011/01/23/this-is-the-last-goodbye-school-post-i-swear/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Wisdom of Peers: A Motive for Exploring Peer Code Review in the Classroom</title>
		<link>http://mikeconley.ca/blog/2010/12/23/the-wisdom-of-peers-a-motive-for-exploring-peer-code-review-in-the-classroom/</link>
		<comments>http://mikeconley.ca/blog/2010/12/23/the-wisdom-of-peers-a-motive-for-exploring-peer-code-review-in-the-classroom/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 19:30:22 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Code Reviews]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[code review]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[pedagogy]]></category>
		<category><![CDATA[peer assessment]]></category>

		<guid isPermaLink="false">http://mikeconley.ca/blog/?p=1903</guid>
		<description><![CDATA[A major part of my Master&#8217;s degree requirements was my research paper.  If you heard me lament over the past year or so about my &#8220;thesis&#8221;, I was referring to this research paper. Anyhow, after lots of hard work, my research paper was finally signed off by my supervisor, Dr. Greg Wilson, and second reader [...]]]></description>
			<content:encoded><![CDATA[<p>A major part of my Master&#8217;s degree requirements was my research paper.  If you heard me lament over the past year or so about my &#8220;thesis&#8221;, I was referring to this research paper.</p>
<p>Anyhow, after lots of hard work, my research paper was finally signed off by my supervisor, <a href="http://www.third-bit.com">Dr. Greg Wilson</a>, and second reader <a href="http://takhteyev.org/">Dr. Yuri Takhteyev</a>.  A huge thanks to both of them!</p>
<p>Here&#8217;s the abstract, followed by a download link for the PDF.  Enjoy!</p>
<h3>Abstract</h3>
<p>Peer code review is commonly used in the software development industry to identify and fix problems during the development process. An additional benefit is that it seems to help spread knowledge and expertise around the team conducting the review. So is it possible to leverage peer code review as a learning tool? Our experiment results show that peer code review seems to cause a performance boost in students. They also show that the average total peer mark generated by students seems to be similar to the total mark that a graduate-level teaching assistant might give. We found that students agree that peer code review teaches them something – however, we also found they do not enjoy grading their peers’ work. We are encouraged by these results, and feel that they are a strong motive for further research in this area.</p>
<p><a href="http://mikeconley.ca/blog/wp-content/uploads/2010/12/Conley_Michael_D_201101_Masters_thesis.pdf">Click here to download my research paper</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mikeconley.ca/blog/2010/12/23/the-wisdom-of-peers-a-motive-for-exploring-peer-code-review-in-the-classroom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>That&#8217;s all, folks! or Becoming Randall Stevens</title>
		<link>http://mikeconley.ca/blog/2010/12/23/thats-all-folks-or-becoming-randall-stevens/</link>
		<comments>http://mikeconley.ca/blog/2010/12/23/thats-all-folks-or-becoming-randall-stevens/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 19:28:01 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Musings]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Review Board]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[graduated]]></category>
		<category><![CDATA[m.sc]]></category>
		<category><![CDATA[masters]]></category>
		<category><![CDATA[shawshank redemption references]]></category>

		<guid isPermaLink="false">http://mikeconley.ca/blog/?p=1894</guid>
		<description><![CDATA[Once again, I&#8217;ve let a month&#8217;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 [...]]]></description>
			<content:encoded><![CDATA[<p>Once again, I&#8217;ve let a month&#8217;s worth of dust gather on my blog.  But I have a good reason for being so busy!</p>
<p>Several good reasons, actually.</p>
<p>And here they are:</p>
<h3>UCOSP has wrapped for the semester</h3>
<p>This semester, I was a teaching assistant for the <a href="http://www.ucosp.ca">UCOSP (Undergraduate Capstone Open-source Projects) course</a>.  I helped out with two projects:  <a href="http://www.markusproject.org">MarkUs</a> and <a href="http://www.reviewboard.org">Review Board</a>.</p>
<p>This semester, we saw some outstanding work for both projects.  Lots of great students, lots of good code, <a href="http://www.reviewboard.org/news/2010/12/11/ucosp-2010-project-screencasts/">lots of leaps forward</a>.</p>
<p>I&#8217;m looking forward to helping out next semester with UCOSP.</p>
<p>I won&#8217;t be doing it as a paid teaching assistant though.  Why?  Well&#8230;</p>
<h3>I&#8217;ve finished school</h3>
<p><a href="http://mikeconley.ca/blog/2010/12/23/the-wisdom-of-peers-a-motive-for-exploring-peer-code-review-in-the-classroom/">My research paper</a> 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&#8217;ve passed what I needed to pass.</p>
<p>So that&#8217;s that &#8211; I&#8217;m a Master of Computer Sciences, I guess.  Awesome!</p>
<h3>I got a job!</h3>
<p>I&#8217;ve been hired by <a href="http://www.mozillamessaging.com">Mozilla Messaging</a> to work on <a href="http://www.mozillamessaging.com/en-GB/thunderbird/">the Thunderbird project</a>!  I&#8217;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&#8217;m absolutely free to discuss the code and the various things I&#8217;m doing with it.  No NDAs for me!  So stay tuned &#8211; I&#8217;ll have lots to say about Thunderbird and the Mozilla Framework code.  Just give me some time to wade through it.</p>
<h3>Zihuatanejo</h3>
<p>It&#8217;s been a pretty long road.  I&#8217;ve been in school, in one form or another, for over two decades.  It&#8217;s strange that it&#8217;s over.  I&#8217;m extremely excited about my next adventures, but I think I&#8217;m going to miss school.</p>
<p>Still, I can&#8217;t help but be a bit dramatic&#8230;</p>
<div class="shashinPhotoGroups">
<table class="shashinThumbnailsTable" id="shashinGroup_2_2" style="margin-left: auto; margin-right: auto;">
<caption></caption>
<tr>
<td>
<div class="shashinThumbnailDiv" id="shashinThumbnailDiv_2" style="width: 294px;"><a href="http://lh3.ggpht.com/-_y-VXypYWG8/TRA5pkQoAjI/AAAAAAAABcE/Gal73_i5okw/shawshank_redemption_4.jpg?imgmax=800" id="shashinThumbnailLink_2" class="shashinFancybox" rel="shashinFancybox_2"><img src="http://lh3.ggpht.com/-_y-VXypYWG8/TRA5pkQoAjI/AAAAAAAABcE/Gal73_i5okw/shawshank_redemption_4.jpg?imgmax=288" alt="" width="288" height="161" class="shashinThumbnailImage" id="shashinThumbnailImage_2" /></a>
<div class="shashinFancyboxCaptionWrapper" id="shashinFancyboxCaption_2">
<div class="shashinFancyboxCaption">
<div class="shashinFancyboxCaptionClose"><a href="javascript:;" onclick="jQuery.fancybox.close();"><img src="http://mikeconley.ca/blog/wp-content/plugins/shashin/Public/Display/fancybox/closelabel.gif" /></a></div>
<div class="shashinLinkToOriginalPhoto"><a href="https://picasaweb.google.com/102046754196003513928/MiscBlogImages#5553001726818648626">View at Picasa</a></div>
<p><!-- comment for image counter --></div>
</div>
</div>
</td>
</tr>
</table>
</div>
<blockquote><p>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&#8217;s all it takes really, pressure, and time. &#8230;Andy crawled to freedom through five hundred yards of shit smelling foulness I can&#8217;t even imagine, or maybe I just don&#8217;t want to. Five hundred yards&#8230; that&#8217;s the length of five football fields, just shy of half a mile&#8230;</p>
<p>Andy Dufresne &#8211; who crawled through a river of shit and came out clean on the other side.</p></blockquote>
<p>P.S.:  <a href="http://mikeconley.ca/blog/2009/04/21/thats-all-folks-now-for-celebration-rituals/">Here are some celebration rituals, if so inclined.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mikeconley.ca/blog/2010/12/23/thats-all-folks-or-becoming-randall-stevens/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Stallin&#8217;&#8230;</title>
		<link>http://mikeconley.ca/blog/2010/11/03/stallin/</link>
		<comments>http://mikeconley.ca/blog/2010/11/03/stallin/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 19:33:49 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Review Board]]></category>
		<category><![CDATA[good code review]]></category>
		<category><![CDATA[recognizing good review]]></category>
		<category><![CDATA[reviewboard]]></category>

		<guid isPermaLink="false">http://mikeconley.ca/blog/?p=1882</guid>
		<description><![CDATA[I know, I know.  I left you all hanging at the edge of your seat with my last blog post, and I still haven&#8217;t posted my idea for recognizing good code review. I&#8217;m bogged down with school work, and I&#8217;m aiming to have the first draft of my research paper done next week.  So that&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I know, I know.  I left you all hanging at the edge of your seat with my last blog post, and I still haven&#8217;t posted my idea for <a href="http://mikeconley.ca/blog/2010/10/23/recognizing-good-code-review/">recognizing good code review</a>.</p>
<p>I&#8217;m bogged down with school work, and I&#8217;m aiming to have the first draft of my research paper done next week.  So that&#8217;s taking 100% of my resources.</p>
<p>Just be patient.  I&#8217;ll post my idea soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://mikeconley.ca/blog/2010/11/03/stallin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recognizing Good Code Review</title>
		<link>http://mikeconley.ca/blog/2010/10/23/recognizing-good-code-review/</link>
		<comments>http://mikeconley.ca/blog/2010/10/23/recognizing-good-code-review/#comments</comments>
		<pubDate>Sat, 23 Oct 2010 19:49:34 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Code Reviews]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Review Board]]></category>
		<category><![CDATA[code inspection]]></category>
		<category><![CDATA[code review]]></category>
		<category><![CDATA[good code review]]></category>
		<category><![CDATA[how to review code]]></category>
		<category><![CDATA[incentive]]></category>
		<category><![CDATA[recognition]]></category>
		<category><![CDATA[reviewboard]]></category>
		<category><![CDATA[team]]></category>
		<category><![CDATA[value]]></category>

		<guid isPermaLink="false">http://mikeconley.ca/blog/?p=1830</guid>
		<description><![CDATA[While the benefits of code review are proven, documented, numerous and awesome, it doesn&#8217;t change the fact that most people, in general, don&#8217;t like doing it. I guess code review just isn&#8217;t really all that fun. So a few months ago, I broadcast the idea of turning code review into a game. It was my [...]]]></description>
			<content:encoded><![CDATA[<p>While the benefits of code review are <a href="http://www.mfagan.com/ibmfagan.pdf">proven</a>, <a href="http://smartbear.com/docs/BestPracticesForPeerCodeReview.pdf">documented</a>, <a href="http://smartbear.com/codecollab-code-review-book.php">numerous</a> and <a href="http://www.reviewboard.org">awesome</a>, it doesn&#8217;t change the fact that most people, in general, don&#8217;t like doing it.</p>
<p>I guess code review just isn&#8217;t really all that fun.</p>
<p>So a few months ago, <a href="http://mikeconley.ca/blog/2010/03/09/turning-peer-code-review-into-a-game/">I broadcast the idea of turning code review into a game.</a> It was my way of trying to mix things up &#8211; &#8220;let&#8217;s add points, and have reviewers/developers competing to be the best participant in the code review process&#8221;.</p>
<p>Well, if there&#8217;s one thing that <a href="http://www.third-bit.com">my supervisor Greg</a> has taught me, it&#8217;s how I shouldn&#8217;t rush headlong into something before all of the facts are in.  So before I decide to do something like game-ifize code review, I should take a look at some prior work in the area&#8230;</p>
<p>Enter this guy:  <a href="http://cargocollective.com/codingconduct">Sebastian Deterding</a>.</p>
<p>In particular, check out the following slide-show.  Flip through it if you have the time.  If you don&#8217;t have the time, scroll down, where I get to the salient point with respect to game-ificating code review.</p>
<p><a href="http://www.slideshare.net/dings/pawned-gamification-and-its-discontents">Here&#8217;s the slide-show.</a> Be sure to read the narrative at the bottom.</p>
<h3>The Salient Point</h3>
<p>Sebastian seems to be saying that adding points to apps and trying to incite competition does not make something a game.  If it did, <a href="http://progresswars.com/">then this should be countless hours of fun</a>.</p>
<p>Without play, there is no game.  Points do not equal a game.  It&#8217;s not nearly that simple.</p>
<h3>Free Pizza and Pop</h3>
<p>I&#8217;m going to divert for a second here.</p>
<p>Last week, a company set themselves up a couple of booths in the lobby of the Bahen Center where I work.  They were there to recruit university students to work for their company &#8211; either as interns, or full-timers.</p>
<p>They were also handing out free pizza and pop.</p>
<p>Needless to say, I wanted a few slices &#8211; but I figured it would be polite if I engaged them in conversation before waltzing off with some of the free food and drink they&#8217;d brought.</p>
<p>So I sparked up a conversation with one of the recruiters, and he told me about the company.  I&#8217;m going to call this recruiter Vlad.</p>
<p>I ended up gently steering the conversation towards code review, and I asked my inevitable question:</p>
<blockquote><p>&#8220;So, do you guys do code review?&#8221;</p></blockquote>
<p>I felt like a dentist asking a patient if he&#8217;s been flossing.  Vlad waffled a bit, but the general impression was:</p>
<blockquote><p>&#8220;Not as much as we should.  We don&#8217;t have a prescribed workflow. It&#8217;d be hard to persuade all of the teams to do it.&#8221;</p></blockquote>
<p>And then we started talking about code review in general.  It turns out that Vlad had worked in a few companies where they&#8217;d done code review, and he always felt a little short changed.  He said something along the lines of:</p>
<blockquote><p>&#8220;I never felt compelled to do reviews.  They just sort of happened&#8230;and I did it, and it felt like&#8230;unrecognized effort.  I mean, what&#8217;s the incentive?  Do you know what I mean?  There&#8217;s incentive for the software, but I&#8217;m talking incentive for <em>me</em>.  And some people did really lousy reviews&#8230;but my reviews were treated the same as theirs.  I didn&#8217;t get recognized, and didn&#8217;t get rewarded if I did a good review.  So it was hard for me to do them.  I want to be recognized for my good reviews, for my good contributions.&#8221;</p></blockquote>
<p>I wish I&#8217;d had a tape-recorder running so I could have gotten Vlad&#8217;s exact words.  But that&#8217;s what I remember him saying.</p>
<h3>Feedback and Recognition</h3>
<p>Maybe instead of trying to game-ulize code review, I can instead hear what Vlad is saying and work off of that.</p>
<p>With the code review that Vlad participated in, <strong>all of the feedback went to the code author, and none went to the reviewers</strong>.  And the reviewers are the ones who are doing all of the heavy lifting!  As a reviewer, Vlad also wants feedback, and recognition for code review done well.</p>
<p>There&#8217;s a company in Toronto that specializes in feedback like this.  They&#8217;re one of the major players in the Toronto start-up scene, and have built a pretty sweet suite of tools to facilitate quick and easy feedback/recognition.</p>
<p>The company is called <a href="http://www.rypple.com">Rypple</a>.  And maybe that&#8217;s the name of the application, too.  (checks website) Yeah, it&#8217;s both.</p>
<p>So Rypple has this feature called Kudos that let&#8217;s people publicly acknowledge the good work of their team.</p>
<p>Normally, I don&#8217;t pimp companies.  And it upsets me when people comment on my blog, and their sub-text is to try to sell their product or service.  However, I think this video is relevant, so I&#8217;m posting their demo video so you can see how Kudos work:</p>
<p><a href="http://vimeo.com/11811215">Click here if you can&#8217;t see the video.</a></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=11811215&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed type="application/x-shockwave-flash" width="400" height="300" src="http://vimeo.com/moogaloop.swf?clip_id=11811215&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h3>The Idea</h3>
<p>So Rypple&#8217;s idea is to have a feed that the team subscribes to, and publicly display things like Kudos.  The badges for the Kudos are also limited in how many you can give per week, so they&#8217;re a valuable commodity that can&#8217;t just be handed out all over the place.  Cool idea.</p>
<p>So there&#8217;s one approach &#8211; use a service like Rypple to give your reviewers better feedback and recognition.</p>
<p>Or maybe we could build an extension for <a href="http://www.reviewboard.org">Review Board</a> that does something similar, and more oriented around code review.</p>
<p>It&#8217;s not oriented like a game, like I had originally envisioned.  But somehow, I think this idea has more meaning and traction than just &#8220;adding points&#8221;.</p>
<p>More on this idea in a few days.  But please, comment if you have any thoughts or ideas to add.</p>
]]></content:encoded>
			<wfw:commentRss>http://mikeconley.ca/blog/2010/10/23/recognizing-good-code-review/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Review Board Issue Tracking:  A Sneak Peek</title>
		<link>http://mikeconley.ca/blog/2010/10/21/review-board-issue-tracking-a-sneak-peek/</link>
		<comments>http://mikeconley.ca/blog/2010/10/21/review-board-issue-tracking-a-sneak-peek/#comments</comments>
		<pubDate>Thu, 21 Oct 2010 18:27:41 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Code Reviews]]></category>
		<category><![CDATA[Review Board]]></category>
		<category><![CDATA[bug tracking]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[defect tracking]]></category>
		<category><![CDATA[defects]]></category>
		<category><![CDATA[issue tracking]]></category>
		<category><![CDATA[issues]]></category>
		<category><![CDATA[preview]]></category>
		<category><![CDATA[reviewboard]]></category>
		<category><![CDATA[sneak peek]]></category>

		<guid isPermaLink="false">http://mikeconley.ca/blog/?p=1835</guid>
		<description><![CDATA[So I wrote my (hopefully) last mid-term ever last night, and in celebration, I thought I&#8217;d put together a little video showing off the issue tracking feature I&#8217;m hoping to put into Review Board. It&#8217;s still in it&#8217;s very early stages.  The code hasn&#8217;t been reviewed.  I&#8217;m still really really open to suggestions and feedback [...]]]></description>
			<content:encoded><![CDATA[<p>So I wrote my (hopefully) last mid-term ever last night, and in celebration, I thought I&#8217;d put together a little video showing off the issue tracking feature I&#8217;m hoping to put into <a href="http://www.reviewboard.org">Review Board</a>.</p>
<p>It&#8217;s still in it&#8217;s very early stages.  The code hasn&#8217;t been reviewed.  I&#8217;m still really really open to suggestions and feedback on this.  So please, comment here, or on <a href="http://groups.google.com/group/reviewboard-dev">the reviewboard-dev list</a>.</p>
<p>So here it is &#8211; enjoy!</p>
<p><a href="http://www.youtube.com/watch?v=ruVlGGdyvYM">(Click here if you can&#8217;t see the video)</a><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="505" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/ruVlGGdyvYM?fs=1&amp;hl=en_US&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="505" src="http://www.youtube.com/v/ruVlGGdyvYM?fs=1&amp;hl=en_US&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://mikeconley.ca/blog/2010/10/21/review-board-issue-tracking-a-sneak-peek/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

