<?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>DeShong.net &#187; Brian DeShong</title>
	<atom:link href="http://www.deshong.net/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.deshong.net</link>
	<description></description>
	<lastBuildDate>Sat, 28 Jan 2012 17:54:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-alpha-19719</generator>
		<item>
		<title>Technical New Year’s Resolutions: 2012</title>
		<link>http://www.deshong.net/2012/01/technical-new-years-resolutions-2012/</link>
		<comments>http://www.deshong.net/2012/01/technical-new-years-resolutions-2012/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 21:09:03 +0000</pubDate>
		<dc:creator>Brian DeShong</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[resolutions]]></category>
		<category><![CDATA[todoin2012]]></category>

		<guid isPermaLink="false">http://www.deshong.net/?p=769</guid>
		<description><![CDATA[<a href="http://www.deshong.net/2012/01/technical-new-years-resolutions-2012/" title="Technical New Year’s Resolutions: 2012"></a>I like to do this every year. It&#8217;s a reflect and reset-type of thing for me. Here&#8217;s what I accomplished from last year&#8217;s resolutions: Published another article in php&#124;architect magazine, SELECT * FROM Internet: An Introduction to the Yahoo! Query &#8230;<p class="read-more"><a href="http://www.deshong.net/2012/01/technical-new-years-resolutions-2012/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.deshong.net/2012/01/technical-new-years-resolutions-2012/" title="Technical New Year’s Resolutions: 2012"></a><p>
I like to do this every year.  It&#8217;s a reflect and reset-type of thing for me.  Here&#8217;s what I accomplished from <a href="http://www.deshong.net/2011/01/technical-new-years-resolutions-2011/">last year&#8217;s resolutions</a>:</p>
<ul>
<li>Published another article in <a href="http://www.phparch.com/">php|architect</a> magazine, <a href="http://www.phparch.com/magazine/2011-2/august/">SELECT * FROM Internet: An Introduction to the Yahoo! Query Language</a>.</li>
<li>Gave a talk on the same topic at <a href="http://atlantaphp.org/">Atlanta PHP</a> in February.</li>
<li>Continued to sharpen architecture and development skills.  I&#8217;ve done a fair amount of work with <a href="http://en.wikipedia.org/wiki/Test-driven_development">Test-driven Development</a> this year, which has definitely beefed up my more general design skills.</a>
<li>Built some <a href="http://itunes.apple.com/us/app/half-off-depot-merchant-connect/id467955957?mt=8">more</a> <a href="http://itunes.apple.com/us/app/half-off-depot-mobile/id469528521?mt=8">iOS</a> <a href="http://itunes.apple.com/us/app/floodwatch/id386505889?mt=8">apps</a>, both at work with <a href="http://halfoffdepot.com/">Half Off Depot</a> and some <a href="http://blog.d5gtech.com/">personal</a> projects.</li>
<li>Definitely have spent more time with PHP since my move to Half Off Depot.</li>
</ul>
<p>
I&#8217;ll keep it short.  This year, I want to:</p>
<ul>
<li><strong>Finally release <a href="http://floodwatchapp.com/">FloodWatch</a> for iPad and Mac</strong>.  I&#8217;ve already started the static library.  This should be done in the first half of the year.</li>
<li><strong>Gain a deeper knowledge of PHP 5.3 and 5.4 features</strong>, such as namespaces, closures, and traits.</li>
<li><strong>Beef up my front end development skills.</strong>  I&#8217;ve done front end work for months at a time, but never for a long period of time.  When I take on this kind of work, I enjoy it, but I want to do more of it in a focused manner.  Front end development skills have been my area of weakness for my entire career.  I&#8217;m a back end kind of guy.</li>
<li><strong>Refocus my technical leadership skills.</strong>  I&#8217;ve led a number of <a href="http://store.ovi.com/">large</a> <a href="https://www.turnerresources.com/">projects</a> during my career, and I&#8217;ll get to do more of that in 2012.  As a result, I look forward to really sharpening my technical leadership skills with respect to architecture, technical project management, and driving teams of incredibly talented developers.</li>
<li><strong>Get back on the conference circuit.</strong>  For real this time.</li>
<li><strong>Blog more.</strong>  I&#8217;ve started getting back to this recently.  I&#8217;m going to stick with it.</li>
</ul>
<p>
From where I sit, 2012 is going to be incredible.  2011 was great, but I&#8217;ve got my work cut out for me this year.  It&#8217;s going to be a wild ride.  See you around!
</p>
<p>
What are <em>you</em> going to do in 2012?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deshong.net/2012/01/technical-new-years-resolutions-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento for Big Kids: Use a Consistent Cache Key Prefix</title>
		<link>http://www.deshong.net/2011/12/magento-use-consistent-cache-key-prefix/</link>
		<comments>http://www.deshong.net/2011/12/magento-use-consistent-cache-key-prefix/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 04:18:29 +0000</pubDate>
		<dc:creator>Brian DeShong</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[half off depot]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.deshong.net/?p=725</guid>
		<description><![CDATA[<a href="http://www.deshong.net/2011/12/magento-use-consistent-cache-key-prefix/" title="Magento for Big Kids: Use a Consistent Cache Key Prefix"></a>This is the first in what I hope to be a multi-part series on using Magento.  I&#8217;ve been working with it since June to run one of our core sites at Half Off Depot. During these six months, we have: &#8230;<p class="read-more"><a href="http://www.deshong.net/2011/12/magento-use-consistent-cache-key-prefix/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.deshong.net/2011/12/magento-use-consistent-cache-key-prefix/" title="Magento for Big Kids: Use a Consistent Cache Key Prefix"></a><p>This is the first in what I hope to be a multi-part series on using Magento.  I&#8217;ve been working with it since June to run one of our core sites at Half Off Depot.</p>
<p>During these six months, we have:</p>
<ul>
<li><a href="http://www.weathersmedia.com/">Built</a> <a href="http://caseygipson.com/">an</a> <a href="http://scottrocher.com/">incredible</a> <a href="http://www.linkedin.com/profile/view?id=2834117">team</a>
<li>Had our application servers swap to disk and otherwise go belly up, on numerous occasions</li>
<li>Moved from FastCGI back to mod_php</li>
<li>Tuned Apache a bit to squeeze more out of our application servers</li>
<li>Moved from a single front end webserver to multiple</li>
<li>Introduced MySQL master-slave replication, when the slave actually in use &#8212; it&#8217;s not just a hot backup</li>
<li>Crafted a respectable Magento application deployment process using <a href="https://github.com/capistrano/capistrano/wiki/">Capistrano</a></li>
<li>Cranked out some basic Magento extensions</li>
<li>Run countless sales, built mobile apps, launched new web applications and a private API</li>
</ul>
<p>I don&#8217;t claim to be a Magento expert after only six months (far from it), but I / we have learned a lot during this time.</p>
<p>In this first post, I&#8217;m going to unveil a handy tip:</p>
<p><strong><em>Always use a consistent Magento cache key prefix.</em></strong></p>
<p>This can be done in your <code>app/etc/local.xml</code> file like so:</p>
<pre lang="PHP">&lt;cache&gt;
    ...
    &lt;prefix&gt;foo_&lt;/prefix&gt;
    ...
&lt;/cache&gt;</pre>
<p>Magento performs poorly out of the box.  The crux of this is that its database is based on an <a href="http://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model">Entity-Attribute-Value (EAV) data model</a>.  Using <a href="http://pecl.php.net/package/APC">APC</a> is basically a requirement if you do any reasonable amount of traffic, too.  Big red flags, right? Anyways&#8230;</p>
<p>It also uses an aggressive caching model for things like:</p>
<ul>
<li>Front end layout</li>
<li>Blocks of HTML used to render pages</li>
<li>Magento configuration data (because many core application config options are stored in the database)</li>
<li>Translation data</li>
<li>Full page cache</li>
<li>EAV types and attributes</li>
</ul>
<p>Because we run on multiple front end web servers, we have to have a centralized cache.  We use Memcached for this. For example, if someone alters a product in our admin tool, which purges the cache item, the refreshed cache item needs to be available to all front end web servers at the same time. An inconsistency between our front end servers is not acceptable. Hence, the centralized cache.</p>
<p>When using Memcached, Magento uses <code>Zend_Cache_Backend_TwoLevels</code> under the hood because it has to maintain a mapping of cache type to the cache keys that make up the data for that type of cache.  For example, you should be able to purge the layout or block cache without purging the entire set of cached data.  There&#8217;s no sort of partial cache purge out of the box possible with Memcached.  You either mark all items invalidated, or delete what you want to, one key at a time.  In our case, the mapping of cache type to its keys is stored in our MySQL database.  That&#8217;s not ideal, but&#8230;it is what it is for now.</p>
<p>But, here&#8217;s the catch: Magento / <code>Zend_Cache</code> prefixes all cache keys.  If you don&#8217;t define a cache key, Magento uses one that is formed with:</p>
<ol>
<li>Absolute path to your <code>app/etc/</code> directory</li>
<li>MD5 of this path string</li>
<li>First three characters of the MD5 hash value</li>
</ol>
<p>This makes all the sense in the world, right?  Maybe it does for some, but it doesn&#8217;t for us.  We run one web site driven by this single Magento instance.</p>
<p>But, we also have a deployment process centered around Capistrano.  What does this boil down to?</p>
<ol>
<li>Code releases are kept at <code>/foo/bar/site/releases/[YYYYMMDDHHIISS]</code> of when the code was deployed</li>
<li><code>/foo/bar/site/current</code> is a symlink to <code>/foo/bar/site/releases/[YYYYMMDDHHIISS]</code> of the most recent release</li>
</ol>
<p>So, as we deploy code, the absolute path to the <code>app/etc/</code> directory on disk changes!</p>
<p>Thus, when we deploy a new release, we get extremely high cache churn &#8212; the absolute path to the <code>app/etc/</code> directory has changed because we move that <code>current</code> symlink!  We basically were rewriting all of our cache with every release, clobbering our Memcached instances and database.</p>
<p>We had to take the site down for a minute or two and refresh the cache in a controlled environment without many concurrent requests taking place.  Once the cache had been warmed by a single user, all worked well once again.</p>
<p><!-- Well that sucks.  Thanks, Magento. --></p>
<p>Why not, say, throw an exception and barf all over the developer?  Or provide a reasonable, consistent default value?  Don&#8217;t change it as filesystem changes occur.  That&#8217;s not intuitive at all.  If you&#8217;re running multiple sites and need a separate cache prefix, you&#8217;re probably advanced enough that you&#8217;ve considered the implications of your approach already anyway.</p>
<p>So, what&#8217;s the lesson here?  Define your own Magento cache prefix to ensure that it never changes.</p>
<p>Hope you find this helpful! Here are a few more topics that will be coming soon:</p>
<ul>
<li>Deploying Magento to multiple web servers with Capistrano</li>
<li>Centralizing your <code>/media</code> directory</li>
<li>Don&#8217;t touch Core!</li>
<li>Abstraction is for wimps: query the database yourself</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.deshong.net/2011/12/magento-use-consistent-cache-key-prefix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making a move to Half Off Depot</title>
		<link>http://www.deshong.net/2011/06/joining-half-off-depot/</link>
		<comments>http://www.deshong.net/2011/06/joining-half-off-depot/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 02:26:06 +0000</pubDate>
		<dc:creator>Brian DeShong</dc:creator>
				<category><![CDATA[Georgia]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.deshong.net/?p=702</guid>
		<description><![CDATA[<a href="http://www.deshong.net/2011/06/joining-half-off-depot/" title="Making a move to Half Off Depot"></a>I&#8217;m happy to announce that I&#8217;ll be joining Half Off Depot, LLC as Lead Software Architect on June 27th. Half Off Depot is a growing, promising startup here in Atlanta. As you might gather from the name, they&#8217;re in the &#8230;<p class="read-more"><a href="http://www.deshong.net/2011/06/joining-half-off-depot/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.deshong.net/2011/06/joining-half-off-depot/" title="Making a move to Half Off Depot"></a><p>I&#8217;m happy to announce that I&#8217;ll be joining <a href="http://halfoffdepot.com/">Half Off Depot, LLC</a> as Lead Software Architect on June 27th.</p>
<p>Half Off Depot is a growing, promising startup here in Atlanta.  As you might gather from the name, they&#8217;re in the daily deals space, sort of along the lines of Groupon and LivingSocial.  As of this writing, they have been focusing on the Atlanta, Georgia and Knoxville, Tennessee markets.</p>
<p>I&#8217;ll be focusing on a number of areas, both server-side and in the mobile app arena, in addition to helping build the technology team.</p>
<p>This was not an simple decision.  I&#8217;ve been in a Senior Software Development Engineer role at <a href="http://yahoo.com/">Yahoo!</a> since April 2010.  During the first decade of my career, I spent over four years at both Community Connect Inc. (now <a href="http://interactiveone.com/">Interactive One</a>) and Schematic, Inc. (now <a href="http://www.possibleworldwide.com/">Possible Worldwide</a>), both in senior-level roles.  It&#8217;s not my style to leave a position after just over a year; I&#8217;m much more of a long-term kind of guy.  However, as I got deeper into Schematic, I took on much more technical leadership where I was leading projects and directly managing developers, but haven&#8217;t done a lot of that at Yahoo! yet.  I&#8217;ll be able to tap back into that wider range of my skills at Half Off Depot.</p>
<p>My transition to Yahoo! was really about focusing on my passion: architecture and development.  Yahoo! has afforded me some incredible opportunities, especially when it came to exposing me to more technologies outside of the PHP and open source tools I&#8217;ve worked with over the past decade.</p>
<p>Specifically, I&#8217;ve spent a lot of time with <a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html">Objective-C</a>, Apple frameworks such as UIKit and AppKit, <a href="http://hadoop.apache.org">Hadoop</a>, some <a href="http://www.microsoft.com/mediaroom/">Microsoft Mediaroom</a>, and even <a href="http://developer.yahoo.com/yui/">client-side</a> technologies.  Yahoo! has really helped me expand my skill set and grow as a developer.  I&#8217;ve worked with some incredibly talented, experienced developers.  It&#8217;s been an amazing ride.  I&#8217;m going to miss it!</p>
<p>But, startup life came calling, and it was time to answer.  I could not be more excited to join the Half Off Depot team, and I wish my Yahoo! colleagues the best of luck.  If you ever get the chance to work at Yahoo!, take it!</p>
<p>This is going to be an incredible journey &#8212; I can&#8217;t wait to get started.  Stay tuned!  You&#8217;ll be hearing more from me in the weeks and months ahead, especially as I begin to focus more on PHP, the web, and native mobile application development.</p>
<p><a href="http://halfoffdepot.com/"><img src="http://halfoffdepot.com/skin/frontend/default/default/HOD-nosub-logo.png" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.deshong.net/2011/06/joining-half-off-depot/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Technical New Year&#8217;s Resolutions: 2011</title>
		<link>http://www.deshong.net/2011/01/technical-new-years-resolutions-2011/</link>
		<comments>http://www.deshong.net/2011/01/technical-new-years-resolutions-2011/#comments</comments>
		<pubDate>Fri, 14 Jan 2011 03:39:03 +0000</pubDate>
		<dc:creator>Brian DeShong</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.deshong.net/?p=666</guid>
		<description><![CDATA[<a href="http://www.deshong.net/2011/01/technical-new-years-resolutions-2011/" title="Technical New Year&#039;s Resolutions: 2011"></a>Better late than never, right? I should&#8217;ve done this in December, but at least it&#8217;s only two weeks into the New Year. Last year was a great year. Looking back at my 2010 resolutions, here&#8217;s what I accomplished: Learn a &#8230;<p class="read-more"><a href="http://www.deshong.net/2011/01/technical-new-years-resolutions-2011/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.deshong.net/2011/01/technical-new-years-resolutions-2011/" title="Technical New Year&#039;s Resolutions: 2011"></a><p>
Better late than never, right?  I should&#8217;ve done this in December, but at least it&#8217;s only two weeks into the New Year.
</p>
<p>
Last year was a great year.  Looking back at my 2010 resolutions, here&#8217;s what I accomplished:</p>
<ul>
<li>Learn a new language &#8212; really dove head first into learning Objective-C, along with the Cocoa and UIKit frameworks</li>
<li>Built and released my first iOS app, <a href="http://floodwatchapp.com/">FloodWatch</a></li>
</ul>
<p>
My <a href="/2009/12/technical-new-years-resolutions-2010/">2010 resolutions</a> aside, I also managed to <a href="/2010/03/goodbye-schematic-hello-yahoo">make a move to Yahoo!</a>, start to hone my front end developer skills, do some Java work, learn some <a href="http://hadoop.apache.org/">Hadoop</a> and <a href="http://pig.apache.org/">Pig</a> scripting, learn some <a href="http://lua.org/">Lua</a>, and <a href="/2010/10/barcamp-charleston-2010/">speak at BarCamp Charleston</a>.  It&#8217;s been a busy year!
</p>
<p>
I&#8217;ve been absolutely horrible at blogging over the past year, though.  Two posts in 2010 is just pitiful and sad.  Shame on me.
</p>
<p>
So, given the look back and the year ahead, here&#8217;s what I&#8217;m challenging myself with:</p>
<ul>
<li><b>Blog more:</b> This is the biggest resolution of them all. I really need to write a few blog posts a month on whatever it is that I&#8217;m working on, when I might have something that can and should be shared with a larger potential audience.  More often than not, I complete my tasks at hand and charge ahead to the next ones.  I need to take more time to stop, reflect, and share.</li>
<li><b>Speak at more user groups and conferences:</b> &#8230;this is already in the works, too, with my first 2011 talk at <a href="http://atlantaphp.org/">Atlanta PHP</a> on February 3, 2011. I&#8217;ll be talking on the <a href="http://developer.yahoo.com/yql/">Yahoo! Query Language</a>.</li>
<li><b>Write another article:</b> &#8230;already in the works!  Look for it later in the year.</li>
<li><b>Continue to sharpen my development and architecture skills:</b> I&#8217;ve learned an amazing amount of new things during my time at Yahoo!  I work with some ridiculously smart people, and am constantly learning from them and becoming a better developer because the people in my environment.  I&#8217;m loving every single day in the office where I get to focus on code and architecture.  This one should be a breeze.</li>
<li><b>Read some of the classic programming books again:</b> Classic books like <a href="http://www.pragprog.com/the-pragmatic-programmer">The Pragmatic Programmer</a> and <a href="http://cc2e.com/">Code Complete</a> are great to read every few years to keep yourself grounded and humble.  This should be one of those years for me.</li>
<li><b>Build another app of some sort, iOS, Mac or otherwise:</b> &#8230;have some ideas here, should be totally doable.</li>
<li><b>Spend some more time with PHP:</b> I haven&#8217;t written much PHP since mid-2010, so it&#8217;d be nice to get back to it.  I should contribute to Zend Framework, etc. &#8212; that&#8217;d be a great way to achieve this goal, while contributing to the community at the same time.</li>
<li><b>Get back on the conference circuit:</b> I didn&#8217;t do so well with this in 2010, mostly due to my job change.  I&#8217;d like to get to at least one PHP, OSS, or development conference in 2011.</b></li>
</ul>
<p>
So, that&#8217;s what I&#8217;ll be doing in 2011.  Hopefully I&#8217;ll be here about 50 weeks from now, recounting how I knocked out every single one of these.
</p>
<p>
What are <em>you</em> doing in 2011?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deshong.net/2011/01/technical-new-years-resolutions-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speaking at BarCamp Charleston 2010</title>
		<link>http://www.deshong.net/2010/10/barcamp-charleston-2010/</link>
		<comments>http://www.deshong.net/2010/10/barcamp-charleston-2010/#comments</comments>
		<pubDate>Tue, 19 Oct 2010 16:20:16 +0000</pubDate>
		<dc:creator>Brian DeShong</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[barcamp]]></category>
		<category><![CDATA[charleston]]></category>
		<category><![CDATA[yahoo!]]></category>
		<category><![CDATA[yql]]></category>

		<guid isPermaLink="false">http://www.deshong.net/?p=559</guid>
		<description><![CDATA[<a href="http://www.deshong.net/2010/10/barcamp-charleston-2010/" title="Speaking at BarCamp Charleston 2010"></a>UPDATE: slides are now available at Slideshare; also see my recap of the event at the Yahoo! Developer Network I&#8217;ll be speaking at BarCamp Charleston in Charleston, SC on November 13, 2010. I&#8217;ll be giving an introduction to Yahoo! Query &#8230;<p class="read-more"><a href="http://www.deshong.net/2010/10/barcamp-charleston-2010/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.deshong.net/2010/10/barcamp-charleston-2010/" title="Speaking at BarCamp Charleston 2010"></a><p><strong>UPDATE:</strong> slides are now available <a href="http://www.slideshare.net/bdeshong/select-from-internet-using-the-yahoo-query-language-5811027">at Slideshare</a>; also see my recap of the event at the <a href="http://developer.yahoo.com/blogs/ydn/posts/2010/11/barcamp-charleston-2010/">Yahoo! Developer Network</a></p>
<p>I&#8217;ll be speaking at <a href="http://www.barcampchs.org/">BarCamp Charleston</a> in Charleston, SC on November 13, 2010.  I&#8217;ll be giving an introduction to <a href="http://developer.yahoo.com/yql/">Yahoo! Query Language</a>, Yahoo!&#8217;s SQL-like language allowing users to query data across web services.  I&#8217;ve spent a bit of time with it over the past few months, so it&#8217;s sure to be packed full of interesting demos.</p>
<p>This will be my first official speaking event where I&#8217;ll be representing <a href="http://yahoo.com/">Yahoo!</a>, my employer.  I&#8217;ve been at Yahoo! for just over six months now and am loving every minute of it!  I&#8217;m honored to join the ranks of my fellow <a href="http://developer.yahoo.com/">Yahoo! Developer Network</a> colleagues, such as <a href="http://derekgathright.com/">Derek Gathright</a> and <a href="http://www.jcleblanc.com/">Jonathan LeBlanc</a>.</p>
<p>If you&#8217;re an Atlanta-based reader, I know that a number of members of <a href="http://www.atlantaphp.org/">Atlanta PHP</a> will be attending.  Let&#8217;s show Charleston how committed Atlanta is to technology here in the Southeast!  See you all there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deshong.net/2010/10/barcamp-charleston-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Goodbye Schematic, hello Yahoo!</title>
		<link>http://www.deshong.net/2010/03/goodbye-schematic-hello-yahoo/</link>
		<comments>http://www.deshong.net/2010/03/goodbye-schematic-hello-yahoo/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 21:10:51 +0000</pubDate>
		<dc:creator>Brian DeShong</dc:creator>
				<category><![CDATA[Georgia]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.deshong.net/?p=540</guid>
		<description><![CDATA[<a href="http://www.deshong.net/2010/03/goodbye-schematic-hello-yahoo/" title="Goodbye Schematic, hello Yahoo!"></a>After four and a half years, I will be leaving Schematic for Yahoo!. My first day with Yahoo! will be April 5th, where I&#8217;ll be working from their Atlanta office. I&#8217;m not at liberty to tell you what I&#8217;ll actually &#8230;<p class="read-more"><a href="http://www.deshong.net/2010/03/goodbye-schematic-hello-yahoo/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.deshong.net/2010/03/goodbye-schematic-hello-yahoo/" title="Goodbye Schematic, hello Yahoo!"></a><p>After four and a half years, I will be leaving <a href="http://schematic.com/" target="_new">Schematic</a> for <a href="http://yahoo.com/" target="_new">Yahoo!</a>.  My first day with Yahoo! will be April 5th, where I&#8217;ll be working from their Atlanta office.  I&#8217;m not at liberty to tell you what I&#8217;ll actually be working on, though&#8230;sorry!</p>
<p>I look forward to joining the ranks of former Schemers <a href="http://robertswarthout.com/" target="_new">Robert Swarthout</a> and <a href="http://paulamsbary.com/" target="_new">Paul Amsbary</a>, and fellow PHP community members such as <a href="http://www.derekville.net/" target="_new">Derek Gathright</a> and <a href="http://blog.libssh2.org/" target="_new">Sara Golemon</a>.</p>
<p>I&#8217;m sad to make this move as I&#8217;ve seen Schematic grow from ~120 people up to near 400.  We&#8217;ve added <a href="http://www.schematic.com/#/ContactUs/" target="_new">offices around the globe</a> and <a href="http://touch.schematic.com/" target="_new">entire business units</a>.  I&#8217;ve had the opportunity to work with some <a href="http://maggienelson.com/" target="_new">incredibly</a> <a href="http://www.josephjorgensen.com/" target="_new">talented</a> <a href="http://www.pabloviquez.com/" target="_new">developers</a>, <a href="http://chrisbray.com/" target="_new">technology leaders</a>, project managers, and account managers.  I&#8217;ve worked on some <a href="http://store.ovi.com/" target="_new">amazing</a> <a href="http://www.turner.com/" target="_new">projects</a> with some of the most <a href="http://turner.com/" target="_new">appreciative</a>, <a href="http://nokia.com/" target="_new">cutting-edge</a> clients you could ever ask for.</p>
<p>Before joining Schematic, I worked for <a href="http://www.interactiveone.com/" target="_new">Community Connect Inc.</a> (now Interactive One) for almost five years, building and maintaining functionality across various social networking sites, such as <a href="http://blackplanet.com/" target="_new">BlackPlanet.com</a>, <a href="http://asianave.com/" target="_new">AsianAve.com</a>, and <a href="http://migente.com/" target="_new">MiGente.com</a>.  I enjoyed this product-centric environment where any developer could take ownership of a product, then watch it grow and flourish over time.  These opportunities are a bit more rare in the agency world, where you&#8217;re generally building, delivering, then moving on to the next big effort.</p>
<p>I&#8217;m very excited to get back into a product-focused environment.  I&#8217;ll have the opportunity to sharpen my skills with <a href="http://developer.yahoo.com/yui/" target="_new">client-side technologies</a>, along with other languages and platforms.  I&#8217;m very much looking forward to focusing 100% of my time on architecture and development as I might have gotten a little rusty over the past year or two.</p>
<p>So, thanks, Schematic!  It&#8217;s been fun, but it&#8217;s time for me to perfect my <a href="http://yodelstudio.yahoo.com/us/" target="_new">Yahoo! yodel</a>.  Best of luck to you!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deshong.net/2010/03/goodbye-schematic-hello-yahoo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Technical New Year&#8217;s Resolutions 2010</title>
		<link>http://www.deshong.net/2009/12/technical-new-years-resolutions-2010/</link>
		<comments>http://www.deshong.net/2009/12/technical-new-years-resolutions-2010/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 03:43:52 +0000</pubDate>
		<dc:creator>Brian DeShong</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.deshong.net/?p=445</guid>
		<description><![CDATA[<a href="http://www.deshong.net/2009/12/technical-new-years-resolutions-2010/" title="Technical New Year&#039;s Resolutions 2010"></a>I try to do this every year by New Year&#8217;s Eve, but I&#8217;m a little late this year! Reflecting on my 2009 PHP/technical New Year&#8217;s resolutions, I ended up doing pretty well despite some unexpected challenges. Zend_Log_Writer_Mail made it into &#8230;<p class="read-more"><a href="http://www.deshong.net/2009/12/technical-new-years-resolutions-2010/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.deshong.net/2009/12/technical-new-years-resolutions-2010/" title="Technical New Year&#039;s Resolutions 2010"></a><p>I try to do this every year by New Year&#8217;s Eve, but I&#8217;m a little late this year!  Reflecting on my <a href="http://www.deshong.net/2008/12/phptechnical-new-years-resolutions-2009/">2009 PHP/technical New Year&#8217;s resolutions</a>, I ended up doing pretty well despite some unexpected challenges.</p>
<p><a href="http://framework.zend.com/manual/en/zend.log.writers.html#zend.log.writers.mail">Zend_Log_Writer_Mail made it into the standard library</a>, so that takes care of my Zend Framework line item to some extent.  I didn&#8217;t propose anything new, though, but at least it&#8217;s something!</p>
<p>My goal to <a href="http://phparch.com/magazine/index/108">write for php|architect</a> was realized in October with the <a href="http://www.deshong.net/2009/11/publish-or-perish/">publication</a> of &#8220;Make It Mobile with PHP and Open Source Tools.&#8221;</p>
<p>I spoke at <a href="http://mobilecampatlanta.org/">iPhone/Mobile Camp Atlanta 2009</a> with a modified version of <a href="http://www.deshong.net/2008/09/slides-zendcon-2008-rickroll-to-go/">“Rickroll To Go With WURFL, PHP, and Other Open Source Tools”</a>, which was a great, low-stress speaking engagement.  Hopefully it will take place again in 2010, because I&#8217;d love to participate again!</p>
<p>It&#8217;s been a busy but productive year for work-related technical projects as I helped lead a team to re-launch a medium-scale B2B marketing site for a large cable television network.  That went over with a great degree of success.  In 2009, my project roles tended to lean more towards non-development leadership roles, such as Solutions Architect.  Late in the year, I&#8217;ve been acting as the technical lead and a developer, which has been nice.  It looks like I may get to do more architecture and development work in 2010, so that will be a nice shift in gears.</p>
<p>In June, <a href="http://www.flickr.com/photos/bdeshong/sets/72157619246941218/">our daughter, Madeline</a>, was born, which was definitely the highlight of the year.  Then in September, we were affected by the <a href="http://en.wikipedia.org/wiki/2009_Georgia_%28U.S._state%29_floods">2009 Georgia floods</a> when <a href="http://www.flickr.com/photos/bdeshong/sets/72157622428758762/">our house in Austell, GA was flooded</a>.  Then came the <a href="http://www.flickr.com/photos/bdeshong/sets/72157622679374552/">reconstruction</a> and all of the headaches that came with that.  So, the last half of 2009 was a wash&#8230;no pun intended.  <img src='http://www.deshong.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>But, the horrible year of 2009 is now over!  Looking forward to 2010, I&#8217;ve got a few things I want to tackle:</p>
<ul>
<li><strong>Get back on the conference circuit:</strong> I avoided travel in the first half of 2009 due to Madeline&#8217;s arrival.  I had planned to pick things back up in the last half of the year, but the flood kind of complicated those plans.  Hence, I wasn&#8217;t seen at <a href="http://zendcon.com/">ZendCon</a> or <a href="http://www.phparch.com/">php|works</a>.  I want to get back on the conference and speaking circuits in 2010 &#8212; I need to write some new abstracts and manage to speak a few times.  I&#8217;ll be starting in May at <a href="http://atlantaphp.org/">Atlanta PHP</a>, tentatively talking on profiling and optimizing PHP applications with <a href="http://jakarta.apache.org/jmeter/">JMeter</a> and <a href="http://xdebug.org">Xdebug</a>.</li>
<li><strong>Write another article:</strong> I&#8217;d like to maybe write another article, either for <a href="http://phparch.com/">php|architect</a> or some other development- or systems administration-centric magazine.  Writing an article is relatively simple, and gratification comes much sooner than with, say, a large book.  I enjoy using my learnings from the real world to help impart knowledge on the masses, even if it only helps a single person.</li>
<li><strong>Branch out; learn a new language(s):</strong> I consider myself an advanced-to-expert PHP developer.  I&#8217;ve focused on LAMP/<a href="http://blogs.oracle.com/opal/">OPAL</a> development for eight years now.  I&#8217;d love to dabble in other languages such as Java, Ruby, Python, and so on.  I&#8217;m also very rusty with C and C++, and my Objective-C/Cocoa skills could use some more refinement.  I need to set a goal to build a specific, simple application, and build it in as many languages as possible.  The challenge with this is time &#8212; I only have so much of it with work- and family-related commitments, but that&#8217;s what late weekend nights are for, right?  Right?</li>
<li><strong>Release an iPhone app in the App Store:</strong> I&#8217;ve got at least a half a dozen iPhone apps at various stages of completion in my personal SVN repository.  They&#8217;re in need of more thorough ideas, or design, or a little bit of both.  Once I hit a brickwall, I tend to lose momentum.  This year, I need to barrel through those brickwalls and get something released to the public.  I don&#8217;t want to get rich; I just want to be able to take an app from start to finish.  I dropped the ball on this in 2009, so it&#8217;s time to commit to it and get serious.  I may start off slow with a desktop app idea that needs to see the light of day.</li>
</ul>
<p>So, here I am once again: starting a new year with a new set of resolutions.  I can safely say that 2009 has been the most difficult year of my life, but I&#8217;m glad to see that it&#8217;s over, even though it&#8217;s been bittersweet.</p>
<p>With all of this behind me, I&#8217;m re-energized and looking forward to the new challenges that 2010 has in store.  As long as they don&#8217;t involve any natural disasters, I think I can get through this year.</p>
<p>Happy New Year to everyone!  Thank you again for the support you have shown during the ups and downs of 2009, too.  See you all in 2010.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deshong.net/2009/12/technical-new-years-resolutions-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>“Publish or perish”</title>
		<link>http://www.deshong.net/2009/11/publish-or-perish/</link>
		<comments>http://www.deshong.net/2009/11/publish-or-perish/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 01:33:40 +0000</pubDate>
		<dc:creator>Brian DeShong</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[speaking]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://www.deshong.net/?p=424</guid>
		<description><![CDATA[<a href="http://www.deshong.net/2009/11/publish-or-perish/" title="“Publish or perish”"></a>&#8220;&#8216;Publish or perish&#8217; refers to the pressure to publish work constantly to further or sustain a career in academia.&#8221; Many years ago, my old boss at Community Connect Inc. (now Interactive One), Michael Montero, was having an article published in &#8230;<p class="read-more"><a href="http://www.deshong.net/2009/11/publish-or-perish/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.deshong.net/2009/11/publish-or-perish/" title="“Publish or perish”"></a><p>&#8220;<a href="http://en.wikipedia.org/wiki/Publish_or_perish">&#8216;Publish or perish&#8217;</a> refers to the pressure to publish work constantly to further or sustain a career in academia.&#8221;</p>
<p>Many years ago, my old boss at Community Connect Inc. (now <a href="http://www.interactiveone.com/">Interactive One</a>), Michael Montero, was having <a href="http://portal.acm.org/citation.cfm?id=766723.766733">an article</a> published in the <a href="http://portal.acm.org/toc.cfm?id=766723&#038;type=issue">September 2002 issue of Sysadmin Magazine</a>.  Around that time before the article was published, Mike enlightened all of us software developers on the &#8220;publish or perish&#8221; idea &#8212; write articles, speak at conferences, etc. in order to enhance your development career.</p>
<p>I always took that advice to heart.  It made sense to me.  If you&#8217;re good at something, you use your communication skills to better yourself and make yourself known.  Whether it&#8217;s writing an article, writing a book, or speaking at a conference, it&#8217;s important to share your experiences and impart your knowledge to others.</p>
<p>So, that was one of my big goals for the year.  I&#8217;ve done the conference thing for a while now, so <a href="http://www.deshong.net/2008/12/phptechnical-new-years-resolutions-2009/">I wanted to make 2009 the year of writing</a>.  By writing, I mean writing code, and writing an article.  So, by the time this is posted, my <a href="http://phparch.com/">php|architect</a> article, &#8220;Make It Mobile with PHP and Open Source Tools&#8221;</a> will have been published.</p>
<p>I started it early in the year and finished it in mid-April, many months ahead of the deadline.  It&#8217;s basically my &#8220;Rickroll To Go&#8230;&#8221; conference talk, but in a written form.</p>
<p>It&#8217;s not some huge triumph of an article&#8230;it&#8217;s not going to win any awards&#8230;but it&#8217;s representative of a goal I set out to accomplish and succeeded at.</p>
<p>So, if you&#8217;re reading the issue, enjoy!  If you&#8217;re not, <a href="http://phparch.com/magazine/subscribe">go subscribe to php|architect</a>!</p>
<p>Also, special thanks <a href="http://naramore.net/blog/">to</a> <a href="http://www.treelinedesign.com/">my</a> <a href="http://phparch.com/">php|architect</a> <a href="http://mtabini.blogspot.com/">crew</a> for giving me this great opportunity.</p>
<p>I&#8217;d like to do some more writing in 2010 (maybe some non-PHP writing, too?), so maybe you&#8217;ll see me in print again next year.  Thanks for reading!  Please send along any comments, questions or feedback via <a href="mailto:brianNOSPAMFORMEATdeshongDOTnet">email</a> or <a href="http://twitter.com/bdeshong">Twitter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deshong.net/2009/11/publish-or-perish/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>“Rickroll To Go…” ZendCon Session audio posted!</title>
		<link>http://www.deshong.net/2009/07/rickroll-zendcon-session/</link>
		<comments>http://www.deshong.net/2009/07/rickroll-zendcon-session/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 20:23:38 +0000</pubDate>
		<dc:creator>Brian DeShong</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Scalability]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.deshong.net/?p=239</guid>
		<description><![CDATA[<a href="http://www.deshong.net/2009/07/rickroll-zendcon-session/" title="“Rickroll To Go…” ZendCon Session audio posted!"></a>My ZendCon 2008 talk, “Rickroll To Go With WURFL, PHP, and Other Open Source Tools”, was just released at Zend DevZone as ZendCon Sessions episode #23! If you&#8217;re just now finding my blog from there, welcome! And thanks to Eli &#8230;<p class="read-more"><a href="http://www.deshong.net/2009/07/rickroll-zendcon-session/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.deshong.net/2009/07/rickroll-zendcon-session/" title="“Rickroll To Go…” ZendCon Session audio posted!"></a><p>My ZendCon 2008 talk, <a href="http://www.deshong.net/2008/09/slides-zendcon-2008-rickroll-to-go/">“Rickroll To Go With WURFL, PHP, and Other Open Source Tools”</a>, was just released at <a href="http://devzone.zend.com/public/view">Zend DevZone</a> as <a href="http://devzone.zend.com/article/4871-The-ZendCon-Sessions-Episode-23-Rickroll-To-Go-With-PHP-WURFL-and-Other-Open-Source-Tools">ZendCon Sessions episode #23</a>!</p>
<p>If you&#8217;re just now finding my blog from there, welcome!  And thanks to <a href="http://eliw.com/">Eli White</a>, Community Relations Manager for <a href="http://zend.com/">Zend</a>, for selecting it for posting.</p>
<p>You can get all of the relevant info using the links below:</p>
<p><a href="http://www.deshong.net/2008/09/slides-zendcon-2008-rickroll-to-go/" target="_new">Slides and videos of the presentation materials</a><br />
<a href="http://devzone.zend.com/article/4871-The-ZendCon-Sessions-Episode-23-Rickroll-To-Go-With-PHP-WURFL-and-Other-Open-Source-Tools" target="_new">ZendCon Sessions page with audio</a><br />
<a href="http://devzone.zend.com/content/audio/zendcon_sessions/zendcon_sessions_podcast_023.mp3" target="_new">MP3 audio of the presentation</a><br />
<a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=310085132" target="_new">iTunes DevZone podcast</a></p>
<p>Enjoy, and thanks for listening!  Find me on <a href="http://twitter.com/bdeshong">Twitter</a> or <a href="mailto:brianNOSPAM@deshong.net">email me</a> if you&#8217;d like to discuss the materials.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deshong.net/2009/07/rickroll-zendcon-session/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://devzone.zend.com/content/audio/zendcon_sessions/zendcon_sessions_podcast_023.mp3" length="43557296" type="audio/mpeg" />
		</item>
		<item>
		<title>iPhone/Mobile Camp Atlanta 2009</title>
		<link>http://www.deshong.net/2009/07/iphonemobile-camp-atlanta-2009/</link>
		<comments>http://www.deshong.net/2009/07/iphonemobile-camp-atlanta-2009/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 15:18:12 +0000</pubDate>
		<dc:creator>Brian DeShong</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Georgia]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[transcoding]]></category>

		<guid isPermaLink="false">http://www.deshong.net/?p=233</guid>
		<description><![CDATA[<a href="http://www.deshong.net/2009/07/iphonemobile-camp-atlanta-2009/" title="iPhone/Mobile Camp Atlanta 2009"></a>This weekend, I attended iPhone/Mobile Camp Atlanta at the King Plow Arts Center. It was great to meet some new, non-PHP-specific faces in the southern iPhone and mobile communities. The crowd seemed to be quite tech-heavy, rather than business-heavy. As &#8230;<p class="read-more"><a href="http://www.deshong.net/2009/07/iphonemobile-camp-atlanta-2009/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.deshong.net/2009/07/iphonemobile-camp-atlanta-2009/" title="iPhone/Mobile Camp Atlanta 2009"></a><p>This weekend, I attended <a href="http://iphonecampatlanta.org/">iPhone</a>/<a href="http://mobilecampatlanta.org/">Mobile Camp Atlanta</a> at the King Plow Arts Center.</p>
<p>It was great to meet some new, non-PHP-specific faces in the southern iPhone and mobile communities.  The crowd seemed to be quite tech-heavy, rather than business-heavy.  As such, I learned some new things such as how to handle analytics on the iPhone (use <a href="http://www.flurry.com/">Flurry</a>), how to reduce latency when using <a href="http://developer.apple.com/audio/overview.html">Core Audio</a>, and some new-to-me information on parsing XML on the iPhone.</p>
<p>I also dusted off my talk, <a href="http://www.deshong.net/2008/09/slides-zendcon-2008-rickroll-to-go/">“Rickroll To Go With WURFL, PHP, and Other Open Source Tools”</a>, trimmed it down for a 30-minute timeslot, and presented it as &#8220;WURFL, Device Identification, and Mobile Media&#8221;.</p>
<p>My talk seemed to go great because, hey, what talk with a little <a href="http://www.youtube.com/watch?v=oHg5SJYRHA0">Rickrolling</a> and <a href="http://www.youtube.com/watch?v=rog8ou-ZepE">Ice Ice Baby</a> isn&#8217;t going to be a hit, right?  It was tough to keep it to that smaller timeslot, but it seemed to work well.  I was followed by everyone&#8217;s favorite Microsoft evangelist, <a href="http://blogs.msdn.com/glengordon/">Glen Gordon</a>, who was speaking on all things Microsoft.</p>
<p>I definitely walked away with a continued motivation to actually produce a useful Cocoa and/or iPhone app <a href="http://www.deshong.net/2008/12/phptechnical-new-years-resolutions-2009/">sometime this year</a>, so I&#8217;d better hop to it.  It&#8217;s the ideation part that&#8217;s tough for me, though.  And all of the graphic design can be a bit demotivating, too, but there are creative ways to handle that.</p>
<p>Anyways, it was a great event!  Hopefully they&#8217;ll conduct one again next year!  Special thanks to <a href="http://widgetpress.com/">Jonathan Freeman of Widgetpress</a> (and all involved) for organizing the event!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deshong.net/2009/07/iphonemobile-camp-atlanta-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

