<?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://unfoldingneurons.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>Tue, 08 May 2012 19:36:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Book Review: &#8220;The Grumpy Programmer&#8217;s Guide To Building Testable Applications&#8221;</title>
		<link>http://www.brandonsavage.net/book-review-the-grumpy-programmers-guide-to-building-testable-applications/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=book-review-the-grumpy-programmers-guide-to-building-testable-applications</link>
		<comments>http://www.brandonsavage.net/book-review-the-grumpy-programmers-guide-to-building-testable-applications/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 11:00:33 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[application development]]></category>
		<category><![CDATA[application testing]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHPUnit]]></category>
		<category><![CDATA[quality assurance]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[test driven development]]></category>
		<category><![CDATA[testable application]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[testing web applications]]></category>
		<category><![CDATA[unit testing]]></category>
		<category><![CDATA[writing tests]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1595</guid>
		<description><![CDATA[When most developers think about books on testing, they think about books that highlight things like &#8220;test driven development&#8221; or &#8220;how to build a test for X.&#8221; There are lots and lots of testing books out there that supposedly teach us how to write tests and reach milestones like &#8220;100% test coverage.&#8221; But at the [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/book-review-the-grumpy-programmers-guide-to-building-testable-applications/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>And The Winners Are&#8230;</title>
		<link>http://www.brandonsavage.net/and-the-winners-are/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=and-the-winners-are</link>
		<comments>http://www.brandonsavage.net/and-the-winners-are/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 20:25:27 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[givaway]]></category>
		<category><![CDATA[playbook]]></category>
		<category><![CDATA[win]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1603</guid>
		<description><![CDATA[Yesterday afternoon I used a random number generator to select three winners for The PHP Playbook. I&#8217;m excited to announce that the winners of the PHP Playbook are: Péter Halász of the United Kingdom Ashar Javed of Germany Tomasz Kowalczyk of Poland All three winners were excited to be told they had won. Tomasz said [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/and-the-winners-are/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#8217;s About The Customer, Stupid</title>
		<link>http://www.brandonsavage.net/its-about-the-customer-stupid/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=its-about-the-customer-stupid</link>
		<comments>http://www.brandonsavage.net/its-about-the-customer-stupid/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 13:18:00 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[customers]]></category>
		<category><![CDATA[hacker news]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[problems]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[solutions]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1592</guid>
		<description><![CDATA[Another day, another article posted on Hacker News that describes PHP&#8217;s failures and complexities as though they actually mattered. The truth is, only programmers care about languages. Only programmers care about the methods, routines, algorithms and organization of programming languages. Only programmers argue about coding styles, whether white space or brackets is the best way [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/its-about-the-customer-stupid/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Last Chance To Win &#8220;The PHP Playbook&#8221;!</title>
		<link>http://www.brandonsavage.net/last-chance-to-win-the-php-playbook/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=last-chance-to-win-the-php-playbook</link>
		<comments>http://www.brandonsavage.net/last-chance-to-win-the-php-playbook/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 14:31:31 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[givaway]]></category>
		<category><![CDATA[playbook]]></category>
		<category><![CDATA[win]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1589</guid>
		<description><![CDATA[Back in March, I announced that I was giving away three copies of The PHP Playbook to three lucky winners. Since I&#8217;m selecting winners on April 15th, this is your last week to register to win your copy! Since not everyone can win, I&#8217;m also excited to announce that PHP Architect, the publisher of my [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/last-chance-to-win-the-php-playbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Book And Content Pricing</title>
		<link>http://www.brandonsavage.net/on-book-and-content-pricing/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=on-book-and-content-pricing</link>
		<comments>http://www.brandonsavage.net/on-book-and-content-pricing/#comments</comments>
		<pubDate>Wed, 04 Apr 2012 12:05:25 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Business Management]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[price fixing]]></category>
		<category><![CDATA[pricing]]></category>
		<category><![CDATA[production]]></category>
		<category><![CDATA[publishing]]></category>
		<category><![CDATA[strategy]]></category>
		<category><![CDATA[value]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1575</guid>
		<description><![CDATA[Yesterday, an (understandably) frustrated gentlemen tweeted a link saying the fact that my book&#8217;s print and ebook editions were priced the same, was &#8220;greed.&#8221; While this was a bit hyperbolic to be sure (and the price being identical was in fact a mistake that has now been corrected), it sparked a discussion about book pricing [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/on-book-and-content-pricing/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Rocking Your Job Interview</title>
		<link>http://www.brandonsavage.net/rocking-your-job-interview/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rocking-your-job-interview</link>
		<comments>http://www.brandonsavage.net/rocking-your-job-interview/#comments</comments>
		<pubDate>Wed, 21 Mar 2012 12:24:43 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Employment]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1557</guid>
		<description><![CDATA[One of the things about the PHP field is that developers are highly sought after, and good developers are prized. While anyone can slap &#8220;PHP Developer&#8221; on their resume, most companies have gotten good at weeding out the pretenders from the real deal. This means that for a highly qualified developer, interviewing should be an [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/rocking-your-job-interview/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>REST APIs as Data Backends</title>
		<link>http://www.brandonsavage.net/rest-apis-as-data-backends/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rest-apis-as-data-backends</link>
		<comments>http://www.brandonsavage.net/rest-apis-as-data-backends/#comments</comments>
		<pubDate>Mon, 19 Mar 2012 11:00:18 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Web Architecture]]></category>
		<category><![CDATA[abstraction]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[backend]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[layer]]></category>
		<category><![CDATA[rest]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1527</guid>
		<description><![CDATA[Some months ago, the Socorro team agreed that our current mix of REST API middleware calls and direct SQL calls from the web interface simply wasn&#8217;t meeting our needs. We were faced with an increasing number of data sources, including the coming addition of Elastic Search to the data storage system, and maintenance was becoming [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/rest-apis-as-data-backends/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>&#8220;PHP Playbook&#8221; Giveaway!</title>
		<link>http://www.brandonsavage.net/php-playbook-giveaway/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=php-playbook-giveaway</link>
		<comments>http://www.brandonsavage.net/php-playbook-giveaway/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 17:00:57 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[giveaway]]></category>
		<category><![CDATA[playbook]]></category>
		<category><![CDATA[win]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1518</guid>
		<description><![CDATA[When I started writing my book, I wanted to help PHP developers have a greater understanding of the tools, tips and tricks available when working as part of a team. That goal became The PHP Playbook. I&#8217;m excited that the book has been so well received, and I&#8217;m excited that I&#8217;ve finally received my promotional [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/php-playbook-giveaway/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An XSS Vulnerability In The Making</title>
		<link>http://www.brandonsavage.net/an-xss-vulerability-in-the-making/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=an-xss-vulerability-in-the-making</link>
		<comments>http://www.brandonsavage.net/an-xss-vulerability-in-the-making/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 12:00:19 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1510</guid>
		<description><![CDATA[Back in September, Socorro received a security bug relating to the method we were using for processing inputs for the duration of certain reports. The vulnerability included a proof of concept, with an alert box popping up on production when the link was followed. The Vulnerability I was quite surprised at the root cause of [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/an-xss-vulerability-in-the-making/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>How To Find The Right Job</title>
		<link>http://www.brandonsavage.net/fiding-the-right-job-harder-than-you-think/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fiding-the-right-job-harder-than-you-think</link>
		<comments>http://www.brandonsavage.net/fiding-the-right-job-harder-than-you-think/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 22:14:16 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Employment]]></category>
		<category><![CDATA[bad companies]]></category>
		<category><![CDATA[good companies]]></category>
		<category><![CDATA[job hunting]]></category>
		<category><![CDATA[php jobs]]></category>
		<category><![CDATA[resume]]></category>
		<category><![CDATA[the joel test]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1473</guid>
		<description><![CDATA[In my career as a software developer I&#8217;ve been lucky. I&#8217;ve been lucky that finding work has never been terribly difficult. The longest I&#8217;ve ever been out of work is a month and a half. Six weeks might seem like a long time, especially in software; in my case I was unfortunate enough to experience [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/fiding-the-right-job-harder-than-you-think/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The Mechanics Of Code</title>
		<link>http://www.brandonsavage.net/the-mechanics-of-code/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-mechanics-of-code</link>
		<comments>http://www.brandonsavage.net/the-mechanics-of-code/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 14:20:17 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[code as craft]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[mechanics]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[software mechanics]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1468</guid>
		<description><![CDATA[Since the dawn of programming, programmers have attempted to define their industry, often by using outside industries for comparison. This can be traced back to the fact that programming itself is unique: it&#8217;s unlike any field in existence. Most programmers hate being called &#8220;coders&#8221;: it seems pedestrian, somehow beneath what we do. Many times we [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/the-mechanics-of-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Rockville PHP Group</title>
		<link>http://www.brandonsavage.net/new-rockville-php-group/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=new-rockville-php-group</link>
		<comments>http://www.brandonsavage.net/new-rockville-php-group/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 14:57:18 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[maryland]]></category>
		<category><![CDATA[meetup]]></category>
		<category><![CDATA[moco]]></category>
		<category><![CDATA[montgomery county]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php meetup]]></category>
		<category><![CDATA[rockville]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1466</guid>
		<description><![CDATA[There are lots of active, vibrant developer groups in the DC area: DC PHP, Baltimore PHP, and the Frederick Web Tech group. The DC PHP Beverage Subgroup meets monthly in Northern Virginia. But in the middle between all these groups lies Montgomery County, Maryland. In that area live hundreds of developers who struggle to reach [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/new-rockville-php-group/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Excited About PHP Again</title>
		<link>http://www.brandonsavage.net/excited-about-php-again/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=excited-about-php-again</link>
		<comments>http://www.brandonsavage.net/excited-about-php-again/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 03:23:45 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[General PHP]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[5.3]]></category>
		<category><![CDATA[5.4]]></category>
		<category><![CDATA[foundations]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[purpose]]></category>
		<category><![CDATA[rasmus]]></category>
		<category><![CDATA[understanding]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1461</guid>
		<description><![CDATA[Ten months ago when I started at Mozilla, I began transitioning away from PHP and into Python and Django. This was inevitable: the Mozilla Webdev team favors Python over PHP in almost every webapp (Socorro is the critical exception). However, over time I had become disillusioned with the direction that PHP was taking. The project [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/excited-about-php-again/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Rethinking The Technical Resume</title>
		<link>http://www.brandonsavage.net/rethinking-the-technical-resume/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rethinking-the-technical-resume</link>
		<comments>http://www.brandonsavage.net/rethinking-the-technical-resume/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 00:10:00 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Employment]]></category>
		<category><![CDATA[curriculum vitae]]></category>
		<category><![CDATA[cv]]></category>
		<category><![CDATA[job hunt]]></category>
		<category><![CDATA[job interview]]></category>
		<category><![CDATA[job search]]></category>
		<category><![CDATA[job seeking]]></category>
		<category><![CDATA[new job]]></category>
		<category><![CDATA[resume]]></category>
		<category><![CDATA[technical recruiter]]></category>
		<category><![CDATA[technical resume]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1456</guid>
		<description><![CDATA[During my last job, I occasionally was invited to interview candidates for the web development team. Usually I&#8217;d receive a copy of their resume a few days beforehand with the instructions to review it, and I&#8217;d take a few minutes to read their resume and usually pop them into Google to take a look at [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/rethinking-the-technical-resume/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>We The State, Not We The People</title>
		<link>http://www.brandonsavage.net/we-the-state-not-we-the-people/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=we-the-state-not-we-the-people</link>
		<comments>http://www.brandonsavage.net/we-the-state-not-we-the-people/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 06:23:48 +0000</pubDate>
		<dc:creator>Brandon Savage</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1453</guid>
		<description><![CDATA[By now, most if not all of us have seen the graphic images from UC Davis, where students were pepper sprayed at point blank range by two officers of the campus police force. These images have become more and more commonplace in our society, which is quite sad. The news seems more and more consistently [...]]]></description>
		<wfw:commentRss>http://www.brandonsavage.net/we-the-state-not-we-the-people/feed/</wfw:commentRss>
		<slash:comments>0</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)
Database Caching 2/56 queries in 0.013 seconds using disk: basic
Object Caching 1213/1354 objects using apc
Content Delivery Network via Amazon Web Services: S3: files.brandonsavage.net.s3.amazonaws.com

Served from: www.brandonsavage.net @ 2012-05-17 01:32:40 -->
