<?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/"
	xmlns:series="http://organizeseries.com/"
	>

<channel>
	<title>BrandonSavage.net</title>
	<atom:link href="http://www.brandonsavage.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brandonsavage.net</link>
	<description>The personal blog of Brandon Savage. Contains entries of a personal and professional nature focusing on PHP, Apple, LAMP, MySQL and Washington, DC.</description>
	<lastBuildDate>Thu, 23 May 2013 20:22:30 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.2-alpha</generator>
		<item>
		<title>Code complexity and clean code</title>
		<link>http://www.brandonsavage.net/code-complexity-and-clean-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=code-complexity-and-clean-code</link>
		<comments>http://www.brandonsavage.net/code-complexity-and-clean-code/#comments</comments>
		<pubDate>Wed, 22 May 2013 11:00:04 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Clean Code]]></category>
		<category><![CDATA[Object-Oriented Development]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2472</guid>
		<description><![CDATA[Many people wonder how they can improve the overall readability and cleanliness of their code. It seems impossible to understand exactly how to rewrite code in such a way that makes it clean, easy to understand and simple to work with. But clean code is about a few simple principles, one of which is reducing [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/code-complexity-and-clean-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dealing with duplicated code</title>
		<link>http://www.brandonsavage.net/dealing-with-duplicated-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dealing-with-duplicated-code</link>
		<comments>http://www.brandonsavage.net/dealing-with-duplicated-code/#comments</comments>
		<pubDate>Wed, 15 May 2013 11:00:31 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Object-Oriented Development]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP 5]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2460</guid>
		<description><![CDATA[We&#8217;ve all seen it: we&#8217;re working along, and we come across code that just has a feel to it. It&#8217;s like déjà vu. You&#8217;ve seen this code before. You open another file &#8211; sure enough, there it is. The same code. Almost line for line. In large code bases, it&#8217;s likely that there are dozens [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/dealing-with-duplicated-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiling PHP 5.5 From Scratch</title>
		<link>http://www.brandonsavage.net/compiling-php-5-5-from-scratch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=compiling-php-5-5-from-scratch</link>
		<comments>http://www.brandonsavage.net/compiling-php-5-5-from-scratch/#comments</comments>
		<pubDate>Mon, 13 May 2013 11:00:06 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2450</guid>
		<description><![CDATA[There&#8217;s always a lag behind new releases of PHP and releases of packages for operating systems such as Ubuntu. This lag time means that you could be kept from upgrading to the latest and greatest PHP for a year or more, unless you use an outside repository like Dotdeb. Of course, even when using one [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/compiling-php-5-5-from-scratch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Making better object oriented design decisions</title>
		<link>http://www.brandonsavage.net/making-better-object-oriented-design-decisions/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=making-better-object-oriented-design-decisions</link>
		<comments>http://www.brandonsavage.net/making-better-object-oriented-design-decisions/#comments</comments>
		<pubDate>Fri, 10 May 2013 11:00:36 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Object-Oriented Development]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP 5]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2443</guid>
		<description><![CDATA[Last week I finished up the first section of The Object Oriented PHP Masterclass. The class was great, and I learned about as much from my students as they learned from me. One of the most common questions I got from my students was &#8220;how do I make decisions about how to design my object [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/making-better-object-oriented-design-decisions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Avoiding object oriented overkill</title>
		<link>http://www.brandonsavage.net/avoiding-object-oriented-overkill/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=avoiding-object-oriented-overkill</link>
		<comments>http://www.brandonsavage.net/avoiding-object-oriented-overkill/#comments</comments>
		<pubDate>Wed, 01 May 2013 11:00:50 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Object-Oriented Development]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP 5]]></category>
		<category><![CDATA[Refactoring]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2434</guid>
		<description><![CDATA[In the second live session of my object oriented design class, The Object Oriented PHP Masterclass, I show my students domain modeling, both with slides and with a live coding demonstration. In my demonstration, I show them how I break the single model they&#8217;ve been using into three component parts: a value object, a data [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/avoiding-object-oriented-overkill/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Does your code keep you drowning in technical debt?</title>
		<link>http://www.brandonsavage.net/does-your-code-keep-you-drowning-in-technical-debt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=does-your-code-keep-you-drowning-in-technical-debt</link>
		<comments>http://www.brandonsavage.net/does-your-code-keep-you-drowning-in-technical-debt/#comments</comments>
		<pubDate>Tue, 23 Apr 2013 11:00:39 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Clean Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Refactoring]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2426</guid>
		<description><![CDATA[All of us would prefer to work on code that we love. And all of us are faced with code code that we feel&#8230;well, not so warm and fuzzy about. Its the nature of our business. Legacy code is everywhere. From code that&#8217;s just been around a long time to code that was rushed to [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/does-your-code-keep-you-drowning-in-technical-debt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When you die, will it matter?</title>
		<link>http://www.brandonsavage.net/when-you-die-will-it-matter/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=when-you-die-will-it-matter</link>
		<comments>http://www.brandonsavage.net/when-you-die-will-it-matter/#comments</comments>
		<pubDate>Fri, 19 Apr 2013 11:00:46 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Friday Inspirations]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2422</guid>
		<description><![CDATA[All around the world, millions of developers trudge to their jobs. They sit in bland cubicles, dealing with pointy-haired bosses who don&#8217;t get them, and working on projects, some of which never see the light of day. It&#8217;s a meager existence, and they long to do something else. They&#8217;re working for the weekend. I used [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/when-you-die-will-it-matter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Are we missing out on true learning opportunities?</title>
		<link>http://www.brandonsavage.net/are-we-missing-out-on-true-learning-opportunities/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=are-we-missing-out-on-true-learning-opportunities</link>
		<comments>http://www.brandonsavage.net/are-we-missing-out-on-true-learning-opportunities/#comments</comments>
		<pubDate>Fri, 05 Apr 2013 11:00:22 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Learning]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2366</guid>
		<description><![CDATA[&#8220;Using singletons is bad. Don&#8217;t do it, ever.&#8221; &#8220;Don&#8217;t micro optimize your code! It&#8217;s pointless!&#8221; &#8220;Don&#8217;t worry about performance until you have performance problems.&#8221; &#8220;100% code coverage is necessary for your unit tests.&#8221; &#8220;No optimization without benchmarking first!&#8221; We&#8217;ve all said these things at some time or another to a junior developer that we were [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/are-we-missing-out-on-true-learning-opportunities/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Making Your App Infintely More Testable</title>
		<link>http://www.brandonsavage.net/making-your-app-infintely-more-testable/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=making-your-app-infintely-more-testable</link>
		<comments>http://www.brandonsavage.net/making-your-app-infintely-more-testable/#comments</comments>
		<pubDate>Thu, 04 Apr 2013 12:00:59 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Object-Oriented Development]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2388</guid>
		<description><![CDATA[You&#8217;re writing a PHP application. You know you need to write tests. Tests aren&#8217;t something that comes naturally to you yet; you&#8217;re still working on learning the ins and outs of PHPUnit (the default standard framework). But you know that right now, your app isn&#8217;t testable. What can you do to make it testable? The [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/making-your-app-infintely-more-testable/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Where do you find time to fix bad code?</title>
		<link>http://www.brandonsavage.net/where-do-you-find-time-to-fix-bad-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=where-do-you-find-time-to-fix-bad-code</link>
		<comments>http://www.brandonsavage.net/where-do-you-find-time-to-fix-bad-code/#comments</comments>
		<pubDate>Tue, 02 Apr 2013 11:00:54 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Clean Code]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2377</guid>
		<description><![CDATA[Bad code. You&#8217;re stuck with it. Lots of it. Over time, one small hack has led to many. Before you know it the technical debt in your application is stacked to the ceiling. It&#8217;s hard to make heads or tails out of things. How can you fix it? What can you do? Over the past [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/where-do-you-find-time-to-fix-bad-code/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>What are your most challenging object oriented progrmming questions?</title>
		<link>http://www.brandonsavage.net/what-are-your-most-challenging-object-oriented-progrmming-questions/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=what-are-your-most-challenging-object-oriented-progrmming-questions</link>
		<comments>http://www.brandonsavage.net/what-are-your-most-challenging-object-oriented-progrmming-questions/#comments</comments>
		<pubDate>Fri, 29 Mar 2013 11:00:11 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Learning]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2349</guid>
		<description><![CDATA[You&#8217;ve been learning object oriented programming. But there are certain things you don&#8217;t grasp. No matter what, you have questions that you can&#8217;t answer. Wouldn&#8217;t it be great if you could ask someone directly? You&#8217;re in luck! The Object Oriented Programming Office Hours On Saturday, April 6th from 1 pm to 2 pm Eastern I&#8217;ll [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/what-are-your-most-challenging-object-oriented-progrmming-questions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Are You Leaving Money On The Table?</title>
		<link>http://www.brandonsavage.net/are-you-leaving-money-on-the-table/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=are-you-leaving-money-on-the-table</link>
		<comments>http://www.brandonsavage.net/are-you-leaving-money-on-the-table/#comments</comments>
		<pubDate>Thu, 28 Mar 2013 11:00:07 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Learning]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2345</guid>
		<description><![CDATA[I know most developers like you love to learn new things. They thrive on conquering new challenges and learning new techniques. Many people learn new languages just for the challenge. After all, why would anyone ever write a Brainfuck interpreter in the first place? Many of us receive our training through our employers. We expect [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/are-you-leaving-money-on-the-table/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Other $11,000 &#8211; What Happens When Launch Day Is Over?</title>
		<link>http://www.brandonsavage.net/the-other-11000-what-happens-when-launch-day-is-over/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-other-11000-what-happens-when-launch-day-is-over</link>
		<comments>http://www.brandonsavage.net/the-other-11000-what-happens-when-launch-day-is-over/#comments</comments>
		<pubDate>Wed, 27 Mar 2013 23:09:17 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Business Management]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2341</guid>
		<description><![CDATA[You&#8217;ve worked hard. You&#8217;re ready. Your product is awesome. You&#8217;re geared up. It&#8217;s time. You launch. You check your email. The first order comes in. Then the next. Pretty soon it&#8217;s a flood. You beat your single day goal. You beat your strech goal. This is awesome! You&#8217;re excited. You go out to dinner, order [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/the-other-11000-what-happens-when-launch-day-is-over/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Abstraction In The Real World</title>
		<link>http://www.brandonsavage.net/abstraction-in-the-real-world/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=abstraction-in-the-real-world</link>
		<comments>http://www.brandonsavage.net/abstraction-in-the-real-world/#comments</comments>
		<pubDate>Mon, 25 Mar 2013 12:30:05 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Object-Oriented Development]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2320</guid>
		<description><![CDATA[Abstraction is one of the subjects in software development that&#8217;s really difficult to fully grasp without practice. It&#8217;s easy to read about it, talk about it, and profess doing it. To actually do it is another thing entirely: it requires practice, and patience, and experimentation. I decided the best way to show abstraction in action [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/abstraction-in-the-real-world/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Really, Always Return Something</title>
		<link>http://www.brandonsavage.net/really-always-return-something/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=really-always-return-something</link>
		<comments>http://www.brandonsavage.net/really-always-return-something/#comments</comments>
		<pubDate>Wed, 20 Mar 2013 11:00:39 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=2304</guid>
		<description><![CDATA[Writers who write professionally (for the media or in a book) often get the benefit of having an editor who will tell them when they’re wrong. For bloggers, our &#8220;editorial staff&#8221; is often the readers of our works. When enough people tell you that you’re wrong, it’s worth listening. Last week was one of those [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/really-always-return-something/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: enhanced (User agent is rejected)
Object Caching 1130/1237 objects using apc
Content Delivery Network via Amazon Web Services: S3: brandonsavage-net-files.s3.amazonaws.com

 Served from: www.brandonsavage.net @ 2013-05-25 16:03:07 by W3 Total Cache -->