<?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>Trevor Morgan</title>
	<atom:link href="http://trevor.lifespark.ca/feed" rel="self" type="application/rss+xml" />
	<link>http://trevor.lifespark.ca</link>
	<description>Thoughts on life, the universe and everything</description>
	<lastBuildDate>Mon, 20 Jul 2009 00:58:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>More Results</title>
		<link>http://trevor.lifespark.ca/archives/59</link>
		<comments>http://trevor.lifespark.ca/archives/59#comments</comments>
		<pubDate>Mon, 20 Jul 2009 00:58:28 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trevor.lifespark.ca/?p=59</guid>
		<description><![CDATA[Canada Day 5k results here:
http://www.events.runningroom.com/site/?raceId=4396&#38;eventId=15086&#38;vrindex=4
]]></description>
			<content:encoded><![CDATA[<p>Canada Day 5k results here:</p>
<p><a href="http://www.events.runningroom.com/site/?raceId=4396&amp;eventId=15086&amp;vrindex=4">http://www.events.runningroom.com/site/?raceId=4396&amp;eventId=15086&amp;vrindex=4</a></p>
]]></content:encoded>
			<wfw:commentRss>http://trevor.lifespark.ca/archives/59/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Season So Far.</title>
		<link>http://trevor.lifespark.ca/archives/57</link>
		<comments>http://trevor.lifespark.ca/archives/57#comments</comments>
		<pubDate>Fri, 10 Jul 2009 02:35:52 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trevor.lifespark.ca/?p=57</guid>
		<description><![CDATA[Well, I guess the summer running season has been here for a while, I could mention my progress.
So far the lesson seems to be that Triathlon training is better preparation for running than for Triathlon itself.  I came 95th in the Muskoka sprint triathlon, 4th overall (and 1st in the men&#8217;s category) in the Barrie [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I guess the summer running season has been here for a while, I could mention my progress.</p>
<p>So far the lesson seems to be that Triathlon training is better preparation for running than for Triathlon itself.  I came 95th in the Muskoka sprint triathlon, 4th overall (and 1st in the men&#8217;s category) in the Barrie Rotary Club fun run, and 5th in the Canada Day 5k.  Some of my results are <a href="http://sportstats.ca/find-an-athlete-find-a-race-search.php?lang=eng&amp;first=TREVOR&amp;last=MORGAN">here</a>.</p>
<p>The girls competed in their first kids triathlon, and did great!<br />
Should post some pictures too, I guess.</p>
]]></content:encoded>
			<wfw:commentRss>http://trevor.lifespark.ca/archives/57/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More triathlon gear</title>
		<link>http://trevor.lifespark.ca/archives/54</link>
		<comments>http://trevor.lifespark.ca/archives/54#comments</comments>
		<pubDate>Thu, 23 Apr 2009 02:28:52 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trevor.lifespark.ca/?p=54</guid>
		<description><![CDATA[Bought a pair of Zoot running flats and a pair of tri-shorts down at Running Free this afternoon.  Haven&#8217;t had a chance to try them out yet, but the rain should stop by tomorrow.  I&#8217;m quite pleased with where my run and swim have got to over the winter &#8211; still lots of work to [...]]]></description>
			<content:encoded><![CDATA[<p>Bought a pair of Zoot running flats and a pair of tri-shorts down at Running Free this afternoon.  Haven&#8217;t had a chance to try them out yet, but the rain should stop by tomorrow.  I&#8217;m quite pleased with where my run and swim have got to over the winter &#8211; still lots of work to do getting used to a time-trial bike, but that&#8217;s coming along too.Getting to the point in the season where I need to start working on speed as well as endurance, so I&#8217;ve been adding in 50m sprints at the pool, and shuttle runs down at the local park during my 5k runs.</p>
]]></content:encoded>
			<wfw:commentRss>http://trevor.lifespark.ca/archives/54/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More thin-client goodness</title>
		<link>http://trevor.lifespark.ca/archives/51</link>
		<comments>http://trevor.lifespark.ca/archives/51#comments</comments>
		<pubDate>Thu, 23 Apr 2009 02:22:30 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[netbook]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://trevor.lifespark.ca/?p=51</guid>
		<description><![CDATA[I have an old laptop with a broken screen that&#8217;s not good for much, but with Ubuntu installed and stuffed in the back of a closet works fine as a server.  With SSH now on my netbook I can work directly on the server, shifting the CPU-intensive heavy lifting away from a machine that relies [...]]]></description>
			<content:encoded><![CDATA[<p>I have an old laptop with a broken screen that&#8217;s not good for much, but with Ubuntu installed and stuffed in the back of a closet works fine as a server.  With SSH now on my netbook I can work directly on the server, shifting the CPU-intensive heavy lifting away from a machine that relies on batteries.  Once I&#8217;ve configured a tunnel through my firewall I&#8217;ll be able to work remotely on this server from anywhere.</p>
]]></content:encoded>
			<wfw:commentRss>http://trevor.lifespark.ca/archives/51/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing SSH on Aspire One</title>
		<link>http://trevor.lifespark.ca/archives/49</link>
		<comments>http://trevor.lifespark.ca/archives/49#comments</comments>
		<pubDate>Wed, 22 Apr 2009 01:47:18 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[netbook]]></category>

		<guid isPermaLink="false">http://trevor.lifespark.ca/archives/49</guid>
		<description><![CDATA[Learning more about my new toy.  Here&#8217;s the command for installing ssh:
 
&#62; sudo yum install openssh-clients
One step close to the ideal thin client!
]]></description>
			<content:encoded><![CDATA[<p>Learning more about my new toy.  Here&#8217;s the command for installing ssh:<br />
<strong> </strong></p>
<p><strong>&gt; sudo yum install openssh-clients</strong></p>
<p>One step close to the ideal thin client!</p>
]]></content:encoded>
			<wfw:commentRss>http://trevor.lifespark.ca/archives/49/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Entering the Cloud</title>
		<link>http://trevor.lifespark.ca/archives/48</link>
		<comments>http://trevor.lifespark.ca/archives/48#comments</comments>
		<pubDate>Tue, 21 Apr 2009 00:24:30 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[netbook]]></category>

		<guid isPermaLink="false">http://trevor.lifespark.ca/archives/48</guid>
		<description><![CDATA[Now I&#8217;m using a netbook with only a few Gb of storage available, I expect I&#8217;ll start transitioning to using more web services where possible.  What with google apps, wordpress, yahoo mail, facebook and so on, a lot of functionality has shifted from the desktop to the cloud. 
]]></description>
			<content:encoded><![CDATA[<p>Now I&#8217;m using a netbook with only a few Gb of storage available, I expect I&#8217;ll start transitioning to using more web services where possible.  What with google apps, wordpress, yahoo mail, facebook and so on, a lot of functionality has shifted from the desktop to the cloud. </p>
]]></content:encoded>
			<wfw:commentRss>http://trevor.lifespark.ca/archives/48/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aspire One</title>
		<link>http://trevor.lifespark.ca/archives/47</link>
		<comments>http://trevor.lifespark.ca/archives/47#comments</comments>
		<pubDate>Tue, 21 Apr 2009 00:20:43 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trevor.lifespark.ca/archives/47</guid>
		<description><![CDATA[Writing this on my new Aspire One that my beloved wife bought me today.  It&#8217;s the 6-cell version, supposed to provide 7 hours of battery life.  Have to see how that stacks up to reality.  The Linux interface seems to work fine, especially once you learn how to get under the hood [...]]]></description>
			<content:encoded><![CDATA[<p>Writing this on my new Aspire One that my beloved wife bought me today.  It&#8217;s the 6-cell version, supposed to provide 7 hours of battery life.  Have to see how that stacks up to reality.  The Linux interface seems to work fine, especially once you learn how to get under the hood to the terminal &#8211; apparently the UI is a variant of Xfce.   Had to poke around for a while to get the keyboard configured with a Dvorak layout, which in the end involved modifying xorg.conf.</p>
<p>Heather bought this for me partly to encourage me to write more, so watch out for an increased posting frequency.</p>
]]></content:encoded>
			<wfw:commentRss>http://trevor.lifespark.ca/archives/47/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python with COM</title>
		<link>http://trevor.lifespark.ca/archives/41</link>
		<comments>http://trevor.lifespark.ca/archives/41#comments</comments>
		<pubDate>Fri, 06 Feb 2009 00:17:42 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://trevor.lifespark.ca/?p=41</guid>
		<description><![CDATA[The Win32 extensions for Python have been a lifesaver for me many times.  I consider them one of the best ways of scripting the windows platform.  Unfortunately there&#8217;s not as much documentation as one could hope for.
A useful trick I discovered recently is the following.  Say you&#8217;re trying to use a COM interface such as [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://sourceforge.net/projects/pywin32/">Win32 extensions</a> for Python have been a lifesaver for me many times.  I consider them one of the best ways of scripting the windows platform.  Unfortunately there&#8217;s not as much documentation as one could hope for.</p>
<p>A useful trick I discovered recently is the following.  Say you&#8217;re trying to use a COM interface such as Microsoft Message Queuing.  You can create a message queue object as follows:</p>
<pre>import win32com, win32com.client</pre>
<pre>serverInfo = win32com.client.Dispatch("MSMQ.MSMQQueueInfo")</pre>
<p>However, the next step requires constants from the messaging API such as MQ_SEND_ACCESS.  These can be made available to win32com.client.constants in two ways.  One involves running <strong>makepy</strong>, but a more robust alternative is as follows:</p>
<pre>import win32com, win32com.client
win32com.client.gencache.EnsureDispatch("MSMQ.MSMQQueueInfo")
win32com.client.gencache.EnsureDispatch("MSMQ.MSMQMessage")
from win32com.client import constants
serverInfo = Dispatch("MSMQ.MSMQQueueInfo")
serverInfo.FormatName = <em>&lt;format name&gt;</em>
return serverInfo.Open(constants.MQ_SEND_ACCESS, constants.MQ_DENY_NONE)</pre>
<p>The order is important.  Once EnsureDispatch has been called, <strong>win32com.client.constants</strong> can be imported and will have the correct values available.</p>
]]></content:encoded>
			<wfw:commentRss>http://trevor.lifespark.ca/archives/41/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lua</title>
		<link>http://trevor.lifespark.ca/archives/40</link>
		<comments>http://trevor.lifespark.ca/archives/40#comments</comments>
		<pubDate>Sun, 06 Jul 2008 16:03:09 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[lua]]></category>

		<guid isPermaLink="false">http://trevor.lifespark.ca/?p=40</guid>
		<description><![CDATA[Spent some time exploring Lua.  This language has caught my interest, not least because Lightroom is largely implemented in it.  I&#8217;ve played around with it briefly before on Linux, and I have to admit that the experience of getting it up and running is much less painful on Ubuntu than on Windows.  $ apt-get install [...]]]></description>
			<content:encoded><![CDATA[<p>Spent some time exploring <a href="http://www.lua.org/">Lua</a>.  This language has caught my interest, not least because <a href="http://www.adobe.com/products/photoshoplightroom/">Lightroom</a> is largely implemented in it.  I&#8217;ve played around with it briefly before on Linux, and I have to admit that the experience of getting it up and running is much less painful on Ubuntu than on Windows.  $ <em>apt-get install lua</em> is much faster than downloading tarballs, creating visual studio solutions from scratch, mucking around with paths and dependencies and resolving any number of LNK2005 errors.  But I got there in the end.  Specifically, I</p>
<ul>
<li>Downloaded the Lua source from Lua.org.</li>
<li>Created a Visual Studio DLL project containing all the source files apart from lua.c and luac.c</li>
<li>Built this DLL to create lua.dll</li>
<li>Created another project with just lua.c, and linked to the above DLL</li>
<li>Built this project to create lua.exe. Now I&#8217;ve got a lua environment.</li>
<li>Downloaded the luabind source from <a href="http://www.rasterbar.com/products/luabind.html">Rasterbar Software</a>. This seems to be based on the powerful <a href="http://www.boost.org/doc/libs/release/libs/python/doc/">Boost.Python</a> library, which I&#8217;ve had a lot of success with in the past.</li>
<li>Created another Visual Studio project for luabind, add the luabind source files and link with lua.dll.  Luabind does come with a <a href="http://www.boost.org/doc/tools/build/doc/html/jam/usage.html">bjam</a> make file, but I usually find bjam a complete headache to use.</li>
<li>Created yet another project with the sample code from the luabind tutorial, built and linked against the luabind library and lua.dll</li>
</ul>
<p>After all this, (and several hours of tweaking linker settings) I&#8217;ve now got the tutorials working to the extent that I can now do two things.  I can expose C++ functions into a Lua program, which is very handy, and something I&#8217;ve found very useful in Python.  But of course, the big draw to Lua is that it can be embedded in an existing C or C++ program!  So now I&#8217;ve also got to the point where I can contain a Lua interpreter within a C++ application, pass a string of Lua code to that interpreter to be executed, and even let provide the interpeter with the ability to call out to C++ functions elsewhere in the program.</p>
<p>So despite the the hoops I had to jump through, I think this could be a very powerful environment.  Now I just need to learn the Lua language itself, but as they say, if you can&#8217;t learn a new language in a weekend you shouldn&#8217;t call yourself a programmer.</p>
]]></content:encoded>
			<wfw:commentRss>http://trevor.lifespark.ca/archives/40/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Everyone else is doing it&#8230;</title>
		<link>http://trevor.lifespark.ca/archives/39</link>
		<comments>http://trevor.lifespark.ca/archives/39#comments</comments>
		<pubDate>Mon, 23 Jun 2008 15:47:26 +0000</pubDate>
		<dc:creator>trevor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trevor.lifespark.ca/?p=39</guid>
		<description><![CDATA[
http://wordle.net/
]]></description>
			<content:encoded><![CDATA[<p><a href="http://trevor.lifespark.ca/wp-content/uploads/2008/06/wordle.jpg" title="wordle.jpg"><img src="http://trevor.lifespark.ca/wp-content/uploads/2008/06/wordle.jpg" alt="wordle.jpg" width="581" height="313" /></a></p>
<p><a href="http://wordle.net/">http://wordle.net/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://trevor.lifespark.ca/archives/39/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
