<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Matt McCormick</title>
    <link>https://mattmccormick.ca/</link>
    <description>Recent content on Matt McCormick</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 04 Jul 2021 13:05:26 -0700</lastBuildDate>
    <atom:link href="https://mattmccormick.ca/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Well Written Pull Requests</title>
      <link>https://mattmccormick.ca/well-written-pull-requests/</link>
      <pubDate>Sun, 04 Jul 2021 13:05:26 -0700</pubDate>
      <guid>https://mattmccormick.ca/well-written-pull-requests/</guid>
      <description>&lt;p&gt;Writing better pull requests is one of the best improvements you can make as a software engineer.  Well written pull requests create a smoother review process, help get your PRs merged faster and increase the level of trust and respect you earn from your team.  This guide will present several easy to implement ideas that will help you write better pull requests.&lt;/p&gt;&#xA;&lt;h2 id=&#34;keep-notes&#34;&gt;Keep Notes&lt;/h2&gt;&#xA;&lt;p&gt;A well-written pull request starts from the moment you start work on an issue.  Create a new text file for every issue you start work on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Right Way to Think About TDD</title>
      <link>https://mattmccormick.ca/right-way-think-tdd/</link>
      <pubDate>Fri, 17 Jun 2016 00:22:10 +0000</pubDate>
      <guid>https://mattmccormick.ca/right-way-think-tdd/</guid>
      <description>&lt;p&gt;When it comes to debate, &amp;ldquo;to TDD or not to TDD&amp;rdquo; is right up there with &amp;ldquo;rent vs. buy&amp;rdquo;, &amp;ldquo;Batman vs. Superman&amp;rdquo; and &amp;ldquo;Chocolate vs. Vanilla&amp;rdquo;. Like the other debates, there is only one right answer to this question:&lt;/p&gt;&#xA;&lt;p&gt;It depends on the situation.&lt;/p&gt;&#xA;&lt;p&gt;The amount of Test Driven Development (TDD) to practice works best when viewed on a spectrum. There are situations where TDD saves a lot of time and effort, but there are situations where it does the opposite. This mostly depends on which stage the business is at and how important it is to get things right.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Code Odour: Using Both a List and Set Instead of Just a Dict</title>
      <link>https://mattmccormick.ca/code-odour-using-list-set-instead-just-dict/</link>
      <pubDate>Thu, 09 Jun 2016 03:00:44 +0000</pubDate>
      <guid>https://mattmccormick.ca/code-odour-using-list-set-instead-just-dict/</guid>
      <description>&lt;p&gt;I came across something like the following code recently and ended up refactoring it to make it much simpler.  Let&amp;rsquo;s take a look at what the original developer was trying to do.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [ {&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;url&amp;#39;&lt;/span&gt;: obj[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;relative_url&amp;#39;&lt;/span&gt;], &lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt;} &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; obj &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; objs]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;added_objs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; set()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; obj &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; result:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; get_absolute_url(obj[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;url&amp;#39;&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; url &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; added_objs:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;added_objs&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;add(url)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;obj[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;url&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; url&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; [obj &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; obj &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; result &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; obj[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;url&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;!=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;None&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In the first statement, a new list of dictionaries is being created and stored in the result variable.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tips for Working Effectively as a Remote Developer</title>
      <link>https://mattmccormick.ca/tips-working-effectively-remote-developer/</link>
      <pubDate>Thu, 26 May 2016 22:00:08 +0000</pubDate>
      <guid>https://mattmccormick.ca/tips-working-effectively-remote-developer/</guid>
      <description>&lt;p&gt;Communication, not programming ability, is the most important thing that will make you stand out as a great developer as opposed to just a good developer.  If you can&amp;rsquo;t understand others or communicate well, it doesn&amp;rsquo;t matter how well you program because you&amp;rsquo;ll most likely end up doing the wrong things.  As a remote developer, it&amp;rsquo;s even more critical that you take time to communicate effectively.  I&amp;rsquo;ve worked remotely for over seven years and here are some tips I&amp;rsquo;ve learned about how to work better remotely.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What Living Abroad Taught Me About Software Development</title>
      <link>https://mattmccormick.ca/living-abroad-taught-software-development/</link>
      <pubDate>Fri, 20 May 2016 17:41:25 +0000</pubDate>
      <guid>https://mattmccormick.ca/living-abroad-taught-software-development/</guid>
      <description>&lt;p&gt;Living abroad is one of those experiences that tough to communicate to someone who hasn’t experienced it.  It’s like explaining colours to a blind man.  Only someone who can see the colour will really understand.&lt;/p&gt;&#xA;&lt;p&gt;I had always wanted to go abroad when I was younger. In University I joined the student organization &lt;a href=&#34;http://www.aiesec.org&#34;&gt;AIESEC&lt;/a&gt; which offered international exchange opportunities.  Through their programs I was lucky enough to have the chance to live in Hong Kong, Kenya, Croatia and Poland.  Since graduating, I&amp;rsquo;ve also lived in China and, recently, Japan&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Create a RESTful API using Yii Framework</title>
      <link>https://mattmccormick.ca/create-restful-api-using-yii-framework/</link>
      <pubDate>Mon, 23 Jun 2014 22:28:52 +0000</pubDate>
      <guid>https://mattmccormick.ca/create-restful-api-using-yii-framework/</guid>
      <description>&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/36vJpwQ8OdM?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;Yii Screencast&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;&lt;p&gt;This screencast uses Yii 1.1.14.  You can grab the code from &lt;a href=&#34;https://github.com/mattmccormick/screencast-yiiframework-restfulapi&#34;&gt;https://github.com/mattmccormick/screencast-yiiframework-restfulapi&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Hi, there. My name is Matt McCormick. Welcome to this screencast on building a RESTful API with Yii Framework. It&amp;rsquo;s my first one, so I hope you&amp;rsquo;ll enjoy it and get a lot out of it. I&amp;rsquo;ve used Yii for a couple years and it&amp;rsquo;s a pretty good framework to build things quickly. And I enjoy working with it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How Much Does a Website or Web Application cost?</title>
      <link>https://mattmccormick.ca/how-much-does-a-web-application-cost/</link>
      <pubDate>Fri, 23 May 2014 00:13:57 +0000</pubDate>
      <guid>https://mattmccormick.ca/how-much-does-a-web-application-cost/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re thinking about building a website or web app, one of the first questions that comes up is &amp;ldquo;How much will it cost?&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;If you don&amp;rsquo;t have a technical background, the choices can seem overwhelming to figure things out.  You might approach one software developer who charges $10/hr and another who charges $200+/hr.  One company may bid $2000 while another may bid $20,000.  What is the difference?&lt;/p&gt;&#xA;&lt;p&gt;The first thing to be aware of is the different levels of complexity required.  There are also tools which will speed up and reduce the cost of the development process for certain types of sites but which are not applicable to other types.&lt;/p&gt;</description>
    </item>
    <item>
      <title>When to Separate View Files</title>
      <link>https://mattmccormick.ca/when-to-separate-view-files/</link>
      <pubDate>Mon, 12 May 2014 00:26:30 +0000</pubDate>
      <guid>https://mattmccormick.ca/when-to-separate-view-files/</guid>
      <description>&lt;p&gt;I was brought in to help development on a CakePHP web application recently. One of the tasks should have been relatively simple - add an option to an admin page. In a well-designed application, this task should have taken a couple hours. Instead it took a couple days because I needed to figure out just what was going on.&lt;/p&gt;&#xA;&lt;p&gt;The view file was being used by 3 different actions which had slightly similar views. At the beginning of development, I&amp;rsquo;m sure there were more similarities than differences. But over time, you need to have one action display something just a little bit different than the others. It&amp;rsquo;s tempting just to add some logic to the view and be done with it. The problem is, after a few times of doing this, you&amp;rsquo;ve created a monster that is very difficult for other developers to understand what is going on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Launching an Info Course part 2: MVP Style</title>
      <link>https://mattmccormick.ca/launching-an-info-course-part-2-mvp-style/</link>
      <pubDate>Tue, 06 Aug 2013 10:07:31 +0000</pubDate>
      <guid>https://mattmccormick.ca/launching-an-info-course-part-2-mvp-style/</guid>
      <description>&lt;p&gt;This post is the 2nd part of a series of posts about my experience in launching an info course from scratch.  &lt;a href=&#34;http://mattmccormick.ca/2013/07/25/launching-an-info-course-part-1-overcoming-doubt/&#34; title=&#34;Launching an Info Course part 1: Overcoming Doubt&#34;&gt;Read part 1: Overcoming Doubt&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;One of the things that has been gaining steam on the web lately has been the rise of &amp;ldquo;drip products.&amp;rdquo;  Drip products are information products but instead of being sent to the customer all at once (ie. a book, or a DVD package) the information is dripped out over time in smaller chunks.  This benefits both sides.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Launching an Info Course part 1: Overcoming Doubt</title>
      <link>https://mattmccormick.ca/launching-an-info-course-part-1-overcoming-doubt/</link>
      <pubDate>Thu, 25 Jul 2013 10:02:09 +0000</pubDate>
      <guid>https://mattmccormick.ca/launching-an-info-course-part-1-overcoming-doubt/</guid>
      <description>&lt;p&gt;Recently my main source of work ended and it caused me to reflect on where I want to go with my career.  I&amp;rsquo;ve always been interested in entrepreneurship but have only made a few half-hearted attempts that didn&amp;rsquo;t really go anywhere.  So this time, I&amp;rsquo;ve resolved to take the next 6-12 months off to just work on my own ideas and see if I can make something happen and get it to the point where I have business income to cover my (fairly low) expenses.  I would consider it a success if I could get to $3000/month by next July.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Safely Change Database Columns in Yii Framework</title>
      <link>https://mattmccormick.ca/safely-change-database-columns-in-yii-framework/</link>
      <pubDate>Wed, 19 Sep 2012 17:13:54 +0000</pubDate>
      <guid>https://mattmccormick.ca/safely-change-database-columns-in-yii-framework/</guid>
      <description>&lt;p&gt;Note: This post refers to Yii Framework version 1.1.11&lt;/p&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s say you have an existing web application that uses Yii framework. For some reason, you would like to go about changing some column names in your database tables. Recently I went through this process because some tables in our application were using &lt;code&gt;title&lt;/code&gt; and others were using &lt;code&gt;name&lt;/code&gt;. I wanted to standardize them all to &lt;code&gt;name&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Changing column names can be a pain because, if you are making use of &lt;code&gt;CActiveRecord&lt;/code&gt;, you probably have many in places in the code that refer to the attribute directly such as:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unit Testing URL Routes in Yii Framework</title>
      <link>https://mattmccormick.ca/unit-testing-url-routes-in-yii-framework/</link>
      <pubDate>Fri, 14 Sep 2012 09:17:16 +0000</pubDate>
      <guid>https://mattmccormick.ca/unit-testing-url-routes-in-yii-framework/</guid>
      <description>&lt;p&gt;(This post refers to Yii Framework v.1.1.11)&lt;/p&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s say you have a bunch of custom URL routes setup in your configuration file for Yii. Since custom URL routes can quickly become complicated due to regular expression matching, it&amp;rsquo;s a good idea to have some tests in place to make sure that your URLs are getting sent to the correct controller and action.&lt;/p&gt;&#xA;&lt;p&gt;Unfortunately, Yii is a little too tightly coupled for my taste. This makes it difficult to test something like this. Routes are one of the main parts of any web application out there and should be standard to write unit tests for them. This is one of the downfalls of the Yii framework and could be improved.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to use Zend Framework&#39;s ResultSet class with Yii Framework</title>
      <link>https://mattmccormick.ca/how-to-use-zend-frameworks-resultset-class-with-yii-framework/</link>
      <pubDate>Thu, 06 Sep 2012 18:29:33 +0000</pubDate>
      <guid>https://mattmccormick.ca/how-to-use-zend-frameworks-resultset-class-with-yii-framework/</guid>
      <description>&lt;p&gt;Note: This post refers to Yii Framework version 1.1.11 and Zend Framework version 2.0.0&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been working with the Yii Framework for about six months now. While it&amp;rsquo;s decently designed there are a few points that bother me about it. My favourite PHP framework that I&amp;rsquo;ve worked with is Zend Framework so this post is a little biased towards it. I find Zend Framework extremely well-designed and thought out. It&amp;rsquo;s not for beginners and there is a bit of a steep learning curve. I wouldn&amp;rsquo;t consider it a rapid development framework but it helps keep code very clean when dealing with larger systems.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Your Controllers need to lose weight</title>
      <link>https://mattmccormick.ca/your-controllers-need-to-lose-weight/</link>
      <pubDate>Tue, 04 Sep 2012 06:09:00 +0000</pubDate>
      <guid>https://mattmccormick.ca/your-controllers-need-to-lose-weight/</guid>
      <description>&lt;p&gt;Most software developers have probably heard of the design principle &amp;ldquo;Fat Models, Skinny Controllers&amp;rdquo; but I constantly come across code that doesn&amp;rsquo;t follow this principle.  How skinny is skinny?  Properly designed controllers should not have more than a few lines of code.  For most actions, if you have more than four lines in the method, that should be an indication that there is a better way to do something.&lt;/p&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s take a look at some code working with a delete() action.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Forget Sunscreen....Focus</title>
      <link>https://mattmccormick.ca/forget-sunscreen-focus/</link>
      <pubDate>Fri, 21 Oct 2011 07:55:30 +0000</pubDate>
      <guid>https://mattmccormick.ca/forget-sunscreen-focus/</guid>
      <description>&lt;p&gt;Focus. If I could offer you only one tip for the future, focus would be it.&lt;/p&gt;&#xA;&lt;p&gt;In the next 20 years, we are going to face an extreme shortage of people who are able to focus single-mindedly on what they are doing.  Children growing up these days face an onslaught of distractions thanks to news feeds and smartphones and it is only going to get worse.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Why is this a problem?&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Refactor a PHP Application</title>
      <link>https://mattmccormick.ca/how-to-refactor-a-php-application/</link>
      <pubDate>Thu, 13 Oct 2011 06:33:07 +0000</pubDate>
      <guid>https://mattmccormick.ca/how-to-refactor-a-php-application/</guid>
      <description>&lt;p&gt;The great thing about PHP is how easy it is to get started.&lt;/p&gt;&#xA;&lt;p&gt;The bad thing about PHP is how easy it is to get started.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve worked on a few PHP sites where the code lived up to these statements.  While it is incredibly easy to get a site up and running with PHP, that ease of getting started could turn into a nightmare as the site grows and becomes more complex.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Everybody Loves Learning</title>
      <link>https://mattmccormick.ca/everybody-loves-learning/</link>
      <pubDate>Sat, 01 Oct 2011 04:46:50 +0000</pubDate>
      <guid>https://mattmccormick.ca/everybody-loves-learning/</guid>
      <description>&lt;p&gt;A few weeks ago, my 2.5 year old niece was over in the evening.  She was running around as usual.  As I sat down to read something, she watched me turn on a lamp.  As soon as she saw the light come on, she came running over to see what kind of magic had just taken place.  Seeing that she was interested in this wizardry, I turned the lamp on and off a few times so she could see how it worked.  Then she wanted to try.  This lamp has one of those switches that you need to turn and her motor skills aren&amp;rsquo;t quite developed enough yet to be able to hold the knob firmly.  She tried but couldn&amp;rsquo;t quite do it.  I turned it on a final time and started reading.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Make Time for the Long Term</title>
      <link>https://mattmccormick.ca/make-time-for-the-long-term/</link>
      <pubDate>Thu, 22 Sep 2011 08:07:36 +0000</pubDate>
      <guid>https://mattmccormick.ca/make-time-for-the-long-term/</guid>
      <description>&lt;p&gt;The biggest mistake I see with fellow colleagues are people that just focus on the immediate tasks at hand.  Day after day they only work on the tasks given to them and just try to get them done.  Focusing on the immediate short-term tasks all the time is a recipe for mediocrity.  It also leads to boredom.&lt;/p&gt;&#xA;&lt;p&gt;Everyone should block off a portion of their day for thinking long-term and investing in skills that may pay off later.  Unfortunately, many work places don&amp;rsquo;t see the value in doing this.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Book Review: The Passionate Programmer</title>
      <link>https://mattmccormick.ca/book-review-the-passionate-programmer/</link>
      <pubDate>Fri, 16 Sep 2011 07:25:13 +0000</pubDate>
      <guid>https://mattmccormick.ca/book-review-the-passionate-programmer/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://amzn.to/qdmSR2&#34;&gt;&lt;img src=&#34;https://s3.us-east-2.amazonaws.com/mattmccormick.ca/41fyjTVARFL._SL500_AA300_.jpg&#34; alt=&#34;The Passionate Programmer&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;The Passionate Programmer is a book everyone in software can benefit from.  For those of us working in software, there is the tendency to get complacent.  After all, salaries are usually pretty good, working conditions are generally comfortable and good software developers are usually in demand.  I know I&amp;rsquo;ve gone through phases in my career where I let myself get a little too comfortable.  Maybe I stopped reading regularly about technology or stopped building things on the side.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Are you passing up opportunities?</title>
      <link>https://mattmccormick.ca/are-you-passing-up-opportunities/</link>
      <pubDate>Tue, 13 Sep 2011 14:26:47 +0000</pubDate>
      <guid>https://mattmccormick.ca/are-you-passing-up-opportunities/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;The trouble with opportunity is that it always comes disguised as hard work.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The year was 1995.  I was 14 years old and recently purchased a screaming fast 14.4 Kbps modem and signed up with a local ISP to finally get graphical Internet.  This was the Internet with pictures!  Ah, how I remember the days watching the purple &lt;img src=&#34;https://s3.us-east-2.amazonaws.com/mattmccormick.ca/netscape_purple_n.gif&#34; alt=&#34;Netscape Purple N&#34;&gt; going in and out waiting for pages to load.  28.8 Kbps modems had recently come out but they were around $250.  Luckily for me, the 14.4 modems had been reduced in price to &lt;em&gt;only&lt;/em&gt; $100 which I could afford with my paper route money.  How could I complain though?  Previously I had been using a 2400 bps modem to access the Internet in text-form through the Lynx browser.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kindle: My Favourite Device</title>
      <link>https://mattmccormick.ca/kindle-my-favourite-device/</link>
      <pubDate>Fri, 09 Sep 2011 15:03:24 +0000</pubDate>
      <guid>https://mattmccormick.ca/kindle-my-favourite-device/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve owned a Kindle for just short of two months now and it has quickly become my favourite device.  I take it everywhere!  Even if I just know I&amp;rsquo;ll be waiting in line for a few minutes I bring it along.  I used to think I read a lot but thanks to Kindle my reading has sky-rocketed.  I probably read two or three books a month before but since buying my Kindle I have read 14 books - almost two books per week!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Do you program 4th dimensionally?</title>
      <link>https://mattmccormick.ca/do-you-program-4th-dimensionally/</link>
      <pubDate>Fri, 02 Sep 2011 04:20:03 +0000</pubDate>
      <guid>https://mattmccormick.ca/do-you-program-4th-dimensionally/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://s3.us-east-2.amazonaws.com/mattmccormick.ca/tumblr_lishpiSM8O1qgubxao1_1280.png&#34; alt=&#34;&#34;&gt;&#xA;&amp;ldquo;Marty, you&amp;rsquo;re just not thinking 4th dimensionally&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve worked on a few different types of applications at this point in my career and one sure sign of poor programming I&amp;rsquo;ve noticed is the inability to program 4th dimensionally.  You notice this when the application may be working but implementing features begins to take longer and longer.  The performance starts to become an issue when more users are added to the system.  These problems are a result of the programmer not thinking about the future.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Work for Many and the Few</title>
      <link>https://mattmccormick.ca/work-for-many-and-the-few/</link>
      <pubDate>Mon, 01 Aug 2011 23:07:56 +0000</pubDate>
      <guid>https://mattmccormick.ca/work-for-many-and-the-few/</guid>
      <description>&lt;p&gt;&amp;ldquo;It is more noble to give yourself completely to one individual than to labour diligently for the salvation of the masses.&amp;rdquo; - Dag Hammarskjuld, former UN secretary-general.&lt;/p&gt;&#xA;&lt;p&gt;Disagree.&lt;/p&gt;&#xA;&lt;p&gt;In life, we need both in our service to others.  We need to contribute to many people but also contribute to just a few individuals close to us.  For most people, the former comes from their work.  In fact, most people get paid for being able to provide their skills for a product or service that is used by many people.  It is very difficult to get paid well by only providing a service to a handful of people.  This is the whole basis for the economic system - the more people that benefit from a person&amp;rsquo;s work, the more money that person earns.  Our economic system is setup to encourage one&amp;rsquo;s work to connect with the most amount of people.  This is why celebrities and athletes get paid so much.  Their work is seen by millions of people.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Interesting Things in Japan</title>
      <link>https://mattmccormick.ca/interesting-things-in-japan/</link>
      <pubDate>Sun, 31 Jul 2011 14:31:04 +0000</pubDate>
      <guid>https://mattmccormick.ca/interesting-things-in-japan/</guid>
      <description>&lt;p&gt;{{ youtube DsqCWXhSCWU }}&lt;/p&gt;&#xA;&lt;p&gt;Thank you Mr. Toastmaster. Good evening everyone.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s been three months since I came to Japan now and I was thinking this week about my time here so far. Before I came to Japan in my city in Victoria there are many Japanese students that go to Victoria to study English or to study at university so I had known some Japanese people before I came here and they seemed like interesting people. So I thought &amp;ldquo;Oh, Japan must be an interesting country.&amp;rdquo; And it is so far. There&amp;rsquo;s been many interesting things that I&amp;rsquo;ve seen so far, that are maybe different from in Canada or that I&amp;rsquo;ve noticed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Advice for New Software Developers</title>
      <link>https://mattmccormick.ca/advice-for-new-software-developers/</link>
      <pubDate>Tue, 31 May 2011 21:32:46 +0000</pubDate>
      <guid>https://mattmccormick.ca/advice-for-new-software-developers/</guid>
      <description>&lt;p&gt;When starting a new path, it is often difficult to know which way to go.  Some good advice I once received is that when people are starting something new, they need to be told exactly what and how to do it.  It is only once they have a bit of experience that you can remove the &amp;ldquo;how&amp;rdquo; from the equation and just say what needs to be done.&lt;/p&gt;&#xA;&lt;p&gt;For new programmers just getting started, here are the steps I recommend taking until you understand your working style better and can make adjustments.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Find Your Passion</title>
      <link>https://mattmccormick.ca/how-to-find-your-passion/</link>
      <pubDate>Mon, 20 Dec 2010 08:38:47 +0000</pubDate>
      <guid>https://mattmccormick.ca/how-to-find-your-passion/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://s3.us-east-2.amazonaws.com/mattmccormick.ca/passion.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why I Don&#39;t Have a Girlfriend</title>
      <link>https://mattmccormick.ca/why-i-dont-have-a-girlfriend/</link>
      <pubDate>Sat, 30 Oct 2010 23:56:23 +0000</pubDate>
      <guid>https://mattmccormick.ca/why-i-dont-have-a-girlfriend/</guid>
      <description>&lt;p&gt;This is a speech I wrote for the Toastmasters Humourous Speech contest.  Unfortunately, I didn&amp;rsquo;t have it completed in time for the contest so I delivered it a couple weeks later.  There were some jokes that didn&amp;rsquo;t come off as funny as I didn&amp;rsquo;t deliver them well.  I think this is a speech I could refine to make it much funnier.&lt;/p&gt;&#xA;&lt;p&gt;{{ youtube Ni0t41njZMQ }}&lt;/p&gt;&#xA;&lt;p&gt;Welcome guests.&lt;/p&gt;&#xA;&lt;p&gt;Chinese are very inquisitive people.  When I lived in China, some people would come up to me and they would ask me things like &amp;ldquo;How much money do you make?&amp;rdquo; and &amp;ldquo;Are you married?&amp;rdquo;.  If I answered &amp;ldquo;No, I&amp;rsquo;m not married&amp;rdquo; they would follow up with &amp;ldquo;Well, do you have a girlfriend?&amp;rdquo;  If I said &amp;ldquo;No&amp;rdquo; again, they would get a perplexed look on their face saying &amp;ldquo;Why not?&amp;rdquo;.  They couldn&amp;rsquo;t understand this.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Programming Spiritually</title>
      <link>https://mattmccormick.ca/programming-spiritually/</link>
      <pubDate>Wed, 27 Oct 2010 23:07:07 +0000</pubDate>
      <guid>https://mattmccormick.ca/programming-spiritually/</guid>
      <description>&lt;p&gt;If you are a spiritual person, you may sometimes wonder how programming connects to the bigger picture.  Working in front of a computer day after day can seem like an activity most removed from the world, nature and God.  Here are some things to do to feel more connected:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Awareness of Thought&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;You are a complete individual connected to a higher source.  This higher source offers answers to any question you throw at it.  It is extremely important to be aware of your thought process while programming.  Often running through my mind are questions like &amp;ldquo;Why is this not working?&amp;rdquo;, &amp;ldquo;Where is the problem?&amp;rdquo; and &amp;ldquo;How can I solve it?&amp;rdquo;.  It never fails that I receive answers to my questions.  Sometimes they come quickly.  Other times, I may need to take a break and go for a walk so that I can be open enough to receive the answer.  In cases of extreme disconnect, a good night&amp;rsquo;s sleep will relax me and let the answer flow in.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Things You Didn&#39;t Know About Victoria</title>
      <link>https://mattmccormick.ca/things-you-didnt-know-about-victoria/</link>
      <pubDate>Wed, 11 Aug 2010 05:37:32 +0000</pubDate>
      <guid>https://mattmccormick.ca/things-you-didnt-know-about-victoria/</guid>
      <description>&lt;p&gt;This is my 7th Toastmasters speech from the Competent Communicator&amp;rsquo;s manual.&lt;/p&gt;&#xA;&lt;p&gt;{{ youtube 9tVsSjGuQQc }}&lt;/p&gt;&#xA;&lt;p&gt;Thank you Madame Toastmaster, fellow Toastmasters and welcome guest.&lt;/p&gt;&#xA;&lt;p&gt;Do you know what I like about Europeans? They know their history.  Just look at Graham here.  Graham can probably tell you everything about British history - all the relevant and irrelevant facts dating back hundreds of years.  I lived in Europe for a year after university and I realised this isn&amp;rsquo;t unique amongst Europeans and British.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Learn Quickly: How to Soak up things like a Sponge</title>
      <link>https://mattmccormick.ca/learn-quickly-how-to-soak-up-things-like-a-sponge/</link>
      <pubDate>Sat, 07 Aug 2010 01:01:46 +0000</pubDate>
      <guid>https://mattmccormick.ca/learn-quickly-how-to-soak-up-things-like-a-sponge/</guid>
      <description>&lt;p&gt;All my life I&amp;rsquo;ve been able to pick up things very quickly.  This has led me to being bored with classes at times since they need to go at the pace of the average learner.  I still remember taking Math class in high school.  One year my teacher would assign the homework due for tomorrow at the beginning of class.  I would usually just ignore what he was talking about and read the textbook and do the homework in class.  Often I would be finished by the end of the hour.&lt;/p&gt;</description>
    </item>
    <item>
      <title>High Performance the Lazy Way</title>
      <link>https://mattmccormick.ca/high-performance-the-lazy-way/</link>
      <pubDate>Mon, 24 May 2010 15:59:41 +0000</pubDate>
      <guid>https://mattmccormick.ca/high-performance-the-lazy-way/</guid>
      <description>&lt;p&gt;This is my 5th Toastmasters speech.  Re-watching it now, I was quite disappointed with it.  I wasn&amp;rsquo;t prepared enough and it did not come off as smooth as it could have been.  I also need to work on my vocal variety more.  Luckily, that is the purpose of my next speech.  &lt;a href=&#34;http://www.soapboxguru.com/speech/3485/Toastmasters-Speech-5-High-Performance-the-Lazy-Way&#34;&gt;Please evaluate this speech at Soapbox Guru&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;{{ youtube hdycz0pX5ek }}&lt;/p&gt;&#xA;&lt;p&gt;Thank you Mr. Toastmaster, fellow Toastmasters and welcome guests.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Increase Your Productivity.  Work in 45 minute blocks.</title>
      <link>https://mattmccormick.ca/increase-your-productivity-work-in-45-minute-blocks/</link>
      <pubDate>Mon, 03 May 2010 02:31:41 +0000</pubDate>
      <guid>https://mattmccormick.ca/increase-your-productivity-work-in-45-minute-blocks/</guid>
      <description>&lt;p&gt;Over the years, I have settled on a system that best allows me to focus and be productive.&lt;/p&gt;&#xA;&lt;p&gt;Work 45 minutes. 10 minute break.&#xA;Work 45 minutes. 10 minute break.&#xA;Work 45 minutes. Longer break.&#xA;Repeat as necessary.&lt;/p&gt;&#xA;&lt;p&gt;How did I come about this system?&lt;/p&gt;&#xA;&lt;p&gt;Mostly by trial and error and observing my energy.  I would notice that it would take me about 45 minutes of working on something to come up with a solution.  For example, if I was working on a bug fix, from the moment I started to the moment I finished would be 45 minutes.  I would feel good about accomplishing my task and would take a break to relish in the accomplishment and prepare for what I needed to do next.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Never Compromise Quality</title>
      <link>https://mattmccormick.ca/never-compromise-quality/</link>
      <pubDate>Tue, 27 Apr 2010 00:03:36 +0000</pubDate>
      <guid>https://mattmccormick.ca/never-compromise-quality/</guid>
      <description>&lt;p&gt;In programming people sometimes feel they have to sacrifice quality in order to get a product out the door on time.  Never do this.  You are hurting the customer, the company and yourself if you do.&lt;/p&gt;&#xA;&lt;p&gt;This American Life had a very interesting program on the New United Motor Manufacturing Inc (NUMMI) plant in Freemont, California.  NUMMI was a joint venture started in 1984 between Toyota and GM for both parties to learn from each other.  GM would learn about Toyota&amp;rsquo;s quality control systems and Toyota would learn about building cars in America.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to easily create Models and Table Relationships in Zend Framework</title>
      <link>https://mattmccormick.ca/how-to-easily-create-models-and-table-relationships-in-zend-framework/</link>
      <pubDate>Sat, 24 Apr 2010 19:06:02 +0000</pubDate>
      <guid>https://mattmccormick.ca/how-to-easily-create-models-and-table-relationships-in-zend-framework/</guid>
      <description>&lt;p&gt;When I first started using Zend Framework, I was so frustrated when trying to figure out how to get information from the database.  I fought against the framework for the longest time.  Instead of working with it, I would write the SQL and then simply query the database to get the data back as an array of objects.&lt;/p&gt;&#xA;&lt;p&gt;Later on I learned at just how powerful Zend Framework can be when it comes to retrieving models.  It is actually easier and more fun to do things in the &amp;ldquo;Zend&amp;rdquo; way.&lt;/p&gt;</description>
    </item>
    <item>
      <title>You Don&#39;t Want Money</title>
      <link>https://mattmccormick.ca/you-dont-want-money/</link>
      <pubDate>Thu, 15 Apr 2010 12:21:10 +0000</pubDate>
      <guid>https://mattmccormick.ca/you-dont-want-money/</guid>
      <description>&lt;p&gt;The other day, a young kid on the bus struck up a conversation with me.  During the conversation, he said he wanted to make a lot of money because he doesn&amp;rsquo;t get enough respect from his peers.  He thought if he could become rich enough, he could earn that respect.&lt;/p&gt;&#xA;&lt;p&gt;Thinking about this conversation later, I realised no one really wants money.  Money is meaningless.  When people say they want money, they really mean they want something intangible which money can help them get.  This could be respect, as in the case of this young man.  For a lot of people, it probably comes down to happiness, security, love, power, respect or freedom.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Dirty Secret of Work</title>
      <link>https://mattmccormick.ca/the-dirty-secret-of-work/</link>
      <pubDate>Sun, 11 Apr 2010 12:18:53 +0000</pubDate>
      <guid>https://mattmccormick.ca/the-dirty-secret-of-work/</guid>
      <description>&lt;p&gt;This is my 4th Toastmasters speech.  &lt;a href=&#34;http://www.soapboxguru.com/speech/2671/Toastmasters-Speech-4-The-Dirty-Secret-of-Work&#34;&gt;Please evaluate this Toastmasters speech at Soapbox Guru&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;{{ youtube BcpBZt6yzZo }}&lt;/p&gt;&#xA;&lt;p&gt;Good evening Mr. Toastmaster, fellow Toastmasters and welcome guests.&lt;/p&gt;&#xA;&lt;p&gt;How many people here work full-time - about 40 hours a week or so?&lt;/p&gt;&#xA;&lt;p&gt;Unfortunately, I have some bad news for you.  You&amp;rsquo;re working too much.&lt;/p&gt;&#xA;&lt;p&gt;What if I told you it was possible to be happier, to be more satisfied with your job and get more done while working fewer hours?  Now I know what you&amp;rsquo;re thinking, you&amp;rsquo;re thinking whoa, wait a minute Matt, work less and get more done?  This doesn&amp;rsquo;t seem possible.  It must define some kind of law of physics or something.  But it is true, if you&amp;rsquo;re working 40 hours, I believe you&amp;rsquo;re working too much.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Productivity and Price</title>
      <link>https://mattmccormick.ca/productivity-and-price/</link>
      <pubDate>Sun, 14 Mar 2010 10:42:59 +0000</pubDate>
      <guid>https://mattmccormick.ca/productivity-and-price/</guid>
      <description>&lt;p&gt;Recently I was approached by a former employer about doing a small task for them.  While working there, I was paid $X/hr.  For this task, I said I would need to charge roughly $2X/hr.  He came back saying it was way out of his budget.&lt;/p&gt;&#xA;&lt;p&gt;I was fine with not having the work because I obeyed the first rule of freelance work - &lt;strong&gt;always quote your rate so you are satisfied no matter if you get the work or not&lt;/strong&gt;.  This is a great rule which hasn&amp;rsquo;t failed me yet when freelancing.  It helps  keep my rates fair.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Developing Software when you are Technically Challenged</title>
      <link>https://mattmccormick.ca/developing-software-when-you-are-technically-challenged/</link>
      <pubDate>Tue, 29 Dec 2009 14:34:29 +0000</pubDate>
      <guid>https://mattmccormick.ca/developing-software-when-you-are-technically-challenged/</guid>
      <description>&lt;p&gt;Recently I read a blog post from one of the RSS feeds I subscribe to.  The author was looking to create an iPhone app to promote his business.  He researched a few options - one quoted him $20-$30,000, another $8-10,000 and he also came across a website offering to create one for $499.&lt;/p&gt;&#xA;&lt;p&gt;From reading his blog, I assume he has little-to-no software development experience.  This is a scary position to be in.  How do you choose between widely varied options?  What could the difference possibly be if the product is the same?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sneaky Pricing</title>
      <link>https://mattmccormick.ca/sneaky-pricing/</link>
      <pubDate>Fri, 18 Dec 2009 00:53:01 +0000</pubDate>
      <guid>https://mattmccormick.ca/sneaky-pricing/</guid>
      <description>&lt;p&gt;Pricing is one of the hardest things to get right for your business.  I heard a story the other day of a business that implemented random pricing to pick the right one.  On their pricing page, they had the system choose at random from a pre-determined list of prices.  These price points ranged from $5 all the way up to $200.  Keep in mind, this was all for the same product.  After analysing the data, they decided to settle around $20.&lt;/p&gt;</description>
    </item>
    <item>
      <title>You, Inc.</title>
      <link>https://mattmccormick.ca/you-inc/</link>
      <pubDate>Mon, 14 Dec 2009 08:55:44 +0000</pubDate>
      <guid>https://mattmccormick.ca/you-inc/</guid>
      <description>&lt;p&gt;Are you an employee who dreams of starting your own business?  You have an idea that excites you when thinking about it.  You visualise the finished product coming to life.  You imagine all the money rolling in from sales.  That is great but it could be months or years down the road.  Do you really need to wait that long to start a business?&lt;/p&gt;&#xA;&lt;p&gt;No. You already run a business, and that business is You, Inc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Torture Programmers</title>
      <link>https://mattmccormick.ca/how-to-torture-programmers/</link>
      <pubDate>Sun, 06 Dec 2009 15:50:28 +0000</pubDate>
      <guid>https://mattmccormick.ca/how-to-torture-programmers/</guid>
      <description>&lt;p&gt;Do you have a programmer in your life that drives you up the wall?  Would you like to be rid of him forever?  You can!  Just follow these five simple steps and your programmer will run crying for the hills.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Put him in an open office&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Remove as many barriers to communication as possible.  Put the most talkative person - the person who can&amp;rsquo;t keep quiet for more than five minutes - as close as possible.  It&amp;rsquo;s best if you have many non-programmers within earshot so they can chatter about topics of non-interest to the programmer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Read Books, Not Blogs</title>
      <link>https://mattmccormick.ca/read-books-not-blogs/</link>
      <pubDate>Thu, 03 Dec 2009 04:26:13 +0000</pubDate>
      <guid>https://mattmccormick.ca/read-books-not-blogs/</guid>
      <description>&lt;p&gt;&amp;ldquo;Spend 15 minutes per day reading about your craft and within 5 years you will be in the top 5% of your industry.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;I read this quote a couple years ago and have tried to live by it since to see if it is accurate.  I wouldn&amp;rsquo;t consider myself in the top 5% so it hasn&amp;rsquo;t worked yet.  I keep doing it though because I see why it can work.  To be in the top 5%, you have to do things only the top 5% do.  The top programmers continually learn new and better ways of programming and if you do that, then one day you will be among them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>I Don&#39;t Want to be a Code Monkey</title>
      <link>https://mattmccormick.ca/i-dont-want-to-be-a-code-monkey/</link>
      <pubDate>Mon, 30 Nov 2009 04:24:10 +0000</pubDate>
      <guid>https://mattmccormick.ca/i-dont-want-to-be-a-code-monkey/</guid>
      <description>&lt;p&gt;&amp;ldquo;I don&amp;rsquo;t want to be a code monkey.&amp;rdquo;  I&amp;rsquo;ve heard a few friends say this who are involved in programming.  I don&amp;rsquo;t get it.&lt;/p&gt;&#xA;&lt;p&gt;Wikipedia says that a code monkey is someone &amp;ldquo;who writes computer code for a living.&amp;rdquo;  That&amp;rsquo;s pretty broad.  I assume a code monkey refers to someone who mindlessly takes orders.  In that case, a code monkey must be someone who stands behind a counter, smiles and says &amp;ldquo;Would you like to supersize that IF statement?  You can get an extra variable for just 50 cents more!&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Ups and Downs of Freelancing</title>
      <link>https://mattmccormick.ca/the-ups-and-downs-of-freelancing/</link>
      <pubDate>Thu, 26 Nov 2009 04:12:04 +0000</pubDate>
      <guid>https://mattmccormick.ca/the-ups-and-downs-of-freelancing/</guid>
      <description>&lt;p&gt;Since summer 2008, I have logged over 600 hours of freelance programming work through the website odesk.com.  It has been an interesting experience.   In May 2008, I moved to China and ended up becoming an English teacher.  I started freelance work because I missed programming.  While English teaching is rewarding in its own way, I missed the satisfaction that comes from solving technical problems and creating systems.&lt;/p&gt;&#xA;&lt;p&gt;I reviewed a few freelancing websites including Rent a Coder and eLance but settled on oDesk.  Why? There was no signup fee with oDesk and the fee is simply 10% of earnings.  I remember other sites charging 15% and having complicated systems of bidding for jobs. oDesk seemed to offer the best model without taking too big a chunk or requiring an upfront fee.  I definitely did not want to pay an upfront fee since I was just getting started.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>https://mattmccormick.ca/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://mattmccormick.ca/about/</guid>
      <description>&lt;p&gt;Matt McCormick loves solving business problems using technology. So far his career has been mainly focused on developing web applications. He built his first website in 1997 and has enjoyed developing for the web ever since. He holds a Bachelor of Science – Major in Computer Science from the University of Victoria.&lt;/p&gt;&#xA;&lt;p&gt;He has lived in Hong Kong, Kenya, Croatia, Poland, China and Japan.&lt;/p&gt;&#xA;&lt;p&gt;Outside of work, Matt enjoys playing ice and ball hockey, learning Japanese, reading and spending time with his wife.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
