<?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>mattgarrett.org</title>
	<atom:link href="http://mattgarrett.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://mattgarrett.org</link>
	<description>&#34;You&#039;re going to change your mind a thousand times. That&#039;s a good thing. Only imbeciles never change their minds.&#34; - Anna Rascouët-Paz</description>
	<lastBuildDate>Wed, 15 Feb 2012 06:27:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Great articles</title>
		<link>http://mattgarrett.org/blog/great-articles/</link>
		<comments>http://mattgarrett.org/blog/great-articles/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 15:32:00 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://mattgarrett.org/?p=185</guid>
		<description><![CDATA[This will be my stash of links to great articles on web development, management, etc. Starting off small. When We Build Bored People Quit]]></description>
			<content:encoded><![CDATA[<p>This will be my stash of links to great articles on web development, management, etc. Starting off small.</p>
<ul>
<li><a href="http://vimeo.com/34017777">When We Build</a></li>
<li><a title="Bored People Quite" href="http://www.randsinrepose.com/archives/2011/07/12/bored_people_quit.html">Bored People Quit</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://mattgarrett.org/blog/great-articles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Confoodoolized</title>
		<link>http://mattgarrett.org/blog/confoodoodlized/</link>
		<comments>http://mattgarrett.org/blog/confoodoodlized/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 16:36:25 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://mattgarrett.org/?p=180</guid>
		<description><![CDATA[Flying out tomorow for Confoo.  This is my first time in Canada, and first time at ConFoo.  I&#8217;m totally pumped, there seems to be some fantastic talks planned.  I&#8217;ve figured out my planned schedule (for now&#8230;for a couple of the flat ones I might switch it up): http://confoo.ca/en/YI7CnHGS]]></description>
			<content:encoded><![CDATA[<p>Flying out tomorow for Confoo.  This is my first time in Canada, and first time at ConFoo.  I&#8217;m totally pumped, there seems to be some fantastic talks planned.  I&#8217;ve figured out my planned schedule (for now&#8230;for a couple of the flat ones I might switch it up): <a href="http://confoo.ca/en/YI7CnHGS">http://confoo.ca/en/YI7CnHGS</a></p>
<p><a lang="en" href="http://www.confoo.ca/"><img style="border: 0;" src="http://confoo.ca/images/propaganda/2011/en/going.jpg" alt="I am going to ConFoo Web Techno Conference. March 9th to 11th 2011. Montreal" width="150" height="100" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://mattgarrett.org/blog/confoodoodlized/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing mr. and mrs. design pattern</title>
		<link>http://mattgarrett.org/blog/introducing-mr-and-mrs-design-pattern/</link>
		<comments>http://mattgarrett.org/blog/introducing-mr-and-mrs-design-pattern/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 19:57:00 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Head First Design Patterns]]></category>

		<guid isPermaLink="false">http://mattgarrett.org/?p=119</guid>
		<description><![CDATA[The first chapter of Head First Design Patterns is titled &#8220;Intro to design patterns&#8221; .  Here are some gems I like: &#8220;The best way to use patterns is to load your brain with them and then recognize places in your designs and existing applications where you can apply them&#8221; (p. 1) &#8220;No matter how well [...]]]></description>
			<content:encoded><![CDATA[<p>The first chapter of <span style="text-decoration: underline;"><a href="http://amzn.com/0596007124">Head First Design Patterns</a></span> is titled &#8220;Intro to design patterns&#8221; .  Here are some gems I like:</p>
<ul>
<li>&#8220;The best way to use patterns is to <em>load your brain</em> with them and then <em>recognize places</em> in your designs and existing applications where you can <em>apply them</em>&#8221; (p. 1)</li>
<li>&#8220;No matter how well you design an application, over time an application must grow and change or it will <em>die</em>.&#8221; (p. 8 )<span id="more-119"></span></li>
<li>&#8220;All patterns provide a way to let <em>some part of a system vary independently of all other parts.&#8221; (p. 9)</em> This is a great statement and the #1 reason I&#8217;m trying to learn these now.  Basically, you want to design your code so that the parts that don&#8217;t change are separate from the parts that do change.  For the parts that do change, they need to be designed in such a way that changing them won&#8217;t blow up the rest of your system.</li>
<li>&#8220;Program to an interface, not an implementation&#8221; (p. 11) I&#8217;ve heard this a thousand times before&#8230;this book does a good job explaining what it means.  Summarizing this using PHP would give something like:</li>
<li>&#8220;Favor composition over inheritance&#8221;. (p. 23)  Basically the above is an example of composition, where an object (Duck) in addition to its own properties is composed of other objects (flybehavior, quackbehavior).  WOOT, I&#8217;ve been doing this for about a year now, and couldn&#8217;t agree more&#8230;it makes much more since this way.</li>
</ul>
<pre class="brush:php">//Programming to an implementation...bad
$spot = new Dog();
$spot-&gt;woof();

//Programming to an interface/supertype...good
$animal = new Animal();
$animal-&gt;speak();

//Programming to an interface and assigning implementation at runtime...best
$animal = getAnimal();
$animal-&gt;speak();</pre>
<h3>Strategy Pattern (brief look)</h3>
<p>There is a great example about designing your code for expandability w/out code reuse using the Strategy pattern. I translated the java code for the duck/mallard example into PHP, as seen below:</p>
<pre class="brush:php">&lt;?php

//Our base duck class
abstract class Duck
{
    //Setting these as private forces the offspring to use the setter methods,
    //which are the only way to enforce class type on the variables in PHP
    private $flyBehavior;
    private $quackBehavior;

    abstract public function display();

    public function performFly()
    {
        $this-&gt;flyBehavior-&gt;fly();
    }

    public function performQuack()
    {
        $this-&gt;quackBehavior-&gt;quack();
    }

    public function swim()
    {
        echo 'All ducks float, even decoys!&lt;br /&gt;';
    }

    public function setFlyBehavior(flyBehavior $fb)
    {
        $this-&gt;flyBehavior = $fb;
    }

    public function setQuackBehavior(quackBehavior $qb)
    {
        $this-&gt;quackBehavior = $qb;
    }

}

//Mallard is a type of duck

class MallardDuck extends Duck
{

    public function __construct()
    {
        $this-&gt;setQuackBehavior(new NormalQuack());
        $this-&gt;setFlyBehavior(new FlyWithWings());
        $this-&gt;display();
    }

    public function display()
    {
        echo '&lt;hr /&gt;I am a mallard duck&lt;br /&gt;';
    }

}

//Model is a type of duck (a plastic one)
class ModelDuck extends Duck
{

    public function __construct()
    {
        $this-&gt;setQuackBehavior(new MuteQuack());
        $this-&gt;setFlyBehavior(new FlyNoWay());
        $this-&gt;display();
    }

    public function display()
    {
        echo '&lt;hr /&gt;I am a model duck&lt;br /&gt;';
    }

}

interface flyBehavior
{

    public function fly();
}

class FlyWithWings implements flyBehavior
{

    public function fly()
    {
        echo "I'm Flying!&lt;br /&gt;";
    }

}

class FlyNoWay implements flyBehavior
{

    public function fly()
    {
        echo "I can't fly!&lt;br /&gt;";
    }

}

class FlyRocketPowered implements flyBehavior
{

    public function fly()
    {
        echo "I'm flying with a rocket!&lt;br /&gt;";
    }

}

interface quackBehavior
{

    public function quack();
}

class NormalQuack implements quackBehavior
{

    public function quack()
    {
        echo 'QUACK&lt;br /&gt;';
    }

}

class MuteQuack implements quackBehavior
{

    public function quack()
    {
        echo "-- Silence --&lt;br /&gt;";
    }

}

class Squeak implements quackBehavior
{

    public function quack()
    {
        echo 'Squeak&lt;br /&gt;';
    }

}

//Now run a test
$mallard = new MallardDuck();
$mallard-&gt;performQuack();
$mallard-&gt;performFly();

//test the model duck
$modelduck = new ModelDuck();
$modelduck-&gt;performQuack();
$modelduck-&gt;performFly();</pre>
<hr />
<p>I must say I really like this example.  Its basic OO principles, which I definitely understood before, but using this kind of model and then implementing it is a very good way to cement the concepts in your brain.  The idea of pulling out behaviors into separate classes adds a lot of flexibility and yet doesn&#8217;t require the countless lines of duplicate code that will happen if you do this incorrectly.</p>
<p>In translating this I also found a good use of private methods in PHP.  Since PHP doesn&#8217;t allow typecasting  in the variable declarations, you can just make the variables private, and then use a public/protected setter method that forces the variable to be a certain type.  I&#8217;m going to implement this from now on.</p>
<p><strong>The above is called the &#8220;STRATEGY PATTERN&#8221;. </strong>It &#8220;Lets the algorithm vary independently from clients that use it&#8221; (p. 24).</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://mattgarrett.org/blog/introducing-mr-and-mrs-design-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting my head in the game</title>
		<link>http://mattgarrett.org/blog/getting-my-head-in-the-game/</link>
		<comments>http://mattgarrett.org/blog/getting-my-head-in-the-game/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 21:46:24 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Head First Design Patterns]]></category>

		<guid isPermaLink="false">http://mattgarrett.org/?p=111</guid>
		<description><![CDATA[So I just got a copy of Head First Design Patterns, an O&#8217;reilly book by Eric &#38; Elisabeth Freeman (and apparently Kathy Sierra and Bert Bates). As I&#8217;m looking at this thing I&#8217;m actually quite excited to read it. I&#8217;ve had a pretty basic grasp of design patterns over the years (and made some minimal [...]]]></description>
			<content:encoded><![CDATA[<p>So I just got a copy of <span style="text-decoration: underline;"><a href="http://amzn.com/0596007124">Head First Design Patterns</a></span>, an O&#8217;reilly book by Eric &amp; Elisabeth Freeman (and apparently Kathy Sierra and Bert Bates).  As I&#8217;m looking at this thing I&#8217;m actually quite excited to read it.  I&#8217;ve had a pretty basic grasp of design patterns over the years (and made some minimal use of the factory pattern).  The time has come, however, to firm up that knowledge and get comfortable with it.</p>
<p>SO, in an effort to keep myself motivated I&#8217;m going to blog about it as I go (maybe this will turn me into a blogger&#8230;doubtful).  <span id="more-111"></span>For some background, I&#8217;ve been developing heavily with PHP since 2003.  Almost all of my work is database driven (at least anything large enough to take note of), and I do everything as OO as possible.  I&#8217;m in the process of re-learning Symfony, whole-heartedly embracing git, and tweaking everything little thing I do to make it better.  That all being said, I don&#8217;t consider myself a PHP God&#8230;.more of a guy with a PHP fetish.  I love the language, love how its grown and morphed, etc.</p>
<p>Already, enough boring preamble.  On to the book review.</p>
<p><strong>Preamble</strong><br />
It looks like the writers have mostly Computer Science backgrounds, with a Java bias.  This should work well, as it will give me something to write about (applying all this crap to PHP).</p>
<p>From the TOC it looks like the major patterns focused on in the book are:</p>
<ul>
<li>The Observer Pattern</li>
<li>The Decorator Pattern</li>
<li>The Factory Pattern</li>
<li>The Singleton Pattern</li>
<li>The Command Pattern</li>
<li>The Adapter and Facade Patterns</li>
<li>The Template Method Pattern</li>
<li>The Iterator and Composite Patterns</li>
<li>The State Patterns</li>
<li>The Proxy Pattern</li>
<li>Compound Patterns</li>
</ul>
<p>First impressions?  Maybe I don&#8217;t know as many patterns as I thought.  First 4 patterns on this list I have a basic knowledge of.  The rest?  No clue.  Looking forward to this book even more now.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattgarrett.org/blog/getting-my-head-in-the-game/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How service draws us closer to the Lord</title>
		<link>http://mattgarrett.org/blog/how-service-can-bring-us-closer-to-the-lord/</link>
		<comments>http://mattgarrett.org/blog/how-service-can-bring-us-closer-to-the-lord/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 03:46:43 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[LDS]]></category>

		<guid isPermaLink="false">http://mattgarrett.org/?p=87</guid>
		<description><![CDATA[In a BYU devotional in September 2009 President Monson gave a wonderful talk entitled &#8220;principles from prophets&#8221;.  During the talk, he recounted the following story: President McKay was a man of many attributes, but one which stands out is that of consideration. He was always considerate of others. Let me illustrate. I was in his office [...]]]></description>
			<content:encoded><![CDATA[<p>In a BYU devotional in September 2009 President Monson gave a wonderful talk entitled &#8220;principles from prophets&#8221;.  During the talk, he recounted the following story:</p>
<blockquote><p>President McKay was a man of many attributes, but one which stands out is that of consideration. He was always considerate of others. Let me illustrate. I was in his office on one occasion prior to my call to the Twelve. I did the printing of his books, as I did for many of the other Brethren. On that particular occasion I noticed a painting on the wall, and I said to him, “President McKay, that’s a lovely painting. Is it a rendition of your childhood home in Huntsville, Utah?”<span id="more-87"></span></p>
<p>President McKay sat back in his chair, gave a familiar David O. McKay chuckle, and said, “Let me tell you about that picture. A sweet woman came in to see me one day and presented to me that beautiful painting, framed and ready to be placed on the wall. She said,`President McKay, I have spent the entire summer painting this picture of your ancestral home.’” He said he thanked her profusely and accepted the gift.</p>
<p>“Do you know, Brother Monson,” he continued, “that sweet woman painted the wrong house. She painted the house next door! I didn’t have the heart to tell her. She may come back, so that’s why it’s hanging on the wall.” But then he made this comment, and here is a vital lesson or us. He said, “In reality, Brother Monson, she painted the right house, because when, as a young boy, I would lie on the bed which was on the front porch of my ancestral home, the view I had through that screened porch was of the very house she painted. She did paint the right house for me.” (BYU Devotional, September 15, 2009)</p></blockquote>
<p>This sister was an example of service, which is the focus of my talk today.</p>
<p>One of the greatest examples of service that we read of in the scriptures can be found in the story of Ammon.  Ammon is one of my all-time heroes of the Book of Mormon (as you can probably tell by the fact that we named our firstborn after him).  Here we read of a man, the son of Mosiah (and chief among the sons), who bolstered his faith with his brothers and journeyed into the land of the Lamanites, enemy territory, to preach the word of God.  As Ammon entered the land of Ishamel, he was taken captive by the Lamanites, and brought before the king of the land, most likely to be slain or imprisoned. The king, in a moment of mercy, asked Ammon if he wished to dwell among the Lamanites.</p>
<p>Ammon&#8217;s response begins:</p>
<blockquote><p>&#8220;&#8230;Yea, I desire to dwell among this people for a time; yea, and perhaps until the day I die.</p>
<p>And it came to pass that king Lamoni was much pleased with Ammon, and caused that his bands should be loosed; and he would that Ammon should take one of his daughters to wife.</p>
<p>But Ammon said unto him: Nay, but I will be thy servant. Therefore Ammon became a servant to king Lamoni. And it came to pass that he was set among other servants to watch the flocks of Lamoni, according to the custom of the Lamanites.&#8221; (<a href="http://scriptures.lds.org/en/alma/17/#23">Alma 17: 23-25)</a></p></blockquote>
<p>So here Ammon, after being tempted of the king, holds resolute to his mission and offers to serve the king.  One might say, &#8220;Well, he might have done it just so he wouldn&#8217;t have to get married.&#8221;  However, Ammon quickly proves his loyalty and his desire to serve God. Three days later he was in the fields tending the kings flocks.  As they were herding the flocks towards the local pool, they ran into a snag:</p>
<blockquote>
<div id="alma/17/27">&#8220;Therefore, as Ammon and the servants of the king were driving forth their flocks to this place of water, behold, a certain number of the Lamanites, who had been with their flocks to water, stood and scattered the flocks of Ammon and the servants of the king, and they scattered them insomuch that they fled many ways.</div>
<p>Now the servants of the king began to murmur, saying: Now the king will slay us, as he has our brethren because their flocks were scattered by the wickedness of these men. And they began to weep exceedingly, saying: Behold, our flocks are scattered already.</p>
<p>Now they wept because of the fear of being slain. Now when Ammon saw this his heart was swollen within him with joy; for, said he, I will show forth my power unto these my fellow-servants, or the power which is in me, in restoring these flocks unto the king, that I may win the hearts of these my fellow-servants, that I may lead them to believe in my words.</p>
<p>And now, these were the thoughts of Ammon, when he saw the afflictions of those whom he termed to be his brethren.&#8221; (<a href="http://scriptures.lds.org/en/alma/17/#17">Alma 17:17-30</a>)</p></blockquote>
<p>I love this part.  Here he is, only three days on the job, working in an enemy land, and along comes the local street gang.  All the servants with Ammon start to ball; they know they are pretty much doomed no matter what they do.  On the one hand, they could defend the flock and (they feared) lose their lives.  On the other, they could flee, anger the king, and face a capitol punishment.  It was not a happy situations for these servants to be in.   But Ammon, full of the zest and zeal that comes with Christ-like  service, was excited.  Notice the difference in feelings: the servants &#8220;wept because of the fear of being slain&#8221;, while Ammon, at the same moment and the same situation, felt that &#8220;his heart was swollen within him with joy&#8221;, because he saw an opportunity to &#8220;lead them to believe in my words&#8221;.</p>
<p>In the interest of time I&#8217;m going to leave out the juicy parts of the ensuing fight.  Needless to say Ammon stood strong, defeated the evil-doers, and made a heck of an impression upon the king.  So strong an impression, in fact, that the king ended up opening his heart to the gospel, which was the gateway into thousands of conversions in the lands of the Lamanites.</p>
<p>This story of Ammon is a fantastic example of how service helps us draw near unto Christ.  When we resist the temptation to serve ourselves (as Ammon did when denying the marriage to the king&#8217;s daughter), we in turn serve others.  As we serve others, we serve Christ.  In Matthew 25, the savior taught the following:</p>
<blockquote>
<div id="_mcePaste">&#8220;For I was an hungred, and ye gave me meat: I was thirsty, and ye gave me drink: I was a stranger, and ye took me in:</div>
<div id="_mcePaste">Naked, and ye clothed me: I was sick, and ye visited me: I was in prison, and ye came unto me.</div>
<div id="_mcePaste">Then shall the righteous answer him, saying, Lord, when saw we thee an hungred, and fed thee? or thirsty, and gave thee drink?</div>
<div id="_mcePaste">When saw we thee a stranger, and took thee in? or naked, and clothed thee?</div>
<div id="_mcePaste">Or when saw we thee sick, or in prison, and came unto thee?</div>
<div id="_mcePaste">And the King shall answer and say unto them, Verily I say unto you, Inasmuch as ye have done it unto one of the least of these my brethren, ye have done it unto me.&#8221; (<a href="http://scriptures.lds.org/en/matt/25/#25">Matt. 25:35-50</a>)</div>
</blockquote>
<p>What a marvelous lesson our savior teaches here!  When we serve others, we serve Christ.  When someone is thirsty and we give them a drink, we are giving a drink to the Savior of mankind.  When someone is naked and we clothe them, we are clothing the King of Kings.  When we visit someone who is sick or imprisoned, we are visiting the Prince of Peace.  Think about this the next time you are given the opportunity to serve others.  Mosiah 2:17 summarize this great principle as &#8221; &#8230; when ye are in the bservice of your cfellow beings ye are only in the service of your God.&#8221;</p>
<p>We have an incredible opportunity to draw near unto Christ with each service opportunity.  The next time a member of your ward is sick or moving, the next time a family member looses their job, the next time a neighbor experiences a heartache or some other set back in life, ask yourself, &#8220;How can I serve them&#8221;.  This summer our Elder&#8217;s Quorum has had the opportunity to move many families in the ward, in and out.  At each of those moves, faithful brethren of our ward appeared and helped someone in need.  They were serving Christ.  We believe the scriptures are true, and we believe the words of the Savior&#8230;when we serve others, we serve Him.</p>
<p>Moses 5:13 states,</p>
<blockquote><p>&#8220;For how knoweth a man the master whom he has not served, and who is a stranger unto him, and is far from the thoughts and intents of his heart?&#8221;.</p></blockquote>
<p>Several years ago while I was serving my mission in South America, we were given a referral from a member of the ward.  She had a neighbor who she thought might appreciate an appearance from the missionaries.  As we walked to her house the following day, we came upon something unexpected.  The house was not there.  It was not that we had the wrong address, but that the house had burnt down, apparently the night before we arrived.  The family who we were hoping to meet was nowhere to be found, and no one in the area knew anything about what happened to them.  A week or two passed and we had basically put them out of our mind, when, while tracting a neighborhood, we were greeted at the door by a pleasant individual.  &#8221;Hold on&#8221;, she told us, &#8220;there is someone here you might be able to help.&#8221;  A woman in her thirties appeared at the door while several kids were running around in the back room.  &#8221;My friend told me about you&#8221;, she started, &#8220;my house recently was burned, so we&#8217;re staying here with a friend.&#8221;  After further discussion we arranged for her to meet with the bishop of the ward.</p>
<p>The bishop in that area was a model bishop, always keen to follow the paths the spirit laid out for him.  Under his direction, the ward organized a several-week service project in which they rebuilt this family&#8217;s house.  Those who had experience with cement and laying brick worked on the foundation and the walls.  Those with strong backs dug a well.  Those with electrical and plumbing knowledge fixed up the interior.  The Relief Society provided both the family and the workers with a constant stream of food and nourishment.  Through fast offering contributions, the ward was able to assist with purchasing the material for the project.  In a relatively short amount of time that house was rebuilt, and the family had a new lease on life.  They had seen the power and effect of Christ-like service firsthand.  It was not long before the entire family joined themselves to the Church.</p>
<p>I learned from this experience two other very important aspects of service.  First, when we serve others, not only do we draw closer to Christ, but we help them do the same.  And second, we are not in this alone; inviting others to assist us in service only increases the blessings.</p>
<p>Ecclesiastes 4:9 reads:</p>
<blockquote><p>Two are better than one; because they have a good reward  for their labour.<br />
For if they fall, the one will lift up his fellow: but woe  to him that is alone when he falleth; for he hath not another to help him  up.</p></blockquote>
<p>While I am definitely not the perfect example of service, I have been greatly blessed by it in my life.  From callings in the ward to priesthood responsibilities, from helping a neighbor mow their lawn to comforting someone at the loss of a family member, I have felt the Spirit of God in service.  The Savior was the perfect example of services throughout his life.  As we strive to serve others, we strive to be like him and draw closer to him.  I witness to  you that I know that as I follow my Savior&#8217;s example throughout my life, I am happiest, and have the most peace of mind.  May we all draw closer to Him is my humble prayer.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattgarrett.org/blog/how-service-can-bring-us-closer-to-the-lord/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>datetime</title>
		<link>http://mattgarrett.org/blog/datetime/</link>
		<comments>http://mattgarrett.org/blog/datetime/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 16:59:58 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://mattgarrett.org/?p=59</guid>
		<description><![CDATA[A nice article on using the datetime class in PHP as opposed to the straight date function: http://ditio.net/2008/06/03/php-datetime-and-datetimezone-tutorial/]]></description>
			<content:encoded><![CDATA[<p>A nice article on using the datetime class in PHP as opposed to the straight date function:<br />
<a href="http://ditio.net/2008/06/03/php-datetime-and-datetimezone-tutorial/">http://ditio.net/2008/06/03/php-datetime-and-datetimezone-tutorial/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mattgarrett.org/blog/datetime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Buddy &#8211; a phpmyadmin replacement</title>
		<link>http://mattgarrett.org/blog/sql-buddy-a-phpmyadmin-replacement/</link>
		<comments>http://mattgarrett.org/blog/sql-buddy-a-phpmyadmin-replacement/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 02:04:38 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mattgarrett.org/?p=57</guid>
		<description><![CDATA[I haven&#8217;t even tried it yet, but ANYTHING has to better than phpmyadmin. That app is as antiquated and full of security holes as it gets. And yet it still is standard w/ LAMP installs and most webhosts (including this one). http://www.sqlbuddy.com/ Follow up: After trying this out I have to say I am not [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t even tried it yet, but ANYTHING has to better than phpmyadmin.  That app is as antiquated and full of security holes as it gets.  And yet it still is standard w/ LAMP installs and most webhosts (including this one).</p>
<p><a href="http://www.sqlbuddy.com/">http://www.sqlbuddy.com/</a></p>
<p><em>Follow up:</em> After trying this out I have to say I am not impressed.  It looks very nice (which is something phpmyadmin suffers from), but functionality wise it throws user-friendly design out the window.  It was buggy when I tried it.  I&#8217;ll suffer w/ phpmyadmin when I&#8217;m forced to use it, and use sequelpro/sqlyog whenever possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattgarrett.org/blog/sql-buddy-a-phpmyadmin-replacement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unit testing</title>
		<link>http://mattgarrett.org/blog/unit-testing/</link>
		<comments>http://mattgarrett.org/blog/unit-testing/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 13:35:38 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://mattgarrett.org/?p=53</guid>
		<description><![CDATA[See the below for an intro to using phpunit (granted this is a bit old and out of date, but it gets the point across). Testing PHP Applications with PHPUnit 3 View more presentations from Sebastian Bergmann.]]></description>
			<content:encoded><![CDATA[<div id="__ss_8227" style="width: 425px;">See the below for an intro to using phpunit (granted this is a bit old and out of date, but it gets the point across).</div>
<div style="width: 425px;"><strong><a title="Testing PHP Applications with PHPUnit 3" href="http://www.slideshare.net/sebastian_bergmann/testing-php-applications-with-phpunit-3-8227">Testing PHP Applications with PHPUnit 3</a></strong><object id="__sse8227" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="625" height="555" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=testing-php-applications-with-phpunit-3-8227-14671&amp;stripped_title=testing-php-applications-with-phpunit-3-8227" /><param name="name" value="__sse8227" /><param name="allowfullscreen" value="true" /><embed id="__sse8227" type="application/x-shockwave-flash" width="625" height="555" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=testing-php-applications-with-phpunit-3-8227-14671&amp;stripped_title=testing-php-applications-with-phpunit-3-8227" name="__sse8227" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<div id="__ss_8227" style="width: 425px;">
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/sebastian_bergmann">Sebastian Bergmann</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://mattgarrett.org/blog/unit-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Textmate = awesome</title>
		<link>http://mattgarrett.org/blog/textmate-awesome/</link>
		<comments>http://mattgarrett.org/blog/textmate-awesome/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 21:57:59 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mattgarrett.org/?p=50</guid>
		<description><![CDATA[I&#8217;ve begun using textmate more regularly lately, for all my HTML, CSS, and now some PHP edits (though I still prefer netbeans for PHP). My increase is due largely to the following article: Resources &#8211; 16 Of The Best Textmate Plugins, Bundles &#38; Themes And from that the following bundles: minimal design html minimal design [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve begun using textmate more regularly lately, for all my HTML, CSS, and now some PHP edits (though I still prefer netbeans for PHP).  My increase is due largely to the following article:<br />
<a href="http://thinkdesignblog.com/resources-16-of-the-best-plugins-bundles-themes-to-make-textmate-hyper-productive.htm">Resources &#8211; 16 Of The Best Textmate Plugins, Bundles &amp; Themes</a></p>
<p>And from that the following bundles:</p>
<ul>
<li><a href="http://minimaldesign.net/downloads/tools/textmate-html-bundle">minimal design html</a></li>
<li><a href="http://minimaldesign.net/downloads/tools/textmate-css-bundle">minimal design css </a>(for both of these, see <a href="http://minimaldesign.net/uploads/screencasts/html_css_textmate_bundles.mov">an introductory how-to-use video here</a>).</li>
<li><a href="http://github.com/kswedberg/jquery-tmbundle">jquery bundle</a> (still getting used to this bundle)</li>
<li><a href="http://github.com/Gipetto/wordpress.tmbundle">wordpress bundl</a>e (just now trying this bundle)</li>
</ul>
<p>Its the fastest development tool I&#8217;ve ever used&#8230;I look forward to working in it every day!</p>
]]></content:encoded>
			<wfw:commentRss>http://mattgarrett.org/blog/textmate-awesome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://minimaldesign.net/uploads/screencasts/html_css_textmate_bundles.mov" length="29878237" type="video/quicktime" />
		</item>
		<item>
		<title>Easter actions</title>
		<link>http://mattgarrett.org/blog/easter-actions/</link>
		<comments>http://mattgarrett.org/blog/easter-actions/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 03:07:33 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Family]]></category>

		<guid isPermaLink="false">http://mattgarrett.org/?p=45</guid>
		<description><![CDATA[Grandma hid easter eggs throughout the yards, and in some was a slip a paper with instructions on what the grandkids could do to earn a special treat.  Here is what they did.]]></description>
			<content:encoded><![CDATA[<p>Grandma hid easter eggs throughout the yards, and in some was a slip a paper with instructions on what the grandkids could do to earn a special treat.  Here is what they did.</p>
<p id="preview">
<p><script src="/swfobject.js" type="text/javascript"></script> <script type="text/javascript">// <![CDATA[
var s1 = new SWFObject('/player.swf','player','400','300','9');
s1.addParam('allowfullscreen','true');
s1.addParam('allowscriptaccess','always');
s1.addParam('flashvars','file=/wp-content/uploads/2010/04/easter2010.flv');
s1.write('preview');
// ]]&gt;</script></p>
]]></content:encoded>
			<wfw:commentRss>http://mattgarrett.org/blog/easter-actions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

