<?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>gods wear hats &#187; news</title>
	<atom:link href="http://godswearhats.com/category/news/feed/" rel="self" type="application/rss+xml" />
	<link>http://godswearhats.com</link>
	<description>mortals wear shoes</description>
	<lastBuildDate>Thu, 28 Jan 2010 19:05:38 +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>Saskatoon Open Coffee Club</title>
		<link>http://godswearhats.com/2010/01/28/saskatoon-open-coffee-club/</link>
		<comments>http://godswearhats.com/2010/01/28/saskatoon-open-coffee-club/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 19:05:38 +0000</pubDate>
		<dc:creator>aidan</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[opencoffee]]></category>
		<category><![CDATA[saskatoon]]></category>

		<guid isPermaLink="false">http://godswearhats.com/?p=61</guid>
		<description><![CDATA[I&#8217;ve decided to start an Open Coffee Club in Saskatoon.  You can read more about Open Coffee on their Ning site.  We&#8217;ll be meeting at Broadway Roastery on Tuesday Feb 9th at 8pm.  If you&#8217;re interested in chatting about startups, maybe as an entrepreneur, a developer, or just someone with an interest [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve decided to start an Open Coffee Club in Saskatoon.  You can read more about <a href="http://opencoffee.ning.com">Open Coffee on their Ning site</a>.  We&#8217;ll be meeting at Broadway Roastery on Tuesday Feb 9th at 8pm.  If you&#8217;re interested in chatting about startups, maybe as an entrepreneur, a developer, or just someone with an interest in the topic, feel free to come along and bring anyone else.</p>
<p><a href="http://upcoming.yahoo.com/event/5279544/SK/Saskatoon/Inaugural-open-coffee-club-meeting/Broadway-Roastery/;_ylt=AknVQ6NuH4OFBOmiCFQ9egPra80F;_ylv=3">I&#8217;ve got an Upcoming.org event for it too</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://godswearhats.com/2010/01/28/saskatoon-open-coffee-club/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mo day 20</title>
		<link>http://godswearhats.com/2009/11/20/mo-day-20/</link>
		<comments>http://godswearhats.com/2009/11/20/mo-day-20/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 14:54:41 +0000</pubDate>
		<dc:creator>aidan</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[movember]]></category>

		<guid isPermaLink="false">http://godswearhats.com/2009/11/20/mo-day-20/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><img src="http://godswearhats.com/wp-content/uploads/2009/11/Photo-on-2009-11-20-at-08.50.jpg" alt="Photo on 2009-11-20 at 08.50" title="Photo on 2009-11-20 at 08.50" width="265" height="401" class="alignnone size-full wp-image-59" /></p>
]]></content:encoded>
			<wfw:commentRss>http://godswearhats.com/2009/11/20/mo-day-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New role</title>
		<link>http://godswearhats.com/2009/01/29/new-role/</link>
		<comments>http://godswearhats.com/2009/01/29/new-role/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 03:07:10 +0000</pubDate>
		<dc:creator>aidan</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://godswearhats.com/?p=47</guid>
		<description><![CDATA[I got promoted to CTO today. Exciting stuff. 
]]></description>
			<content:encoded><![CDATA[<p>I got promoted to CTO today. Exciting stuff. </p>
]]></content:encoded>
			<wfw:commentRss>http://godswearhats.com/2009/01/29/new-role/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Moving day</title>
		<link>http://godswearhats.com/2008/07/18/moving-day/</link>
		<comments>http://godswearhats.com/2008/07/18/moving-day/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 08:35:33 +0000</pubDate>
		<dc:creator>aidan</dc:creator>
				<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://godswearhats.com/?p=42</guid>
		<description><![CDATA[The movers are here.  Packing is on-going.  Everything will soon be in a container heading off the island and across the ocean.  My wife and kids are flying to her mother&#8217;s tonight, and I fly out in a couple of days (we got tickets on different flights due to some cancellations).
Thank dog [...]]]></description>
			<content:encoded><![CDATA[<p>The movers are here.  Packing is on-going.  Everything will soon be in a container heading off the island and across the ocean.  My wife and kids are flying to her mother&#8217;s tonight, and I fly out in a couple of days (we got tickets on different flights due to some cancellations).</p>
<p>Thank dog we&#8217;re going.</p>
]]></content:encoded>
			<wfw:commentRss>http://godswearhats.com/2008/07/18/moving-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress hacking</title>
		<link>http://godswearhats.com/2008/06/28/wordpress-hacking/</link>
		<comments>http://godswearhats.com/2008/06/28/wordpress-hacking/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 20:40:49 +0000</pubDate>
		<dc:creator>aidan</dc:creator>
				<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://godswearhats.com/?p=37</guid>
		<description><![CDATA[Anyone using Wordpress should beware some nasty hacks, like that recently suffered by my good friend. Creators of malware should every bone in their hands broken.  Twice.
]]></description>
			<content:encoded><![CDATA[<p>Anyone using Wordpress should beware some nasty hacks, like that recently suffered by <a href="http://dannorth.net/2008/05/hacked">my good friend</a>. Creators of malware should every bone in their hands broken.  Twice.</p>
]]></content:encoded>
			<wfw:commentRss>http://godswearhats.com/2008/06/28/wordpress-hacking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Green fields and how to sow them</title>
		<link>http://godswearhats.com/2008/01/03/green-fields-and-how-to-sow-them/</link>
		<comments>http://godswearhats.com/2008/01/03/green-fields-and-how-to-sow-them/#comments</comments>
		<pubDate>Thu, 03 Jan 2008 13:30:51 +0000</pubDate>
		<dc:creator>aidan</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://godswearhats.com/2008/01/03/green-fields-and-how-to-sow-them/</guid>
		<description><![CDATA[Here&#8217;s the scenario:  you&#8217;re writing a green field web application.  This application will be used to power more than one e-commerce site, which means that it must be easily tailored.  You can use any toolset you like, and the requirements are fairly standard (e.g. exporting data to CSV, modern UI, payment gateway, [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s the scenario:  you&#8217;re writing a green field web application.  This application will be used to power more than one e-commerce site, which means that it must be easily tailored.  You can use any toolset you like, and the requirements are fairly standard (e.g. exporting data to CSV, modern UI, payment gateway, etc.).  What do you choose?</p>
<ol>
<li>Off-the-shelf e-commerce engine</li>
<li>Open-source e-commerce engine</li>
<li>Build your own</li>
</ol>
<p>So, it seems you&#8217;ve got three options (anyone think of a 4th?).  Of course within each of these options there are any number of competing solutions, especially in &#8220;build your own&#8221;, where you could potentially use any language, web server, etc.</p>
<p>I think with any software developer, the preference is to build one&#8217;s own.  That way you get ultimate flexibility and intimate understanding of the code, which makes it easier to expand and customise.  The downside is that you have more work up-front in order to get running.</p>
<p>Off-the-shelf (i.e. commercial) software tends to have a lot of features that your accountant and fulfillment department would like, and often gives you the ability to customise using one of a few popular languages or their own pseudo-language.  The real advantage is that you can have a store quickly, or so you might think.  Often, shoe-horning your data into their proprietary and closed-source format makes this option longer and more expensive than building it yourself.</p>
<p>All of which leaves open-source engines.  You can be up and running quickly (like with commercial apps) but you have access to the source code if you decide you need to change things the way you want them.  Potential downsides are lack of support and lack of particular features you might need (e.g. a particular payment gateway).</p>
<p>So, which would you choose?</p>
]]></content:encoded>
			<wfw:commentRss>http://godswearhats.com/2008/01/03/green-fields-and-how-to-sow-them/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ironcoder 7 date set</title>
		<link>http://godswearhats.com/2007/10/25/ironcoder-7-date-set/</link>
		<comments>http://godswearhats.com/2007/10/25/ironcoder-7-date-set/#comments</comments>
		<pubDate>Thu, 25 Oct 2007 09:09:31 +0000</pubDate>
		<dc:creator>aidan</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[ironcoder]]></category>
		<category><![CDATA[mac os x]]></category>

		<guid isPermaLink="false">http://godswearhats.com/2007/10/25/ironcoder-7-date-set/</guid>
		<description><![CDATA[The 7th Ironcoder contest was announced today (for some definition of today &#8211; damn those pesky time zones).  I think this year I actually feel confident enough to take part, even if I accomplish not very much    For those who have no idea what it is, each contest selects a theme [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://ironcoder.org/blog/2007/10/24/ironcoder-7/trackback/">7th Ironcoder contest</a> was announced today (for some definition of today &#8211; damn those pesky time zones).  I think this year I actually feel confident enough to take part, even if I accomplish not very much <img src='http://godswearhats.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   For those who have no idea what it is, each contest selects a theme and Mac OS X API, then gives you 48 hours (real time) to write an app that has both theme and API centrally featured.  Check out the <a href="http://irconcoder.org">Ironcoder</a> site for more info, or take a look at the entries for <a href="http://ironcoder.googlecode.com/svn/trunk/entries/ironcoder_5/individual/">Ironcoder 5</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://godswearhats.com/2007/10/25/ironcoder-7-date-set/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>syntax error before ‘AT_NAME’ token</title>
		<link>http://godswearhats.com/2007/10/22/syntax-error-before-%e2%80%98at_name%e2%80%99-token/</link>
		<comments>http://godswearhats.com/2007/10/22/syntax-error-before-%e2%80%98at_name%e2%80%99-token/#comments</comments>
		<pubDate>Mon, 22 Oct 2007 08:56:08 +0000</pubDate>
		<dc:creator>aidan</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://godswearhats.com/2007/10/22/syntax-error-before-%e2%80%98at_name%e2%80%99-token/</guid>
		<description><![CDATA[If you happen to be using Xcode and get this somewhat baffling error message when building:
syntax error before ‘AT_NAME’ token
The problem is that you are missing an @end in some file that you&#8217;ve #imported, probably a header file.  This error also shows up as &#8220;parse error ...&#8221; in some versions of Xcode (took me [...]]]></description>
			<content:encoded><![CDATA[<p>If you happen to be using Xcode and get this somewhat baffling error message when building:</p>
<p><code>syntax error before ‘AT_NAME’ token</code></p>
<p>The problem is that you are missing an <code>@end</code> in some file that you&#8217;ve <code>#import</code>ed, probably a header file.  This error also shows up as &#8220;<code>parse error ...</code>&#8221; in some versions of Xcode (took me a while to track down with Google as a result).</p>
]]></content:encoded>
			<wfw:commentRss>http://godswearhats.com/2007/10/22/syntax-error-before-%e2%80%98at_name%e2%80%99-token/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Firefox phishing protection</title>
		<link>http://godswearhats.com/2007/10/19/firefox-phishing-protection/</link>
		<comments>http://godswearhats.com/2007/10/19/firefox-phishing-protection/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 12:40:51 +0000</pubDate>
		<dc:creator>aidan</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://godswearhats.com/2007/10/19/firefox-phishing-protection/</guid>
		<description><![CDATA[Like anyone who has had the same e-mail address for 10 years, I get a lot of spam.  Most of it gets filtered, by one mechanism or another.  Occasionally the odd bit gets through. Unlike most people, I like to do something about it.  For example, when I see Adobe CS3 for [...]]]></description>
			<content:encoded><![CDATA[<p>Like anyone who has had the same e-mail address for 10 years, I get a lot of spam.  Most of it gets filtered, by one mechanism or another.  Occasionally the odd bit gets through. Unlike most people, I like to do something about it.  For example, when I see Adobe CS3 for $99, I forward it to piracy@adobe.com.</p>
<p>This morning I received a phishing attempt for a Merrill Lynch trading account &#8211; ironic considering I work for one of their competitors (in my day job).  So I clicked on it and it brought me <a href="http://wcma.businesscenter.bcprivate.asp22344911.wcmaloginea.aspx.tre33.com/WCMALogin.htm">here</a>. If you&#8217;re using Firefox 2.0, the screen will go dark and you&#8217;ll get a big message warning you this is a phishing site.  That didn&#8217;t happen this morning, so I reported it (which is horribly simple: while at the site go to the Help menu and select &#8220;Report Web Forgery &#8230;&#8221;.  I set <a href="http://addons.mozilla.org/firefox/115/">ReloadEvery</a> to work, and within about an hour the site was now tagged.</p>
<p>The downside of this is that the people who report these sites use Firefox and know what a phishing site looks like anyway, but the people who need the phishing protection use <em>that other browser</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://godswearhats.com/2007/10/19/firefox-phishing-protection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to use subversion: an absolute beginner&#8217;s guide</title>
		<link>http://godswearhats.com/2007/10/18/how-to-use-subversion-an-absolute-beginners-guide/</link>
		<comments>http://godswearhats.com/2007/10/18/how-to-use-subversion-an-absolute-beginners-guide/#comments</comments>
		<pubDate>Thu, 18 Oct 2007 12:51:22 +0000</pubDate>
		<dc:creator>aidan</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[beginner's guide]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://godswearhats.com/2007/10/18/how-to-use-subversion-an-absolute-beginners-guide/</guid>
		<description><![CDATA[I&#8217;ve started working on some projects with a bunch of guys who are not used to using version control systems.  This post is as much for them as it is for anyone else.  I won&#8217;t go into how to install subversion, because that is covered by many other people elsewhere.  I also [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve started working on some projects with a <a href="http://infurious.com">bunch of guys</a> who are not used to using version control systems.  This post is as much for them as it is for anyone else.  I won&#8217;t go into how to install subversion, because that is covered by many other people elsewhere.  I also don&#8217;t touch on how to administer subversion for the same reason.  This simple guide is purely for how to be a subversion user.  It assumes that you know how to access and use a Unix command line.  There are GUIs out there for handling these activities, but I&#8217;m working from the perspective that (a) &#8220;In the beginning was the command line&#8230;&#8221; and (b) the principle is the same regardless of the interface.</p>
<h4>Getting started</h4>
<p>If you are about to use subversion, your administrator has probably given you a URL for your repository.  This could have a number of forms, but for our purposes they can all be treated identically &#8211; I&#8217;m going to use the fictitious URL http://example.com/svn/repo/trunk/project.  The repository (as you probably know) is just a central store for all the files for a given project, along with version information.  The first thing you&#8217;ll do is create a <strong>working copy</strong> of the repository on your computer.</p>
<blockquote><p><code><br />
svn co http://example.com/svn/repo/trunk/next_big_thing<br />
</code></p></blockquote>
<p>Subversion will spit out some information about what it&#8217;s doing &#8211; ignore that for now.  What&#8217;s happening here?  It&#8217;s very simple.<code>svn</code> is the subversion command line application.  The <code>co</code> command is short for <code>checkout</code>, which tells subversion to go the URL supplied and bring back a copy of the latest version of what&#8217;s there.  This will create a directory (or folder if you prefer that term) with the same name as the bit after the last / of the URL &#8211; in this example: <code>next_big_thing</code>.  That <code>next_big_thing</code> directory is your working copy of the repository.</p>
<p>Everyone who works on the Next Big Thing project will need to perform this same sort of checkout to their local computer.  What lives in a working copy?  Any sorts of files that you like: documents, source code, images, etc.</p>
<h4>Editing and changing your working copy</h4>
<p>Go ahead and fiddle with stuff in your working copy &#8211; you can do anything you like because none of it will affect anyone else until you <strong>commit your changes back to the repository</strong>. Put some files into the directory, edit what&#8217;s already there, delete some as well &#8211; you can get it all back the way it was very easily.  But first, let&#8217;s take a look at what&#8217;s changed (yes, that means you actually do have to go and change some things in your working copy:  go on, I&#8217;ll go get a cup of coffee while you&#8217;re doing that &#8230; ready?  OK, good).  Run this command (from within your working copy &#8211; anywhere will do, but the top-level folder is best):</p>
<blockquote><p><code>svn status</code></p></blockquote>
<p>You should see a list of the changes you&#8217;ve made, with one of three characters beside them.  Don&#8217;t worry about anything else that is spat out at this point (if anything).</p>
<blockquote><p><code>? foo.txt</code> &#8211; <em>a file you&#8217;ve added that subversion doesn&#8217;t know about (yet)</em><br />
<code>M bar.txt</code> &#8211; <em>a file you&#8217;ve changed (M stands for merge, which is what happens to this file if you commit your changes)</em><br />
<code>! baz.txt</code> -<em> a file you&#8217;ve deleted</em></p></blockquote>
<h4>Adding files to a repository</h4>
<p>You&#8217;ve put some files into your working copy, but there&#8217;s another step that needs to happen before they can be committed to the central repository.</p>
<blockquote><p><code>svn add mynewfile.txt</code></p></blockquote>
<p>Naturally, you substitute &#8220;mynewfile.txt&#8221; for the name of your actual file.  This tells subversion that you want to add the file to the repository the next time that you perform a commit (which we&#8217;ll get to in a moment).  Why is this step necessary?  There are any number of reasons why you wouldn&#8217;t want to automatically commit any file in your repository. The most common is probably that many programs create backup or temporary copies of files in a directory while you&#8217;re working on them &#8211; it wouldn&#8217;t be good to clutter up the repository with cruft.  Subversion itself creates temporary files when there&#8217;s a conflict (yes, even in version control there is conflict &#8211; I may do another guide on how to deal with that).</p>
<p>Likewise, to delete a file you need to use:</p>
<blockquote><p><code>svn delete myoldfile.txt</code></p></blockquote>
<p>otherwise subversion gets confused.  When you use <code>add</code> and <code>delete</code>, you&#8217;ll get a different <code>status</code> beside your file when you run that command &#8211; it&#8217;ll be <code>A</code> and <code>D</code> respectively (instead of the <code>?</code> and <code>!</code> that we saw above).</p>
<h4>Holy crap!  I didn&#8217;t want to do that!</h4>
<p>As I mentioned above, it&#8217;s easy to get things back the way they were.  If you want to back out any changes you&#8217;ve made to the whole project, do this in the top-level directory:</p>
<blockquote><p><code>svn revert</code></p></blockquote>
<p>You can also use <code>svn revert myfile.txt</code> to revert individual files (or directories).</p>
<h4>Committing to the repository, and getting updates</h4>
<p>So, now you&#8217;ve made all the changes you want to make, it&#8217;s time to commit them back to the central repository.  This is where all the actual version control magic actually happens.  Run this command from the top-level directory of your working copy:</p>
<blockquote><p><code>svn commit</code></p></blockquote>
<p>The first thing that will happen here is that a text editor will start up (usually <code>vi</code>).  Enter a comment describing your change and then save and exit (in <code>vi</code> that means typing <code>ZZ</code> in command mode).</p>
<p>This will take all the changes you&#8217;ve made and upload them into the repository, commented with what you wrote.  Now the next time someone runs <code>svn co ...</code> all your changes will be visible to them.  If someone else has also committed some changes, you can get the latest version with (from the top-level directory):</p>
<blockquote><p><code>svn update</code></p></blockquote>
<p>You will probably need to run the <code>update</code> command before you do a commit so that you have the latest version of the repository before trying to change it.  Any time you (or anyone else) runs <code>svn commit</code>, the <strong>version number</strong> of the repository goes up by one.  In this way, it&#8217;s easy to tell the state of every file in the repository at any particular point in the repository&#8217;s history, and it&#8217;s how you avoid having one person overwrite all (or worse: some) of the work done by someone else.</p>
<h4>What&#8217;s changed?</h4>
<p>You can see the changes that people have made by using</p>
<blockquote><p><code>svn log</code></p></blockquote>
<p>Be careful with running this in the top-level directory of your working copy &#8211; you&#8217;ll get every commit message for the project since the first revision.  Usually this is run on an individual file to see the history of that file.</p>
<h4>And I&#8217;m spent &#8230;</h4>
<p>That&#8217;s it &#8211; you now know the absolute basics of subversion.  For more detail, I suggest reading the <a href="http://svnbook.red-bean.com/">online Subversion Book</a>.  Any questions, comments or inaccuracies can be <a href="mailto:five@godswearhats.com">sent my way</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://godswearhats.com/2007/10/18/how-to-use-subversion-an-absolute-beginners-guide/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
