<?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>Wizardlike research</title>
	<atom:link href="http://wizardlike.ca/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://wizardlike.ca/blog</link>
	<description>Computer geekery</description>
	<lastBuildDate>Mon, 26 Jul 2010 14:52:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Our media server</title>
		<link>http://wizardlike.ca/blog/2010/07/our-media-server/</link>
		<comments>http://wizardlike.ca/blog/2010/07/our-media-server/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 14:52:35 +0000</pubDate>
		<dc:creator>Mike Burrell</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[silly]]></category>

		<guid isPermaLink="false">http://wizardlike.ca/blog/?p=309</guid>
		<description><![CDATA[I can finally show off my weekend project! Well okay the vestiges of it started a couple weekends ago and it bled into this morning by a couple hours, but I think it still counts as a weekend project. Jasna and I don’t have cable or an antenna for our TV, which means we download [...]]]></description>
			<content:encoded><![CDATA[<p>I can finally show off my weekend project! Well okay the vestiges of it started a couple weekends ago and it bled into this morning by a couple hours, but I think it still counts as a weekend project.</p>
<p><a href="http://wizardlike.ca/pictures/Nerd%20stuff/Media%20server/"><img src="http://wizardlike.ca/pictures/albums/Nerd%20stuff/Media%20server/summary-page.png" style="width:550px;" /></a></p>
<p>Jasna and I don’t have cable or an antenna for our TV, which means we download everything we watch, or borrow it from friends on rare occasions. My MacBook was starting to run near the end of its useful life as my main work computer—the trackpad was becoming unusable which meant I couldn’t depend on it when travelling—but it’s still got some life in it as a server. It was wireless networking (no cables to string around), uses very little power, is completely silent, comes with media software (<a href="http://en.wikipedia.org/wiki/Front_Row_%28software%29">Front Row</a>) <i>and</i> comes with a remote control, is really small (less than 2cm tall), which makes it more or less the perfect media server.</p>
<p>The only downside is it was a pain to get shows onto it to watch, as you have to search for the shows manually, download them, then copy them manually over to the server. So, I decided to make a web interface.</p>
<p><a href="http://wizardlike.ca/pictures/Nerd%20stuff/Media%20server/">Check here for screenshots of the new web interface for the media server</a>. EasyNews, our Usenet provider, provides very handy services like global searches, thumbnails and AutoUnRARing. A big benefit to this is not having to wait until something has finished downloading it before watching it. So far I’ve got services for downloading from Usenet—which is where we get almost all of our TV shows to watch, <a href="http://wizardlike.ca/blog/2010/07/watching-cfl-games-on-linux/">downloading CFL games from TSN</a> and just uploading individual files from your browser. At some point I need to set up scheduling so that it automatically downloads new episodes of shows when they’re released, but I guess that’s for another weekend.</p>
<p>I’m kind of embarrassed at how proud I am to have actually finished it in a weekend like I’d planned, especially considering I haven’t done any web development in years and years. The astute of you may have noticed I used straight-up CGI instead of technologies the cool kids are using: no love from me for PHP or RoR or Ajax or anything. Since I haven’t put any password security in yet—that’s for another weekend yet—and the box is publicly addressable via IPv6 I’ve had access to the web interface to just within our local network, but if IPv6 takes off some day it’ll be cool to be able to download movies while I’m away from home.</p>
]]></content:encoded>
			<wfw:commentRss>http://wizardlike.ca/blog/2010/07/our-media-server/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Rock Point</title>
		<link>http://wizardlike.ca/blog/2010/07/rock-point/</link>
		<comments>http://wizardlike.ca/blog/2010/07/rock-point/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 22:01:32 +0000</pubDate>
		<dc:creator>Mike Burrell</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[holiday]]></category>
		<category><![CDATA[Jasna]]></category>
		<category><![CDATA[thesis]]></category>

		<guid isPermaLink="false">http://wizardlike.ca/blog/?p=305</guid>
		<description><![CDATA[Jasna and I just got back today from a spur-of-the-moment camping trip. We’d been wanting to have a couple days just for the two of us for a while now, and our schedules aligned, so why not? We thought camping would be more fun and relaxing than anything else, and I’ve wanted to see the [...]]]></description>
			<content:encoded><![CDATA[<p>Jasna and I just got back today from a spur-of-the-moment camping trip. We’d been wanting to have a couple days just for the two of us for a while now, and our schedules aligned, so why not? We thought camping would be more fun and relaxing than anything else, and I’ve wanted to see the towns along the Grand River forever, so we combined the two and went to <a href="http://en.wikipedia.org/wiki/Rock_Point_Provincial_Park">Rock Point Provincial Park</a>: it’s virtually right where the Grand River empties into Lake Erie and necessitates driving along the Grand River, a fairly nice drive.</p>
<p>I’ve got <a href="http://wizardlike.ca/pictures/Rock%20Point/">a grand total of 3 pictures</a> from the trip and I’m happy with that. It wasn’t the sort of trip to you take to take pictures of. Apparently the park is known for its fossils, but we didn’t go hunting for those, either. We went down to the beach a few times—twice for moonlight swims—and spent most of the rest of our time in our campsite sitting around and talking and enjoying one another. We got a nice campsite with fairly good privacy and shade, and none of the campsites directly around us were taken. It was pretty much the perfect couple of days, only because we were together.</p>
<p>Jasna bought me an e-reader! She actually bought it before we’d planned on going on the trip, but I guess this seemed a good time to give it to me, and give me an easier time reading. It’s a <a href="http://www.koboereader.com/">Kobo</a>, which I adore. I’m actually a bit of a freak in that I’m somewhat anti-paper: I often prefer reading on screen to reading on paper; maybe it’s a side-effect of growing up with a computer. The Kobo has a really beautiful display and is easier for me to read than anything I’ve ever read from, CRT, LCD or paper. The display can’t refresh very often—maybe once a second or something like that—and it’s super low-powered which makes it unsuitable for anything but reading, which suits me fine. I have only two complaints: firstly, that the font size is typically too big, but that’s a criticism of the books that are formatted for it, not the device itself; and secondly, that it’s really difficult to skip forward or backward a lot of pages at a time. With paper it’s easy to do a binary search for the page you want, but the Kobo seems determined to make you do a linear search.</p>
<p>I did bring my laptop, but only so I could do just enough work to make my guilt levels fall to the point where I could genuinely relax. It turns out that’s about half an hour, ha! I’m still more or less pleased with how the thesis is progressing.</p>
]]></content:encoded>
			<wfw:commentRss>http://wizardlike.ca/blog/2010/07/rock-point/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Watching CFL games on Linux</title>
		<link>http://wizardlike.ca/blog/2010/07/watching-cfl-games-on-linux/</link>
		<comments>http://wizardlike.ca/blog/2010/07/watching-cfl-games-on-linux/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 23:08:57 +0000</pubDate>
		<dc:creator>Mike Burrell</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://wizardlike.ca/blog/?p=301</guid>
		<description><![CDATA[This article is for you if you’re a Canadian football fan, you don’t have cable TV, you use an operating system which doesn’t run Microsoft Silverlight (such as Linux) and you can’t afford to go out to the bar all the time to watch football games. I may have described only one person (myself), but [...]]]></description>
			<content:encoded><![CDATA[<p>This article is for you if you’re a Canadian football fan, you don’t have cable TV, you use an operating system which doesn’t run Microsoft Silverlight (such as Linux) and you can’t afford to go out to the bar all the time to watch football games. I may have described only one person (myself), but just in case there’s another person out there, I will describe to you how to watch your football games. I should say that while I’m no lawyer, my understanding is that what I describe here could become illegal should <a href="http://copyright.michaelgeist.ca/bill-c-32">Bill C-32</a> pass, and we all hope it won’t.</p>
<p>The first and most important part is to install <a href="http://rtmpdump.mplayerhq.hu/">rtmpdump</a>, a utility which you will use to actually download the video stream. I’m using a relatively ancient version of rtmpdump and I don’t think it matters particularly which version you use.</p>
<p>From there all that is needed is a way to get the rtmp URLs of the game you want. To use the script below, you give it a link to a game you want to download—something of the form <tt>http://watch.tsn.ca/cfl-games-on-demand/week-1-alouettes-vs-roughriders/</tt> (one of the best football games I’ve seen in a long time, incidentally)—as an argument. It then extracts the clip IDs for each quarter (including overtime, if needed), determines the rtmp URL for each video clip, and downloads the video files in sequence.</p>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;"><span class="co0">#!/bin/bash</span><br />
<span class="re2">match_name</span>=$<span class="br0">(</span><span class="kw3">echo</span> <span class="st0">“$1″</span> <span class="sy0">|</span> <span class="kw2">sed</span> <span class="st_h">‘s,\(http://.*\)\(week-[^/]*\)\(.*\),\2,’</span><span class="br0">)</span><br />
<span class="re2">q</span>=<span class="nu0">0</span><br />
<span class="co0"># get through all the videos (quarters) linked to by the given game (“episode”)</span><br />
<span class="kw1">for</span> i <span class="kw1">in</span> $<span class="br0">(</span><span class="kw2">wget</span> <span class="re5">–q</span> <span class="re5">–O</span> — <span class="st0">“$1″</span> <span class="sy0">|</span> <span class="kw2">fgrep</span> <span class="st_h">‘#clip’</span> <span class="sy0">|</span> <span class="kw2">sed</span> <span class="st_h">‘s/\(.*#clip\)\([0–9]*\)\(.*\)/\2/’</span> <span class="sy0">|</span> <span class="kw2">uniq</span><span class="br0">)</span> ; <span class="kw1">do</span><br />
        <span class="re2">src</span>=$<span class="br0">(</span><span class="kw2">wget</span> <span class="re5">–q</span> <span class="re5">–O</span> — <span class="st0">“http://esi.ctv.ca/datafeed/flv/urlgenjs.aspx?vid=<span class="es2">$i</span>”</span> <span class="sy0">|</span> <span class="kw2">sed</span> <span class="st_h">‘s@\(.*\)\(rtmp://.*\.flv\)\(.*\)@\2@’</span> <span class="sy0">|</span> <span class="kw2">tr</span> <span class="re5">–d</span> <span class="st_h">‘\n\r ‘</span><span class="br0">)</span><br />
        <span class="kw3">echo</span> <span class="st0">“saving from <span class="es2">$src</span>“</span><br />
        <span class="kw3">echo</span> <span class="st0">“saving to <span class="es2">$match_name</span>-<span class="es2">$q</span>.flv“</span><br />
        rtmpdump <span class="re5">–r</span> <span class="st0">“<span class="es2">$src</span>”</span> <span class="re5">–o</span> <span class="st0">“<span class="es2">$match_name</span>-<span class="es2">$q</span>.flv“</span><br />
        <span class="re2">q</span>=$<span class="br0">(</span><span class="br0">(</span><span class="re1">$q</span> + 1<span class="br0">)</span><span class="br0">)</span><br />
<span class="kw1">done</span><br />
<span class="co0"># create dummy file so we don’t know beforehand if a game went into overtime</span><br />
<span class="kw1">if</span> <span class="br0">[</span> <span class="re1">$q</span> <span class="re5">–eq</span> 4 <span class="br0">]</span> ; <span class="kw1">then</span><br />
        <span class="kw2">touch</span> <span class="st0">“<span class="es2">$match_name</span>-<span class="es2">$q</span>.flv“</span><br />
<span class="kw1">fi</span></div>
</div>
<p>It’s worked well for me but there are certainly no guarantees about it. CTV could break it easily if they so wanted (if you’re reading this, CTV, please don’t be meanies. Let’s be BFFs). The only unfortunate downside to it is that CTV potentially loses out on some advertising revenue. My recommendation is to stare extra hard at the commercials to make up for it on the days you do go out to the bar to watch a game. Heading out to the stadium—at the very least whenever the Riders are in town—would also be a nice way to support the league and TSN for putting games up online.</p>
]]></content:encoded>
			<wfw:commentRss>http://wizardlike.ca/blog/2010/07/watching-cfl-games-on-linux/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Back from Calgary</title>
		<link>http://wizardlike.ca/blog/2010/06/back-from-calgary/</link>
		<comments>http://wizardlike.ca/blog/2010/06/back-from-calgary/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 21:31:15 +0000</pubDate>
		<dc:creator>Mike Burrell</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[bounds]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Pola]]></category>
		<category><![CDATA[thesis]]></category>

		<guid isPermaLink="false">http://wizardlike.ca/blog/?p=297</guid>
		<description><![CDATA[Check out the picture gallery. Even though it was all category theory, and consequently I can follow almost none of the other talks, it’s still a wonderful conference to go to. It’s a nice atmosphere, a good mixture of grad students, professors and professors emeriti. After the conference I stayed in Calgary for another couple [...]]]></description>
			<content:encoded><![CDATA[<p>Check out the <a href="http://wizardlike.ca/pictures/FMCS/">picture gallery</a>. Even though it was all category theory, and consequently I can follow almost none of the other talks, it’s still a wonderful conference to go to. It’s a nice atmosphere, a good mixture of grad students, professors and professors emeriti.</p>
<p>After the conference I stayed in Calgary for another couple weeks working on my thesis and going through bounds inference in detail with Brian. Unfortunately, and excitingly, we found a big problem with the mixture of coinductive and inductive recursion which can take one out of polynomial time. I may write on that more at some other time, but only after I think of a good way to describe it, at which point the first place it will appear is my thesis.</p>
]]></content:encoded>
			<wfw:commentRss>http://wizardlike.ca/blog/2010/06/back-from-calgary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FMCS</title>
		<link>http://wizardlike.ca/blog/2010/06/fmcs-2/</link>
		<comments>http://wizardlike.ca/blog/2010/06/fmcs-2/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 13:30:14 +0000</pubDate>
		<dc:creator>Mike Burrell</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[bounds]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[family]]></category>
		<category><![CDATA[Pola]]></category>

		<guid isPermaLink="false">http://wizardlike.ca/blog/?p=293</guid>
		<description><![CDATA[The following fffffffuuuuuuuuuuuu describes most of my life for this week: I’m flying out to Calgary Sunday morning and then heading to Kananaskis for FMCS. My code is already working for many cases, but it’s not as complete as I’d like it to be. I’d like to do a proper demonstration of bounds inference when [...]]]></description>
			<content:encoded><![CDATA[<p>The following fffffffuuuuuuuuuuuu describes most of my life for this week:<br />
<a href="http://wizardlike.ca/blog/wp-content/uploads/2010/06/FMCS.png"><img src="http://wizardlike.ca/blog/wp-content/uploads/2010/06/FMCS.png" alt="Problem?" /></a></p>
<p>I’m flying out to Calgary Sunday morning and then heading to Kananaskis for <a href="http://pages.cpsc.ucalgary.ca/~robin/FMCS/FMCS10/FMCS10.html">FMCS</a>. My code is already working for many cases, but it’s not as complete as I’d like it to be. I’d like to do a proper demonstration of bounds inference when I give my talk. It’s a pretty laid-back conference so, truth be told, even if I don’t get it totally working by then I can still just demo what I have, or just not demo at all.</p>
<p>I went to FMCS once before, in 2004 at the end of my undergrad. It’s a very nice conference, less formal than most, which makes it a lot more fun and a lot more productive, I think. After the conference I’ll be hanging around in Calgary for another week or so working on my thesis and hanging out with the parents. Good times.</p>
]]></content:encoded>
			<wfw:commentRss>http://wizardlike.ca/blog/2010/06/fmcs-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A new laptop and a new look at Linux</title>
		<link>http://wizardlike.ca/blog/2010/06/a-new-laptop-and-a-new-look-at-linux/</link>
		<comments>http://wizardlike.ca/blog/2010/06/a-new-laptop-and-a-new-look-at-linux/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 22:55:12 +0000</pubDate>
		<dc:creator>Mike Burrell</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[rants]]></category>

		<guid isPermaLink="false">http://wizardlike.ca/blog/?p=289</guid>
		<description><![CDATA[I bought a new laptop a couple days ago. For the past 6 years I’ve been using Macs just about exclusively; for the past 3 years or so it’s been my MacBook that’s been my main machine. However, for the past several months I’ve been increasingly annoyed with the MacBook: the case is cracking; the [...]]]></description>
			<content:encoded><![CDATA[<p>I bought a new laptop a couple days ago. For the past 6 years I’ve been using Macs just about exclusively; for the past 3 years or so it’s been my MacBook that’s been my main machine. However, for the past several months I’ve been increasingly annoyed with the MacBook: the case is cracking; the trackpad button is sticking; and, something which matters to very people other than me, Apple has been slow in fixing some bugs and the source code wasn’t available for me to fix them myself. So, after much deliberation, a couple days ago I picked up a Toshiba Satellite, on sale and marked down even further because it was a demo model. According to the specifications it’s better than a modern MacBook in pretty well every way, and at about one quarter the price. The only downside was it didn’t run OS X, which I was becoming disillusioned with anyway.</p>
<p>I intended to run <a href="http://opensolaris.org">OpenSolaris</a> on it because I quite like the technologies in OpenSolaris. Unfortunately OpenSolaris’s hardware support is very poor, but the laptop I bought looked like it had the highest chances of working, and it was very highly rated by Consumer Reports as well. After trying various OpenSolaris distributions and developer builds, I’ve come to the conclusion that it’s not going to work, at least not yet. It was probably naïve of me to think I could get my wireless card working under OpenSolaris.</p>
<p><span id="more-289"></span>No matter, though! My back-up plan was to run Linux. The last time I ran GNU/Linux as my primary operating system was in 2004. I ran Slackware with a custom built window manager and custom, well, everything, and I stayed willfully ignorant of what was happening with “mainstream” Linux. When it came time to install Linux on this laptop, I went with Ubuntu—as mainstream a Linux distribution as you can get—just because I wanted DVD burning software <i>immediately</i> so I could try yet another OpenSolaris install CD, and Ubuntu seemed like it would have the quickest install time.</p>
<p>I think I’m going to stick with Ubuntu. Setting up <i>everything</i> was so mind-blowingly painless it hardly even feels like Linux anymore. I’m perversely a little mournful about that. I dare say Ubuntu is easier to use (for me) and easier to set up (for me) than OS X is. Wireless, email, instant messaging, Flash, Dropbox, all my development tools, everything is cohesive and is set up in a matter of seconds; it all feels immediately comfortable. Even ZFS, my one source of geek pride, my one deviation from “mainstream” Linux, the one reason I wanted to install OpenSolaris in the first place: set up in a couple seconds and working flawlessly, and still light-years beyond OS X’s Time Machine. Maybe Ubuntu isn’t easier than OS X for the general public, but I’m not the general public so that doesn’t matter much to me.</p>
<p>The plan is to eventually retire the MacBook and turn it into a full-time media player (it’s currently only a part-time media player). I don’t think it’s going to be too long before Ubuntu is my full-time operating system. I never thought I’d say that.</p>
]]></content:encoded>
			<wfw:commentRss>http://wizardlike.ca/blog/2010/06/a-new-laptop-and-a-new-look-at-linux/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Moon</title>
		<link>http://wizardlike.ca/blog/2010/05/the-moon/</link>
		<comments>http://wizardlike.ca/blog/2010/05/the-moon/#comments</comments>
		<pubDate>Sun, 30 May 2010 03:29:30 +0000</pubDate>
		<dc:creator>Mike Burrell</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[space]]></category>

		<guid isPermaLink="false">http://wizardlike.ca/blog/?p=286</guid>
		<description><![CDATA[Every now and then I find something that blows my mind at how awesome the Internet is. The first mind-blowing experience for me was more than 15 years ago, when I discovered the Future Crew’s home BBS in Helsinki, Metropoli, was online, and I wouldn’t have to wait months to get the latest demos out [...]]]></description>
			<content:encoded><![CDATA[<p>Every now and then I find something that blows my mind at how awesome the Internet is. The first mind-blowing experience for me was more than 15 years ago, when I discovered <a href="http://en.wikipedia.org/wiki/Future_Crew">the Future Crew</a>’s home BBS in Helsinki, <a href="http://www.mpoli.fi/files/">Metropoli</a>, was online, and I wouldn’t have to wait months to get the latest demos out of Finland anymore.</p>
<p>Today it was finding <a href="http://moon.arounder.com/en/sightseeings/moon">360º panoramas of the moon</a>. Check it out right now. I’ve always wondered what it would be like to stand on a foreign world. And yes, I’ve seen the movie <a href="http://www.imdb.com/title/tt1182345/">Moon</a>, but it didn’t quite do it for me. These panoramas were really amazing for me, though, probably the closest I’ll ever get to standing on the moon myself.</p>
<p>The Apollo 17 panorama is probably my favourite due to the geography of the area, the boulders and “mountains”. The Apollo 12 panorama is nice just to appreciate how ghetto the lander was and how incredible it is that NASA was able to pull the missions off so well given the technology of the time.</p>
]]></content:encoded>
			<wfw:commentRss>http://wizardlike.ca/blog/2010/05/the-moon/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FMCS</title>
		<link>http://wizardlike.ca/blog/2010/05/fmcs/</link>
		<comments>http://wizardlike.ca/blog/2010/05/fmcs/#comments</comments>
		<pubDate>Fri, 28 May 2010 14:49:07 +0000</pubDate>
		<dc:creator>Mike Burrell</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[family]]></category>
		<category><![CDATA[holiday]]></category>
		<category><![CDATA[Pola]]></category>

		<guid isPermaLink="false">http://wizardlike.ca/blog/?p=283</guid>
		<description><![CDATA[I’m going to be going to attending FMCS 2010 in Kananaskis—not far from Calgary—in a couple weeks. I’ll be giving a talk on the implementation of Pola in some capacity, though I haven’t figured out how broadly scoped or what to focus on. I’m getting pretty psyched about it. The conference will be fun if [...]]]></description>
			<content:encoded><![CDATA[<p>I’m going to be going to attending <a href="http://pages.cpsc.ucalgary.ca/~robin/FMCS/FMCS10/FMCS10.html">FMCS 2010</a> in Kananaskis—not far from Calgary—in a couple weeks. I’ll be giving a talk on the implementation of Pola in some capacity, though I haven’t figured out how broadly scoped or what to focus on.</p>
<p>I’m getting pretty psyched about it. The conference will be fun if it’s anything like I remember FMCS 2004 to be. The location is amazing. Plus after that I get to spend some time in Calgary with my parents and hanging out with Brian and, probably most importantly but least awesomely, working on my thesis.</p>
]]></content:encoded>
			<wfw:commentRss>http://wizardlike.ca/blog/2010/05/fmcs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yay open source</title>
		<link>http://wizardlike.ca/blog/2010/05/yay-open-source/</link>
		<comments>http://wizardlike.ca/blog/2010/05/yay-open-source/#comments</comments>
		<pubDate>Sat, 22 May 2010 15:30:24 +0000</pubDate>
		<dc:creator>Mike Burrell</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[rants]]></category>

		<guid isPermaLink="false">http://wizardlike.ca/blog/?p=280</guid>
		<description><![CDATA[Today’s xkcd is so validating. I first stumbled across the GNU manifesto probably in 1996, when I was in high school. I wanted to teach myself C and a good way to do that was to use the DJGPP compiler, which led me to GNU. I didn’t really think much of it at the time [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://xkcd.com/743/">Today’s xkcd</a> is so validating. I first stumbled across the <a href="http://www.gnu.org/gnu/manifesto.html">GNU manifesto</a> probably in 1996, when I was in high school. I wanted to teach myself C and a good way to do that was to use <a href="http://www.delorie.com/djgpp/">the DJGPP compiler</a>, which led me to GNU. I didn’t really think much of it at the time except that these “Free Software Foundation” people took software <i>way</i> too seriously, but I was happy to have a free compiler to play with.</p>
<p><span id="more-280"></span>About two years after that, I installed <a href="http://www.slackware.com/">Slackware Linux</a>. It was the first Unix I’d ever used and, consequently, the only logical operating system I’d used up to that point. I fell in love with it immediately. Unix itself was fun, but the fact that the source code was available for everything and I could tinker with everything was a big draw. I fell in love with free software almost as quickly as I fell in love with Unix.</p>
<p>I spent the end of my high school days and all of my undergraduate days with Slackware, making little contributions to free software projects here and there where I found the time. I also read <a href="http://slashdot.org/">Slashdot</a> regularly, the homeland for self-loathing insecure nerds. The Slashdotters loved Linux and free software as much as I did and thus, because they were so self-loathing, they spent most of their time talking about how terrible Linux and free software were. Free software was unrealistically utopian, was never going to succeed, no real people would ever care about it, it was only for nerdy basement dwellers who had no concept of the real world, and so on.</p>
<p>I actually believed a lot of it, but I didn’t really care. I never thought free software would ever catch on in a serious way and thought Linux would never be more than a hobby OS, but I kept with it foremost because I personally enjoyed it and also because contributing to a communal effort just felt like the Right thing to do. It’s probably especially good to do the Right thing when you’re that age because it’s the easiest time to do it.</p>
<p>Imagine my surprise 10+ years later finding that non-nerdy people, people who have no attachment or fondness for software or computers, can name Tux as the Linux mascot. Windows is still dominant, of course, but Linux is part of the mainstream world, and free software runs the world, particularly through web services. The xkcd comic is a nice reminder that the world still benefits from doing the Right thing, maybe not right away or even in the foreseeable future, but eventually. Kids are much better than adults at picking up new things, picking up what’s right, what makes sense and what’s garbage. I think a big part of where we are now is due to the fact that so many kids were exposed to Linux (even if just in name) when they were young and, as they grew up and entered the working world, they decided to make Linux and its values part of our world.</p>
]]></content:encoded>
			<wfw:commentRss>http://wizardlike.ca/blog/2010/05/yay-open-source/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Itanium tutorial</title>
		<link>http://wizardlike.ca/blog/2010/05/itanium-tutorial/</link>
		<comments>http://wizardlike.ca/blog/2010/05/itanium-tutorial/#comments</comments>
		<pubDate>Wed, 12 May 2010 17:40:50 +0000</pubDate>
		<dc:creator>Mike Burrell</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[assembly]]></category>
		<category><![CDATA[Itanium]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://wizardlike.ca/blog/?p=275</guid>
		<description><![CDATA[I’ll make a research-oriented entry before long; I promise. I’m starting to get towards writing up some of the cool stuff in my thesis. I’ve started writing an Itanium tutorial. That document will magically update every now and then as I write more. On the one hand it’s slightly embarrassing how much I’ve written—it’s almost [...]]]></description>
			<content:encoded><![CDATA[<p>I’ll make a research-oriented entry before long; I promise. I’m starting to get towards writing up some of the cool stuff in my thesis.</p>
<p>I’ve started writing an <a href="http://wizardlike.ca/svn/itanium/itanium.pdf">Itanium tutorial</a>. That document will magically update every now and then as I write more. On the one hand it’s slightly embarrassing how much I’ve written—it’s almost half as much as I’ve written for my thesis so far—but it’s an entirely different kind of writing. There’s really no rigour at all to it. I don’t have to worry about proving things or citing things; I’ve never proofread any of it. I just write whatever pops into my head, which makes it very quick and easy. Primarily it’s for my benefit, so I don’t forget anything and so that it forces me to figure things out more concretely than I would otherwise.</p>
<p><span id="more-275"></span>I should say there’s a very good chance that some of it is wrong. After I figure something out, I write down my understanding of it. As I figure more things out, my previous understandings change. I really don’t care much if I write something (temporarily) wrong since it’s still just playing around for me.</p>
<p>I think Mark thought of it as a sort of mental health protector, which I think it’s done. The first few days, as I said, I kind of went bananas, but I don’t spend so much time on it these days. I think I’ve done more on my thesis in the past week than I had in the previous two. It helps a lot against getting burnt out when you have an unrelated intellectual activity to play with.</p>
<p>It’s hard to explain precisely why I like playing with it. It seems like the hardware/software interface—assembly language—hasn’t kept up with the changes in computer architecture. On most modern architectures you have only clues and guesses as to what the computer is actually doing even when working at the lowest level. The Itanium seems to be the first decent stab at exposing the modern superscalar pipelined architecture, so that the programmer no longer is restricted to just giving a description of what to compute, but rather has absolute and complete control over <i>how</i> it’s executed. It reminds me of playing with computers in the 1980s when it was possible for a person to know exactly what was happening. That level of control and level of understanding is a big part of what lured me into computer science in the first place, I suppose.</p>
<p>It’s a pretty deep rabbit hole to go down, though. I’ve now found myself reading microarchitecture specifications, the gory details of the Itanium 2 pipeline and so forth. It’s the price of being able to calculate <i>exactly</i> how many cycles something should be taking and finding my predictions are off in some cases.</p>
<p>It’s a pretty cool architecture. So far I haven’t found anything that I can’t get to run on the Itanium at least almost as fast my laptop, which is pretty impressive since this particular Itanium is so far outdated and running at less than half the clock speed of my laptop.</p>
]]></content:encoded>
			<wfw:commentRss>http://wizardlike.ca/blog/2010/05/itanium-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
