<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0">

<channel>
	<title>CompSci.ca/blog</title>
	
	<link>http://compsci.ca/blog</link>
	<description>Programming, Education, Computer Science</description>
	<lastBuildDate>Sat, 07 Nov 2009 05:35:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<geo:lat>43.478086</geo:lat><geo:long>-80.537682</geo:long><image><link>http://compsci.ca/blog</link><url>http://compsci.ca/blog/wp-content/uploads/computer_science_canada_144.gif</url><title>CompSci.ca/blog</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/ComputerScienceCanadaBlog" type="application/rss+xml" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">ComputerScienceCanadaBlog</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FComputerScienceCanadaBlog" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FComputerScienceCanadaBlog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/ComputerScienceCanadaBlog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FComputerScienceCanadaBlog" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FComputerScienceCanadaBlog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Addictive Tower Defense with Martin Kess</title>
		<link>http://compsci.ca/blog/addictive-tower-defense-with-martin-kess/</link>
		<comments>http://compsci.ca/blog/addictive-tower-defense-with-martin-kess/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 05:35:42 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[CompSci.ca]]></category>
		<category><![CDATA[Video Game Development]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/?p=825</guid>
		<description><![CDATA[<strong style="font-size: 1.2em;"><a title="Martin's compsci.ca profile" href="http://compsci.ca/v3/profile.php?mode=viewprofile&#38;u=7">Martin Kess</a>, one of the founding members of CompSci.ca, has been busy working on a fantastic looking game for the BlackBerry platform: <a title="Addictive Tower Defense game for the BlackBerry" href="http://www.addictivetowerdefense.com/"><em>Addictive Tower Defense</em></a>.</strong> This isn't the first of the <a title="Forces and Evasive Maneuvers games from CompSci community" href="http://compsci.ca/blog/forces/">quality games</a> to come from the CompSci.ca community members, but it certainly raises the bar once again.<br/><br/>I caught up with Martin to talk about the game.


Related posts:<ol><li><a href='http://compsci.ca/blog/treating-video-games-as-software/' rel='bookmark' title='Permanent Link: Treating video games as software'>Treating video games as software</a></li><li><a href='http://compsci.ca/blog/sample-requirements-to-break-into-the-game-industry/' rel='bookmark' title='Permanent Link: Sample requirements to break into the game industry'>Sample requirements to break into the game industry</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div style="float:right; margin-left:10px;">
<object width="445" height="364"><param name="movie" value="http://www.youtube-nocookie.com/v/8dGghAUsUkU&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0x3a3a3a&#038;color2=0x999999&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube-nocookie.com/v/8dGghAUsUkU&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0x3a3a3a&#038;color2=0x999999&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="364"></embed></object></div>
<p>
<a href="http://compsci.ca/v3/profile.php?mode=viewprofile&#038;u=7" title="Martin's compsci.ca profile">Martin Kess</a>, one of the founding members of CompSci.ca, has been busy working on a fantastic looking game for the BlackBerry platform: <a href="http://www.addictivetowerdefense.com/" title="Addictive Tower Defense game for the BlackBerry"><strong>Addictive Tower Defense</strong></a>. This isn&#8217;t the first of the <a href="http://compsci.ca/blog/forces/" title="Forces and Evasive Maneuvers games from CompSci community">quality games</a> to come from the CompSci.ca community members, but it certainly raises the bar once again.
</p>
<p>
I&#8217;ve been playing the beta version of the game for a while, and I am blown away by the level of detail put into this game, just by a <a href="http://www.addictivetowerdefense.com/about/" title="About ADT's developers">couple of indie developers</a>. So I caught up with Martin to talk about the game.
</p>
<p>
<strong>What inspired you to make a commercial game, while still being a student?</strong>
</p>
<blockquote>
<p>
Well, my main goal in life is to have a wikipedia page that doesn&#8217;t get deleted within 30 minutes of its creation.
</p>
<p>
I was working at Sybase, and Mike, my boss at the time, decided that in his spare time he wanted to do a project on the BlackBerry, and so we started throwing game ideas back and forth. The real inspiration thought were stories of <a href="http://en.wikipedia.org/wiki/John_Carmack" title="Wikipedia: John Carmack">John Carmack</a> and <a href="http://en.wikipedia.org/wiki/John_Romero" title="Wikipedia: John Romero">John Romero</a> (co-founders of <a href="http://www.idsoftware.com/" title="id Software">id Software</a> and yes, those are links to their Wikipedia pages) putting everything aside to make awesome video games.
</p>
<p>
And why commercial? Well, I thought that there was an off chance that I could retire a little bit of this quickly growing mountain of student debt.
</p>
</blockquote>
<div style="float:right; margin:10px;">
<img src="http://compsci.ca/blog/wp-content/uploads/2009/11/tower_defense_freeze.png" alt="One of 6 towers" title="tower defense freeze" width="100" height="100" class="size-full wp-image-839" />
</div>
<p>
Currently attending <a href="http://compsci.ca/blog/getting-into-university-of-waterloo/" title="Most relevant UWaterloo article I have for now">the same school</a> with Martin, I had to ask how that played in with making games.
</p>
<p>
<strong>How do you feel that your 5 years of doing <acronym title="Computer Science">CS</acronym> at Waterloo impacted the development of the game?</strong>
</p>
<blockquote>
<p>
Well, co-op especially has turned me into a very productive programmer, so I think that I am pretty good at cranking out a lot of code. To be clear though &#8212; I mostly worked on gameplay and tools, Mike did the engine.
</p>
<p>
<a href="http://www.student.cs.uwaterloo.ca/~cs241/" title="Waterloo's CS241">CS241</a> (Foundations of Sequential Programs, also known as <em>&#8220;baby compilers&#8221;</em>) was pretty relevant &#8212; I wrote a little scripting language to define the levels.
</p>
<p>
<a href="http://www.student.cs.uwaterloo.ca/~cs341/" title="Waterloo's CS341">CS341</a> (Algorithms) and <a href="http://www.student.cs.uwaterloo.ca/~cs466/" title="Waterloo's CS466">CS466</a> (Advanced algorithms) taught lots about algorithms , which was probably the most useful.
</p>
</blockquote>
<p>
Math, being a <a href="http://compsci.ca/blog/recommended-for-strong-math-students-only/" title="Recommended for strong math students only.">touchy</a> <a href="http://compsci.ca/blog/video-game-degrees-need-to-require-math/" title="Video game degrees need to require Math">subject</a> when it comes to video game development, also came into question:
</p>
<p>
<strong>What about the Math courses, did any of them come in useful in either development of the game or balancing out the gameplay?</strong>
</p>
<blockquote>
<p>
The math was actually pretty straightforward &#8212; it wasn&#8217;t much beyond Calculus 1. Though <a href="http://www.student.math.uwaterloo.ca/~math239/" title="Waterloo's Math239">MATH 239</a> (Combinatorial Analysis and Graph Theory) also came in handy. We used just the <a href="http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm" title="Wikipedia: Dijkstra's algorithm">Dijkstra&#8217;s algorithm</a> to find the shortest path for the enemies to take, but we also made a nifty flood-fill algorithm to update the shortest paths quickly when a tower got built. It was too expensive to rebuild the shortest paths every time a tower was placed.
</p>
</blockquote>
<div id="attachment_845" class="wp-caption alignright" style="width: 384px"><img src="http://compsci.ca/blog/wp-content/uploads/2009/11/tower_defense_upgrades.png" alt="Table of &lt;a href=&#039;http://www.addictivetowerdefense.com/game/towers/&#039;&gt;upgrades&lt;/a&gt;" title="tower defense upgrades" width="374" height="143" class="size-full wp-image-845" style="margin-left:10px;" /><p class="wp-caption-text">Table of <a href='http://www.addictivetowerdefense.com/game/towers/'>upgrades</a></p></div>
<p>
<strong>Anything else?</strong>
</p>
<blockquote>
<p>
English classes were very important! I did most of the writing on the site and in the game.
</p>
</blockquote>
<p>
So to wrap this up&#8230; <strong>What&#8217;s next?</strong>
</p>
<blockquote>
<p>
Next? <em>*laughs*</em> Next I have to rock this <a href="http://www.student.cs.uwaterloo.ca/~cs488/" title="Waterloo's CS488">CS488</a> (Introduction to Computer Graphics) project.
</p>
<p>
We&#8217;re going to keep releasing maps for the game, and likely we&#8217;ll start working on Game #2, although we aren&#8217;t sure what that will be, and will probably take a break until Christmas at least to get caught up on sleep and other such things.
</p>
</blockquote>
<div id="attachment_851" class="wp-caption alignleft" style="width: 480px"><img src="http://compsci.ca/blog/wp-content/uploads/2009/11/tower_defense_gameplay.png" alt="Tower Defense gameplay" title="tower defense gameplay" width="470" height="193" class="size-full wp-image-851" /><p class="wp-caption-text">Tower Defense gameplay</p></div>
<p>
So there it is. A story about indie game development, a Computer Science student in debt, and one of the most polished mobile games I had a chance to play. Check out the game&#8217;s website for more details &#8212; <a href="http://www.addictivetowerdefense.com/" title="Addictive Tower Defense game for the BlackBerry">AddictiveTowerDefense.com</a>.
</p>
<div style="clear:both;"></div>


<p>Related posts:<ol><li><a href='http://compsci.ca/blog/treating-video-games-as-software/' rel='bookmark' title='Permanent Link: Treating video games as software'>Treating video games as software</a></li><li><a href='http://compsci.ca/blog/sample-requirements-to-break-into-the-game-industry/' rel='bookmark' title='Permanent Link: Sample requirements to break into the game industry'>Sample requirements to break into the game industry</a></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=ZdOQqnW31tY:wJqOnYWSJYI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=ZdOQqnW31tY:wJqOnYWSJYI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=ZdOQqnW31tY:wJqOnYWSJYI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=ZdOQqnW31tY:wJqOnYWSJYI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=ZdOQqnW31tY:wJqOnYWSJYI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=ZdOQqnW31tY:wJqOnYWSJYI:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ComputerScienceCanadaBlog/~4/ZdOQqnW31tY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/addictive-tower-defense-with-martin-kess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Computer Science jobs for University Students</title>
		<link>http://compsci.ca/blog/computer-science-jobs-for-university-students/</link>
		<comments>http://compsci.ca/blog/computer-science-jobs-for-university-students/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 05:05:02 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Career]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/?p=795</guid>
		<description><![CDATA[<strong style="font-size: 1.2em;">I’m often asked about available jobs for Computer Science students. More so in light of the recent economic downturn.</strong> A new trend that I’m observing, since 2 years ago, is that there is a substantial increase of job postings from much smaller start-up companies.<br/><br/>Economic hardship breeds innovation. It puts large corporations into a compromised position, and that opens up an opportunity for small, agile, smart, inexpensive, but super-productive startups to come into play and compete with established corporations.


Related posts:<ol><li><a href='http://compsci.ca/blog/computer-science-enrollment-trends/' rel='bookmark' title='Permanent Link: Computer Science enrollment trends'>Computer Science enrollment trends</a></li><li><a href='http://compsci.ca/blog/more-on-the-future-of-computer-science-careers-outlook-still-promising/' rel='bookmark' title='Permanent Link: More on the future of Computer Science Careers &#8211; outlook still promising'>More on the future of Computer Science Careers &#8211; outlook still promising</a></li><li><a href='http://compsci.ca/blog/cool-tech-jobs-driving-the-mars-rover/' rel='bookmark' title='Permanent Link: Cool Tech Jobs: Driving the Mars Rover'>Cool Tech Jobs: Driving the Mars Rover</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div id="attachment_797" class="wp-caption alignright" style="width: 351px"><img src="http://compsci.ca/blog/wp-content/uploads/2009/09/job_search_results.png" alt="Software jobs posted to U Waterloo" title="job_search_results" width="341" height="357" class="size-full wp-image-797" /><p class="wp-caption-text">Software jobs posted to U Waterloo</p></div>
<p>
I&#8217;m often asked about available jobs for Computer Science students. More so in light of the recent economic downturn. An interesting point to reflect against is <a href="http://compsci.ca/blog/sample-requirements-to-break-into-the-game-industry/" title="Sample requirements to break into the game industry">a benchmark from 2007</a> when <em>&#8220;950 Computer Science related jobs&#8221;</em> were advertised to the University of Waterloo students. This Fall&#8217;s 782 seems lower than pre-economic-meltdown numbers, but a lot of large corporations now group multiple positions into single postings. <acronym title="Research In Motion">RIM</acronym> alone has 100+ student positions advertised over just 3 posts. So it&#8217;s difficult to compare those numbers accurately.
</p>
<p>
Other technology power-corporations (Google, Microsoft, Amazon) continue employing students as well.
</p>
<p>
A new trend I&#8217;m observing, since 2 years ago, is that there is a substantial increase of job postings from much smaller start-up companies, as well as not-so-small ex-startups (Facebook in particular had a few different positions advertised).
</p>
<p>
Economic hardship breeds innovation. It puts large corporations into a compromised position, and that opens up an opportunity for small, agile, smart, inexpensive, but super-productive startups to come into play and compete with established corporations. Unconvinced? Today <a href="http://startuply.com/" title="Staruply: Startup companies. Startup jobs">Startuply</a> is listing <em>&#8220;1375 jobs from 1293 startups&#8221;</em>, and I&#8217;ve noticed some of them cross-listed on Waterloo&#8217;s job website, <strong>specifically looking for students</strong>. Quality software always needs to be build, and Computer Science students who do their craft well are <a href="http://compsci.ca/blog/computer-science-at-the-university-of-toronto-in-video/" title="Greg Wilson in: Computer Science at the University of Toronto, in Video!">&#8220;pretty much guaranteed an interesting job, that actually does something useful to society&#8221;</a>.
</p>
<p>
Alternatively, <a href="http://www.phdcomics.com/comics.php?n=1078" title="PHD Comics: Enrollment vs. Unemployment Rate">there is always grad school</a>.
</p>
<p><img src="http://compsci.ca/blog/wp-content/uploads/2009/09/phd100108s.gif" alt="Unemployment rate vs. Grad School enrollment" title="Unemployment rate vs. Grad School enrollment" width="600" height="432" class="alignnone size-full wp-image-803" /></p>
<p>
Which I might or might not be considering. Hint: <a href="http://twitter.com/tonytargonski/status/4402277851" title="Tony's tweet re: grad school">I am</a>. Though with so much opportunity for interesting work, it will be a difficult decision to make.
</p>
<p><img src="http://compsci.ca/blog/wp-content/uploads/2009/09/Picture-6.png" alt="Tony's tweet" title="Tony's tweet" width="532" height="257" class="alignnone size-full wp-image-807" /></p>


<p>Related posts:<ol><li><a href='http://compsci.ca/blog/computer-science-enrollment-trends/' rel='bookmark' title='Permanent Link: Computer Science enrollment trends'>Computer Science enrollment trends</a></li><li><a href='http://compsci.ca/blog/more-on-the-future-of-computer-science-careers-outlook-still-promising/' rel='bookmark' title='Permanent Link: More on the future of Computer Science Careers &#8211; outlook still promising'>More on the future of Computer Science Careers &#8211; outlook still promising</a></li><li><a href='http://compsci.ca/blog/cool-tech-jobs-driving-the-mars-rover/' rel='bookmark' title='Permanent Link: Cool Tech Jobs: Driving the Mars Rover'>Cool Tech Jobs: Driving the Mars Rover</a></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=Y-zDpua0Fao:KOws1qaKK5c:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=Y-zDpua0Fao:KOws1qaKK5c:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=Y-zDpua0Fao:KOws1qaKK5c:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=Y-zDpua0Fao:KOws1qaKK5c:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=Y-zDpua0Fao:KOws1qaKK5c:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=Y-zDpua0Fao:KOws1qaKK5c:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ComputerScienceCanadaBlog/~4/Y-zDpua0Fao" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/computer-science-jobs-for-university-students/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Legalizing p2p scheme: legally borrow music from the internets</title>
		<link>http://compsci.ca/blog/legalizing-p2p-scheme-legally-borrow-music-from-the-internets/</link>
		<comments>http://compsci.ca/blog/legalizing-p2p-scheme-legally-borrow-music-from-the-internets/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 02:07:56 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/?p=785</guid>
		<description><![CDATA[<strong style="font-size: 1.2em;">While a lot of people scream that RIAA/MPAA are not keeping up with the times and technology, we are not really any closer to having an entertainment distribution system that takes advantage of available technology</strong> to make it convenient for consumers <em>and</em> one which fairly compensates the industry that creates the said content. So I propose starting a discussion, by presenting a scheme that pulls p2p technology and current copyright laws closer together.


No related posts.]]></description>
			<content:encoded><![CDATA[<div id="attachment_786" class="wp-caption alignright" style="width: 480px"><img src="http://compsci.ca/blog/wp-content/uploads/2009/04/cd_music_in_library.png" alt="&quot;New CD browsers&quot; on Flickr, by &lt;a href=&#039;http://www.flickr.com/photos/smcl/3008594487/&#039; title=&#039;Flickr: New CD browsers at East Palo Alto Library, November 2008&#039;&gt;San Mateo County Library&lt;/a&gt;" title="cd music in library" width="470" height="307" class="size-full alignright wp-image-786" /><p class="wp-caption-text">&quot;New CD browsers&quot; on Flickr, by <a href='http://www.flickr.com/photos/smcl/3008594487/' title='Flickr: New CD browsers at East Palo Alto Library, November 2008'>San Mateo County Library</a></p></div>
<p>
Recently, a lot has been happening in the peer-2-peer space, at least from the legal perspective. The Pirate Bay trial, plus various torrent websites shutting down; <a href="http://torrentfreak.com/" title="TorrentFreak: Torrent News, Torrent Sites and the latest Scoops">TorrentFreak</a> is an excellent news source for all that goodness. While a lot of people scream that RIAA/MPAA (and their international equivalents) are not keeping up with the times and technology, we are not really any closer to having an entertainment distribution system that takes advantage of available technology to make it convenient for consumers <em>and</em> one which fairly compensates the industry that creates the said content. So I propose starting a discussion, by presenting a scheme that pulls p2p technology and current copyright laws closer together.
</p>
<p>
There are two basic premises:
</p>
<ol>
<li>Music is purchased as a license for an individual to indefinitely enjoy a particular piece of entertainment.</li>
<li>It is permissible to lend someone a physical music CD, provided that it is original (such as store bought), and not a copy.</li>
</ol>
<p>
The latter point is what allows one to sell their used CDs (imagine that, there&#8217;s an actual business that does that, with 11 locations in Ontario &#8212; <a href="http://www.beatgoeson.com/" title="The Beat Goes On - Used CD Outlet - Buy and sell used CDs, DVDs and Games">The Beat Goes On</a>), borrow CDs from a public library (the <a href="http://www.torontopubliclibrary.ca/" title="Toronto Public Library">Toronto Public Library</a> has 59 838 <em>titles</em> (in multiple copies!) available), or to lend a CD to a friend (just try to outlaw that, and the general public will actually start taking interest in the application of copyright laws, and the next election).
</p>
<p>
The former point stipulates that a physical CD is simply a token, showing that the current holder has a license to enjoy the media; the recordings on the disk are simply a convenience factor.
</p>
<p>
So the natural step, at least as it seems to me, is to digitalize this license tokens, and let them be shared over p2p technology, as you would have shared a physical CD with a friend. Here&#8217;s what I have in mind:
</p>
<div id="attachment_787" class="wp-caption alignleft" style="width: 480px"><img src="http://compsci.ca/blog/wp-content/uploads/2009/04/p2p_music_as_licenses_sharing_scheme.png" alt="Scheme illustration, put together with free icons from &lt;a href=&#039;http://www.iconspedia.com/&#039; title=&#039;IconsPedia: PNG Icons&#039;&gt;IconsPedia&lt;/a&gt;" title="p2p music as license sharing scheme" width="470" height="200" class="size-full alignleft wp-image-787" /><p class="wp-caption-text">Scheme illustration, put together with free icons from <a href='http://www.iconspedia.com/' title='IconsPedia: PNG Icons'>IconsPedia</a></p></div>
<p>
All of the music is readily available for download (similar to current .torrent approach) and copies could be cached on your device (to save bandwidth), <em>but</em> it is not playable unless a license token is also available on the system. The license tokens will act as unique digital keys, which could be borrowed and released back into the cloud of p2p.
</p>
<p>
If one had purchased a set of license keys for the latest music album, but isn&#8217;t listening to this particular music items at the moment (school, work, sleep.. there are many reasons why ones <em>entire</em> music collection isn&#8217;t played 24/7), those keys are available to be given to someone else. Similarly, one could temporary take possession of someone else&#8217;s license, while such is available.
</p>
<p>
To prevent leechers, and make for a fairer sharing experience, a model similar of current private torrent trackers could be applied &#8212; those who contribute more keys will get priority status. Bonus points for contributing keys to high-demand or rare media. Maybe preference for own social graphs.
</p>
<p>
The net effect of automating <em>request-play-release</em> cycle is that a) sharing music will be completely legal, b) ease of use would be on par with current technology, and c) popular content (ones with more simultaneous key usages) will see a proportionally larger share of revenue. Just think back to days of mixtapes, and trading CDs with friends; except that it&#8217;s now done every 3 minute, through a wire, and you are friends with the world.
</p>
<p>
The caveat is that, yes, one would actually have to pay for some of the licenses to take part in this sharing community process. Though ones choice of which artists to support and generalizing the use of granted licenses should make it a fair deal. iTunes and Amazon&#8217;s MP3-Downloads show that a lot of people are still willing to pay for very specific music purchases online.
</p>
<p>
But now, given the fact that <a href="http://arstechnica.com/media/news/2009/04/study-pirates-buy-tons-more-music-than-average-folks.ars" title="Ars: Study: pirates biggest music buyers. Labels: yeah, right">&#8220;pirates [are the] biggest music buyers&#8221;</a>, via Ars, do we really have to implement such an explicit model?
</p>
<blockquote><p>
Those who download &#8220;free&#8221; music from P2P networks are more likely to spend money on legit downloads than those who are squeaky clean, according to a new report out of Norway.</p>
</blockquote>


<p>No related posts.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=Dvd__XYL-0M:VKBEU-6XX_A:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=Dvd__XYL-0M:VKBEU-6XX_A:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=Dvd__XYL-0M:VKBEU-6XX_A:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=Dvd__XYL-0M:VKBEU-6XX_A:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=Dvd__XYL-0M:VKBEU-6XX_A:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=Dvd__XYL-0M:VKBEU-6XX_A:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ComputerScienceCanadaBlog/~4/Dvd__XYL-0M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/legalizing-p2p-scheme-legally-borrow-music-from-the-internets/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Computer Science at the University of Toronto, in Video!</title>
		<link>http://compsci.ca/blog/computer-science-at-the-university-of-toronto-in-video/</link>
		<comments>http://compsci.ca/blog/computer-science-at-the-university-of-toronto-in-video/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 00:22:42 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Education]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/?p=783</guid>
		<description><![CDATA[<strong style="font-size: 1.2em;">Byte Club TV's take on University of Toronto's Computer Science. CS... in video... with pink hippos.</strong>
</p><blockquote><p>Greg: “One of the things that I think the department has to do, is a better job at reaching out to people to get that message across; is that almost anybody who can program well is pretty much guaranteed an interesting job, that actually does something useful to society.” </p></blockquote>


Related posts:<ol><li><a href='http://compsci.ca/blog/computer-science-at-ryerson-university/' rel='bookmark' title='Permanent Link: Computer Science at Ryerson University'>Computer Science at Ryerson University</a></li><li><a href='http://compsci.ca/blog/computer-science-jobs-for-university-students/' rel='bookmark' title='Permanent Link: Computer Science jobs for University Students'>Computer Science jobs for University Students</a></li><li><a href='http://compsci.ca/blog/academic-x06-gamecamp-toronto/' rel='bookmark' title='Permanent Link: Academic &#8211; X06: GameCamp (Toronto)'>Academic &#8211; X06: GameCamp (Toronto)</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>[sniplet ONTARIO_U_BANNER]</p>
<p>
<a href="http://www.byteclub.tv/" title="Byte Club TV">Byte Club TV</a> is a webcast show profiling tech companies, typically around Toronto area. One of the shows producers, Kristan &#8220;Krispy&#8221; Uccello is fairly involved in Toronto&#8217;s tech community. I often see him at <em>Rails Nite</em> events; he&#8217;s a pretty cool guy.
</p>
<p>
It looks like a while ago they&#8217;ve visited and filmed at the Computer Science department of University of Toronto. This isn&#8217;t an opt-out to avoid writing up an actual overview of <acronym title="University of Toronto">UofT</acronym>&#8217;s Computer Science, but until then it&#8217;s still an interesting video to watch. Pretty shots of the glass <acronym title="Computer Science">CS</acronym> building &amp; <a href="http://pyre.third-bit.com/" title="Greg Wilson's blog">Greg Wilson</a> talking about the department, industry, and pink hippos.
</p>
<blockquote><p>
Greg: &#8220;One of the things that I think the department has to do, is a better job at reaching out to people to get that message across; is that almost anybody who can program well is pretty much guaranteed an interesting job, that actually does something useful to society.&#8221;
</p>
</blockquote>
<p><embed src="http://blip.tv/play/grA85b40kKlQ%2Em4v" type="application/x-shockwave-flash" width="640" height="390" allowscriptaccess="always" allowfullscreen="true"></embed> </p>


<p>Related posts:<ol><li><a href='http://compsci.ca/blog/computer-science-at-ryerson-university/' rel='bookmark' title='Permanent Link: Computer Science at Ryerson University'>Computer Science at Ryerson University</a></li><li><a href='http://compsci.ca/blog/computer-science-jobs-for-university-students/' rel='bookmark' title='Permanent Link: Computer Science jobs for University Students'>Computer Science jobs for University Students</a></li><li><a href='http://compsci.ca/blog/academic-x06-gamecamp-toronto/' rel='bookmark' title='Permanent Link: Academic &#8211; X06: GameCamp (Toronto)'>Academic &#8211; X06: GameCamp (Toronto)</a></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=cJLOIa97SxE:mIdHNgwGwxs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=cJLOIa97SxE:mIdHNgwGwxs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=cJLOIa97SxE:mIdHNgwGwxs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=cJLOIa97SxE:mIdHNgwGwxs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=cJLOIa97SxE:mIdHNgwGwxs:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=cJLOIa97SxE:mIdHNgwGwxs:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ComputerScienceCanadaBlog/~4/cJLOIa97SxE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/computer-science-at-the-university-of-toronto-in-video/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ISP modifying .torrent file contents</title>
		<link>http://compsci.ca/blog/isp-modifying-torrent-file-contents/</link>
		<comments>http://compsci.ca/blog/isp-modifying-torrent-file-contents/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 23:47:14 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/?p=780</guid>
		<description><![CDATA[<strong style="font-size: 1.3em;">Looking back almost a year, I'd just like to say -- <a href="http://compsci.ca/blog/internet-protocols-could-be-facing-a-siege-from-isps/" title="Internet protocols could be facing a siege from ISPs">I told you so</a>.</strong>
<blockquote><p>It works as follows. When a Bezeq International customer downloads a .torrent file the ISP will intercept it and add (!) a new tracker to it. The additional tracker is only accessible for Bezeq International customers and it connects to a high speed web-seed hosted on Bezeq International’s network.</p></blockquote>


No related posts.]]></description>
			<content:encoded><![CDATA[<div id="attachment_580" class="wp-caption alignright" style="width: 504px"><a href="http://compsci.ca/blog/wp-content/uploads/2008/07/isp_inject_bittorrent.png"><img src="http://compsci.ca/blog/wp-content/uploads/2008/07/isp_inject_bittorrent.png" alt="Not quite like this... yet." title="mockup ISP bittorrent injection" width="494" height="321" class="size-full alignright wp-image-580" /></a><p class="wp-caption-text">Not quite like this... yet.</p></div>
<p>
TorrentFreak <a href="http://torrentfreak.com/isp-speeds-up-customers-bittorrent-downloads-090418/" title="ISP Speeds Up Customers’ BitTorrent Downloads">reports</a> that an Israeli ISP, Bezeq, is actually modifying the .torrent files, as they are downloaded by their customers.
</p>
<p>
Looking back almost a year, I&#8217;d just like to say &#8212; <a href="http://compsci.ca/blog/internet-protocols-could-be-facing-a-siege-from-isps/" title="Internet protocols could be facing a siege from ISPs">I told you so</a>.
</p>
<blockquote><p>It works as follows. When a Bezeq International customer downloads a .torrent file the ISP will intercept it and add (!) a new tracker to it. The additional tracker is only accessible for Bezeq International customers and it connects to a high speed web-seed hosted on Bezeq International’s network.</p>
</blockquote>
<p>
Instead of blocking / throttling / capping / sending-threatening-letters or finding other ways of annoying their own customers for actually using the services they pay for, Bezeq caches popular downloads. The ISP saves on costs for having less traffic go outside of their own network, and customers actually end up with faster downloads. Still, this involves intercepting and modifying downloads, which makes me feel uneasy, as this could easily be turned the other way.</p>


<p>No related posts.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=TRlwzq3eJws:SFviP6mI_GM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=TRlwzq3eJws:SFviP6mI_GM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=TRlwzq3eJws:SFviP6mI_GM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=TRlwzq3eJws:SFviP6mI_GM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=TRlwzq3eJws:SFviP6mI_GM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=TRlwzq3eJws:SFviP6mI_GM:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ComputerScienceCanadaBlog/~4/TRlwzq3eJws" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/isp-modifying-torrent-file-contents/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Treating video games as software</title>
		<link>http://compsci.ca/blog/treating-video-games-as-software/</link>
		<comments>http://compsci.ca/blog/treating-video-games-as-software/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 07:43:05 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Video Game Development]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/?p=768</guid>
		<description><![CDATA[I find this conflicting: Video games are often the <a title="thoughts on video game programming jobs" href="http://compsci.ca/blog/thoughts-on-video-game-programming-jobs/">driving force for kids to pursue Computer Science</a>, and yet shipped games are often not perceived as <em>software</em>. Maybe the quality, integration, and user experience really is better than across other industries;
<br/><br/>
<strong style="font-size: 1.2em;">though unless the development process goes through the incredibly expensive steps of validating a safety-critical system, there will likely be some bugs left.</strong>


Related posts:<ol><li><a href='http://compsci.ca/blog/profitability-in-video-game-industry/' rel='bookmark' title='Permanent Link: Profitability in video game industry'>Profitability in video game industry</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div id="attachment_769" class="wp-caption alignright" style="width: 480px"><img src="http://compsci.ca/blog/wp-content/uploads/2009/04/epic_support_470.png" alt="Gears of War website does have a support page, but it&#039;s about as useful as a &quot;go away&quot; sign." title="epic_support_470" width="470" height="200" class="size-full alignright wp-image-769" /><p class="wp-caption-text">Gears of War website does have a support page, but it's about as useful as a &quot;go away&quot; sign.</p></div>
<p>
I find this conflicting: Video games are often the <a href="http://compsci.ca/blog/thoughts-on-video-game-programming-jobs/" title="thoughts on video game programming jobs">driving force for kids to pursue Computer Science</a>, and yet shipped games are often not perceived as <em>software</em>. Maybe the quality, integration, and user experience really is better than across other industries; though unless the development process goes through the incredibly expensive steps of validating a <a href="http://en.wikipedia.org/wiki/Life-critical_system" title="Wikipedia: Life-critical system">safety-critical system</a>, there will likely be some bugs left.
</p>
<p>
Which was exactly the case with <strong>Gears of War 2</strong>, that crashed during the gameplay, after recent updates.
</p>
<p>
Since I actually work in the software industry, I&#8217;ve decided to file a bug report, but it appears that <strong>Epic Games</strong> doesn&#8217;t want to hear about it.
</p>
<div id="attachment_770" class="wp-caption alignleft" style="width: 297px"><img src="http://compsci.ca/blog/wp-content/uploads/2009/04/xbox_support.png" alt="xbox.com support options" title="xbox_support" width="287" height="314" class="size-full alignleft wp-image-770" /><p class="wp-caption-text">xbox.com support options</p></div>
<p>
The <em>official Xbox support page</em>, where Gears of War&#8217;s &#8220;support&#8221; page points seems to deal with Xbox Live and Hardware problems only, not with actual games.
</p>
<p>
The community forums back on the game&#8217;s website are full of noise and are mostly filled with complaints. I haven&#8217;t seen any moderator replies, even on legitimate issues posted. Epic&#8217;s official website just links to their product websites. And there are no other way of contacting them.
</p>
<p>
I would say <strong>Epic FAIL</strong> and chuckle at how well this meme works for this company, but a scary thought occurs instead: it&#8217;s only a failure if the company cared to hear back from the users of their products in the first place. Unlike with software-as-a-service subscription models, or software that could have 2.0, or licensing models, or other software that makes money from keeping and getting more users; mass market video games make the bulk of their sales shortly after the release date. Having already cashed in on the release, support and bug-fixes are an expense that are not justified by having more direct profits.
</p>
<p>
Unless you are <strong>Blizzard Entertainment</strong>, with an image to maintain. They still seem to be doing things right.
</p>
<div id="attachment_771" class="wp-caption alignleft" style="width: 503px"><img src="http://compsci.ca/blog/wp-content/uploads/2009/04/blizzard_support.png" alt="Blizzard&#039;s support options" title="blizzard_support" width="493" height="153" class="size-full alignleft wp-image-771" /><p class="wp-caption-text">Blizzard's support options</p></div>
<p>
So this leaves me with this blog. Here&#8217;s the bug report:
</p>
<p>
In the game lobby, map selection ended in a draw. In the event of a tie, the system picks a random map, but it picked one from an expansion pack that I did not have (this really should have been caught in QA testing). As a result, the game crashed out of the match, with a user-facing prompt that only said: <strong>?int?Engine.Errors.ConnectionLost?</strong>.
</p>
<p><br/></p>
<p>
I know what (int) means; in this case it&#8217;s obvious that the software doesn&#8217;t handle errors properly. Maybe I can ping someone from Epic Game&#8217;s PR on Twitter? If not about technical issues, then simply about not being able to contact them in any other way&#8230;
</p>
<p><a href="http://twitter.com/tonytargonski/status/1456050218"><img src="http://compsci.ca/blog/wp-content/uploads/2009/04/twitter_to_epic_games.png" alt="" title="twitter_to_epic_games" width="500" height="73" class="aligncenter size-full wp-image-773" /></a></p>
<p>
Or am I just being unrealistic? Should I think of video games as movie-type entertainment, but with more interaction? I suppose a lot of games are trending towards the <em>&#8220;pop the DVD in for few hours of entertainment&#8221;</em> use; but that&#8217;s precisely what allows for the slip in every quality that does not directly contribute to marketing driven sales (though we do get HD graphics out of this).
</p>
<p>
Or maybe it&#8217;s the new breed of gamer population&#8230; <em>*sigh*</em>
</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/n7VAhzPcZ-s&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0x3a3a3a&#038;color2=0x999999"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/n7VAhzPcZ-s&#038;hl=en&#038;fs=1&#038;rel=0&#038;color1=0x3a3a3a&#038;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>


<p>Related posts:<ol><li><a href='http://compsci.ca/blog/profitability-in-video-game-industry/' rel='bookmark' title='Permanent Link: Profitability in video game industry'>Profitability in video game industry</a></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=veYtSfvGLqc:B2iknlc7yfk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=veYtSfvGLqc:B2iknlc7yfk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=veYtSfvGLqc:B2iknlc7yfk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=veYtSfvGLqc:B2iknlc7yfk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=veYtSfvGLqc:B2iknlc7yfk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=veYtSfvGLqc:B2iknlc7yfk:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ComputerScienceCanadaBlog/~4/veYtSfvGLqc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/treating-video-games-as-software/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Bullshit legal threats for online identity management</title>
		<link>http://compsci.ca/blog/bullshit-legal-threats-for-online-identity-management/</link>
		<comments>http://compsci.ca/blog/bullshit-legal-threats-for-online-identity-management/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 06:15:26 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/?p=765</guid>
		<description><![CDATA[<strong style="font-size: 1.4em;">It is unreasonable to take everything posted on forums or blogs as facts.</strong>
<br/>
<br/>
But since people are beginning to realize that what they say, or what is said about them, <em>online</em>, could actually matter, the above is ignored in favour of bullshit threats in a futile attempt at censorship.


No related posts.]]></description>
			<content:encoded><![CDATA[<div id="attachment_766" class="wp-caption alignright" style="width: 480px"><img src="http://compsci.ca/blog/wp-content/uploads/2009/02/online_identity_470.png" alt="Crop of &#039;My Cyber Social Map&#039; by &lt;a href=&#039;http://www.flickr.com/photos/crystaleagle/2386230724/&#039; title=&#039;Flickr: My Cyber Social Map&#039;&gt;frankdasilva&lt;/a&gt;" title="online_identity_470" width="470" height="208" class="size-full alignright wp-image-766" /><p class="wp-caption-text">Crop of 'My Cyber Social Map' by <a href='http://www.flickr.com/photos/crystaleagle/2386230724/' title='Flickr: My Cyber Social Map'>frankdasilva</a></p></div>
<p>
It seems that people are beginning to realize that what they say, or what is said about them, <em>online</em>, could actually matter. More so, if it shows up on Google. Which is exactly what happened to a certain individual, who was recently looking up his own name, and found something he did not like. A forum post, from 2004.
</p>
<blockquote>
<p>
&#8220;I found said post as hit #7. The absurd comments contained within could be classified as nothing other than slanderous, if not criminal. My name is not one that is common so I am taking these accusations personally and I ask that they are removed immediately so that further action is not required.&#8221;
</p>
</blockquote>
<p>
Among many problems with the above claim, is the fact that the post in question was about some kid, who happened to go by the same name, doing stupid things in high school. If the age discrepancy or the absurdity of the context doesn&#8217;t click in, perhaps the fact that it&#8217;s <strong>an opinion</strong> posted by <strong>an anonymous users</strong> on <strong>a forum</strong> should.
</p>
<p style="font-size:2em;">
<strong>It is unreasonable to take everything posted on <em>forums</em> or <em>blogs</em> as <em>facts</em>.</strong>
</p>
<p>
Besides, the forum itself, and it&#8217;s operators (myself and Dan) are just a carrier, and can&#8217;t be held responsible for the actions of 3rd party users. Still, some seem to be under the impression that big words and threats are the way to go.
</p>
<p>
So we&#8217;ve started a <a href="http://wiki.compsci.ca/index.php?title=Legal_Threats" title="Legal Threats received by compsci.ca">wiki page of <em>Legal Threats</em></a> that we&#8217;ve received; it will be updated as more show up. That&#8217;s right, we are doing it <a href="http://thepiratebay.org/legal" title="legal threats received by The Pirate Bay">The Pirate Bay style</a> &#8212; all threats will be publicly posted. We even have enough time to reply!
</p>
<p>
<strong>A few lessons learned:</strong>
</p>
<p>
1. Your name <strong>will</strong> be searched online. Internet content should be considered permanent, so try to do something noteworthy.
</p>
<p>
2. Failing to do the above, <strong>start a blog</strong>. If anything, it should rank higher than <em>absurd 4 year old forum posts about random kids</em>.
</p>
<p>
3. If you plan on threatening someone and make it sound all serious &#8212; <strong>you have to take it seriously as well</strong>. Otherwise that nonsense will just end up on the internet. See point #1.</p>


<p>No related posts.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=eQm34DoRqhY:nv8huMADRZM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=eQm34DoRqhY:nv8huMADRZM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=eQm34DoRqhY:nv8huMADRZM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=eQm34DoRqhY:nv8huMADRZM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=eQm34DoRqhY:nv8huMADRZM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=eQm34DoRqhY:nv8huMADRZM:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ComputerScienceCanadaBlog/~4/eQm34DoRqhY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/bullshit-legal-threats-for-online-identity-management/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The spirit of Software Engineering</title>
		<link>http://compsci.ca/blog/the-spirit-of-software-engineering/</link>
		<comments>http://compsci.ca/blog/the-spirit-of-software-engineering/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 00:52:56 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Education]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/?p=761</guid>
		<description><![CDATA[While <strong>Software Engineering</strong> vs. <strong>Computer Science</strong> does have it's <a title="6 Degrees of Computer Science" href="http://compsci.ca/blog/6-degrees-of-computer-science/">technical differences</a>, there are also some differences that take place outside of the lecture halls.
<br/>
<br/>
<strong style="font-size: 1.4em;">Since University is as much about the experience of attending as the material learned, it might be a good idea to consider the overall package being offered.</strong>


Related posts:<ol><li><a href='http://compsci.ca/blog/chemistry-for-software-engineers/' rel='bookmark' title='Permanent Link: Chemistry for Software Engineers'>Chemistry for Software Engineers</a></li></ol>]]></description>
			<content:encoded><![CDATA[<div id="attachment_762" class="wp-caption alignright" style="width: 480px"><a href="http://compsci.ca/blog/wp-content/uploads/2009/02/software_engineering_ring_470.jpg"><img src="http://compsci.ca/blog/wp-content/uploads/2009/02/software_engineering_ring_470.jpg" alt="Software Engineering by &lt;a href=&#039;http://www.flickr.com/photos/canadianveggie/123383284/&#039; title=&#039;Flickr: Software Engineering&#039;&gt;Canadian Veggie&lt;/a&gt;" title="software engineering ring" width="470" height="185" class="alignright size-full wp-image-762" /></a><p class="wp-caption-text">Software Engineering by <a href='http://www.flickr.com/photos/canadianveggie/123383284/' title='Flickr: Software Engineering'>Canadian Veggie</a></p></div>
<p>
While <strong>Software Engineering</strong> vs. <strong>Computer Science</strong> does have it&#8217;s <a href="http://compsci.ca/blog/6-degrees-of-computer-science/" title="6 Degrees of Computer Science">technical differences</a>, there are also some differences that take place outside of the lecture halls. Since University is as much (if not more) about the experience of attending as the material learned, it might be a good idea to consider the overall package being offered.
</p>
<p>
The two things I&#8217;ve noticed to lack in the Computer Science program are:
</p>
<h2>The Iron Ring (in Canada)</h2>
<p>
Software Engineering, being an <strong>Engineering</strong> program, offers an <em>Iron Ring</em> at graduation. It&#8217;s like a degree that one could wear on their hand.
</p>
<h2>The graduating class&#8217; unity</h2>
<p>
While Computer Science is generally much more flexible than Software Engineering, this also means that there is less structure. Engineering programs are typically done in rigid <em>&#8220;classes&#8221;</em> where the bulk of the lectures are attended by the same group of people for the duration of the program. The hardships of the undergrad studies foster a strong bond between the people who manage to make it through.
</p>
<p>
I was reminded of this spirit last week in Montreal, during <a href="http://2009.cusec.net/" title="CUSEC 2009">CUSEC</a>, when a group of SoftEng students was running through McGill, chanting Waterloo cheers, at 2 in the morning. Good times.</p>


<p>Related posts:<ol><li><a href='http://compsci.ca/blog/chemistry-for-software-engineers/' rel='bookmark' title='Permanent Link: Chemistry for Software Engineers'>Chemistry for Software Engineers</a></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=KB1OWAkgABA:D-tlHH-k_J4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=KB1OWAkgABA:D-tlHH-k_J4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=KB1OWAkgABA:D-tlHH-k_J4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=KB1OWAkgABA:D-tlHH-k_J4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=KB1OWAkgABA:D-tlHH-k_J4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=KB1OWAkgABA:D-tlHH-k_J4:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ComputerScienceCanadaBlog/~4/KB1OWAkgABA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/the-spirit-of-software-engineering/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Botnet communication over Twitter, Reddit, social web</title>
		<link>http://compsci.ca/blog/botnet-communication-over-twitter-reddit-social-web/</link>
		<comments>http://compsci.ca/blog/botnet-communication-over-twitter-reddit-social-web/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 06:54:51 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/?p=744</guid>
		<description><![CDATA[<strong style="font-size: 1.4em;">Given the popularity of the IRC protocol for communication between the botnet infected computers, I thought it might be an interesting thought experiment to consider <em>other</em> means of communication.</strong>


No related posts.]]></description>
			<content:encoded><![CDATA[<p>
<strong>Botnet</strong>, a network of software robots, is typically associated with <a href="http://compsci.ca/blog/computer-virus-mostly-harmless-by-definition/" title="Types of computer malware: virus, trojan, etc.">trojan or worm infected</a> computers used to perform the bidding of their master &#8212; spam, malware, <abbr title="Distributed Denial of Service">DDoS</abbr>. And while the common application is grossly unethical and damaging, the academic study of a cluster of software nodes, working as a group, is fascinating.
</p>
<p>
Given the popularity of the <strong>IRC protocol</strong> for communication between the infected computers, I thought it might be an interesting thought experiment to consider other means of communication. On a locked down corporate network, blocking all but a few essential ports, <strong>HTTP</strong> is typically let through; I guess people need to access web pages for research and other business needs. Without setting up any of our own control servers, lets see what existing web services one could use to spawn a web of online mischief!
</p>
<h2>Botnet over Twitter</h2>
<div id="attachment_746" class="wp-caption alignleft" style="width: 510px"><a href="http://twitter.com/" title="What are you doing?"><img src="http://compsci.ca/blog/wp-content/uploads/2008/12/twitter_botnet_welcome_to_the_net.png" alt="Twitter&#039;s social structure makes it almost too easy to set up networks of bots." title="twitter botnet welcome to the net" width="500" height="194" class="size-full wp-image-746 alignleft" /></a><p class="wp-caption-text">Twitter's social structure makes it almost too easy to set up networks of bots.</p></div>
<p>
<a href="http://twitter.com/" title="What are you doing?"><strong>Twitter</strong></a> might prove to be an ideal service, as it is already meant for post-on-web social communication not just between humans, but bots also.
</p>
<p>
Twitter&#8217;s API makes it very easy for software to access and post all the vital information.
</p>
<p>
The service itself comes build-in with the concept of <em>following</em> specific accounts &#8212; allowing one to setup the network layout entirely within the webservice itself.
</p>
<p>
The functionality for replies, direct messages, and private profiles are just gravy.
</p>
<h2>Botnet over Reddit</h2>
<div id="attachment_748" class="wp-caption alignleft" style="width: 510px"><a href="http://www.reddit.com/" title="What's new online"><img src="http://compsci.ca/blog/wp-content/uploads/2008/12/reddit_botnet_can_has_ddos.png" alt="A clever use of cats and captions might let Reddit submissions live long enough to be read by the bot army" title="reddit botnet can has ddos" width="500" height="163" class="size-full wp-image-748 alignleft" /></a><p class="wp-caption-text">A clever use of cats and captions might let Reddit submissions live long enough to be read by the bot army</p></div>
<p>
Just like every social-network website, <a href="http://www.reddit.com/" title="What's new online"><strong>Reddit</strong></a> comes with a set of &#8220;friends&#8221;, and even <em>private custom reddits</em> that can be used as <em>&#8220;channels&#8221;</em> to communicate in.
</p>
<p>
Simple and clean HTML markup makes it easy to parse the contents of the page.
</p>
<p>
Though the zealous community is quick to point out any suspiciously spammy activity; And <a href="http://www.reddit.com/r/programming/" title="Reddit's Programming Community"><abbr title="Reddit's Programming Community">Proggit</abbr></a> members will likely hijack any control in place.
</p>
<h2>Botnet over GigPark, et. al.</h2>
<div id="attachment_749" class="wp-caption alignleft" style="width: 510px"><a href="http://www.gigpark.com/" title="Discover the trusted service people your friends use "><img src="http://compsci.ca/blog/wp-content/uploads/2008/12/gigpark_botnet_request_recommendation.png" alt="GigPark could be used to request and find recommendations for Handyman, Doctors, and Denial of Service Attacks" title="gigpark botnet request recommendation" width="500" height="114" class="size-full wp-image-749 alignleft" /></a><p class="wp-caption-text">GigPark could be used to request and find recommendations for Handyman, Doctors, and Denial of Service Attacks</p></div>
<p>
The above ideas could be generalized to any <em>Social Network</em> website. <a href="http://www.gigpark.com/" title="Discover the trusted service people your friends use "><strong>GigPark</strong></a>&#8217;s feed of trusted recommendations is already filtered to 2 degrees of separation between the linked nodes, making filtering and discovery of new bots much easier. Friend-lists, messages, and favourite &#8220;recommendations&#8221; (which could function as a queue of tasks) rival Twitter&#8217;s toolset.
</p>
<p>
Actually GigPark&#8217;s innovative <em>Suggested Friends</em> feature will sync the &#8220;friends&#8221; from other social networks such as Twitter or Facebook, <strong>allowing for redundancy across multiple neworks</strong>.
</p>
<h2>Next Steps</h2>
<p>
Some downsides to this, obviously hypothetical, method involve the fact that too much reliance is placed into the host network. The webservice might be in an advantageous position to identify all the nodes; perhaps more so than an IRCop discovering the IRC channel where bots have gathered to communicate.
</p>
<p>
Another is the issue of information persistence. Web applications will typically keep the entire history of commands online. While privacy options that some social networks supply might hide some (or even all) of the activity from the public, some extra work needs to be done to hide the information from the host itself. Obfuscation, encoding, and the liberal use of &#8220;delete&#8221; options will scatter the data though the access logs, making it reasonably more difficult to trace the activity, rather than simply taking a snapshot of the database. Some bots don&#8217;t enjoy being studied by security researches, so they might be more exposed here.
</p>
<p>
Finally, going back to the issue of security and the corporate firewall &#8212; there will likely be a proxy server <a href="http://compsci.ca/blog/blocking-students-on-school-network-is-wrong/" title="Blocking students on school network is wrong">filtering access to certain websites</a>. Some might be blocked because they distract employees (Facebook, MySpace, etc), others might match on some content. Though with a simple goal of communication, one just needs to find an online service that is <em>trusted-enough</em> to be widely accessible, and some means of getting it to display your supplied information.
</p>
<p>
This doesn&#8217;t even have to be accomplished by online POST requests, but now we are getting into the <a href="http://xkcd.com/190/" title="XKCD: IP over Demographic">XKCD territory</a> of <a href="http://cuiltheory.wikidot.com/what-is-cuil-theory" title="Cuil Theory">Cuils</a>.
</p>
<div id="attachment_750" class="wp-caption alignnone" style="width: 510px"><a href="http://xkcd.com/190/" title="XKCD: IP over Demographic"><img src="http://compsci.ca/blog/wp-content/uploads/2008/12/xkcd_ip_over_demographic.png" alt="For smaller numbers he has to SAVE lives.  The birthrate channel is even more of a mixed bag." title="xkcd ip over demographic" width="500" height="232" class="size-full wp-image-750" /></a><p class="wp-caption-text">For smaller numbers he has to SAVE lives.  The birthrate channel is even more of a mixed bag.</p></div>


<p>No related posts.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=WO2H3WyIKTg:Xueb1q-zAd8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=WO2H3WyIKTg:Xueb1q-zAd8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=WO2H3WyIKTg:Xueb1q-zAd8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=WO2H3WyIKTg:Xueb1q-zAd8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=WO2H3WyIKTg:Xueb1q-zAd8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=WO2H3WyIKTg:Xueb1q-zAd8:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ComputerScienceCanadaBlog/~4/WO2H3WyIKTg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/botnet-communication-over-twitter-reddit-social-web/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Blocking students on school network is wrong</title>
		<link>http://compsci.ca/blog/blocking-students-on-school-network-is-wrong/</link>
		<comments>http://compsci.ca/blog/blocking-students-on-school-network-is-wrong/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 03:08:42 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Education]]></category>

		<guid isPermaLink="false">http://compsci.ca/blog/?p=713</guid>
		<description><![CDATA[Just because we might have access to some technology to fix a problem, does not necessarily mean that the problem itself is a technical one. Such as breaking our systems, to limit their use.<br/><br/>
<strong style="font-size:1.4em;">"I think this is one of those problems that does not need a technological solution, but a social one."</strong>


No related posts.]]></description>
			<content:encoded><![CDATA[<p>
Just because we might have access to some technology to fix a problem, does not necessarily mean that the problem itself is a technical one. Sparked by <a href="http://compsci.ca/v3/viewtopic.php?p=171466" title="Is there a way to block webpages?">a forum conversation</a>, the key example is the <strong>use of technology to filter out web content in a classroom</strong>. Asked for is, perhaps, the technical prevention side of the previous discussion of <a href="http://compsci.ca/blog/wireless-in-classrooms/" title="Wireless in classrooms">wireless in classrooms</a>. Dan pointed out the flaw with that plan:
</p>
<blockquote><p>
Really it should be the teacher stopping their students from playing youtube videos out loud in class and disturbing other students.
</p>
<p>
<strong>I think this is one of those problems that does not need a technological solution, but a social one.</strong></p>
</blockquote>
<div id="attachment_720" class="wp-caption alignleft" style="width: 396px"><img src="http://compsci.ca/blog/wp-content/uploads/2008/10/layers_of_blocking_network_access.png" alt="There are many layers to block network access" title="layers of blocking network access" width="386" height="100" class="alignleft size-full wp-image-720" /><p class="wp-caption-text">There are many layers to block network access</p></div>
<p>
There are a lot of obstacles that could (and often are) put in place between users and their desired network accessible content. Some are legitimate security measures aimed at protecting the network. Others are roadblocks that annoy users more than prevent whatever has prompted the measure.
</p>
<p>
One of the most ridiculous &#8220;security measures&#8221; I once saw on some system was that the right-click of the mouse was physically disabled. The sys-admin must have disassembled the mice and popped off the plastic extension that clicks.
</p>
<p>
While well though out network rules are possible, it seems that more often that not the systems are simply crippled in a blanket policy of &#8220;just don&#8217;t do anything, ever&#8221;. There will be a locked down kiosk mode browser with broken settings; to ensure that everyone uses only this (very inconvenient) browser, the installation of any other browser will be forbidden&#8230; the same enforcement will also prevent the use of any other legitimate software, as a side effect. Soon enough the entire system is a crippled fraction of the former self, all because some student was watching YouTube videos. This is excessive. Everybody suffers.
</p>
<p>
While complicated systems could make it just that much harder for the students to get around them, <strong>perhaps the root of the problem is in the fact that those students are aiming to get around all this technology in the first place</strong>. In such a case, throwing more technology at the problem only masks its symptoms.</p>


<p>No related posts.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=xMWyvFYGRf4:my6nUk1t080:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=xMWyvFYGRf4:my6nUk1t080:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=xMWyvFYGRf4:my6nUk1t080:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=xMWyvFYGRf4:my6nUk1t080:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?a=xMWyvFYGRf4:my6nUk1t080:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ComputerScienceCanadaBlog?i=xMWyvFYGRf4:my6nUk1t080:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ComputerScienceCanadaBlog/~4/xMWyvFYGRf4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://compsci.ca/blog/blocking-students-on-school-network-is-wrong/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>
