<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Code, Nerdyness, and Nonsense</title>
	
	<link>http://brandontreb.com</link>
	<description>Code, Nerdyness, and Nonsense</description>
	<lastBuildDate>Thu, 11 Mar 2010 00:30:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/brandontreb" /><feedburner:info uri="brandontreb" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Wordpress Plugin Development: Your First Plugin</title>
		<link>http://feedproxy.google.com/~r/brandontreb/~3/QR872_gTGDc/</link>
		<comments>http://brandontreb.com/wordpress-plugin-development-your-first-plugin/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 00:30:33 +0000</pubDate>
		<dc:creator>brandontreb</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress filters]]></category>
		<category><![CDATA[wordpress plugin]]></category>
		<category><![CDATA[wordpress plugin programming]]></category>

		<guid isPermaLink="false">http://brandontreb.com/?p=778</guid>
		<description><![CDATA[<p>In this tutorial, I will show you the basics of creating a simple Wordpress plugin.  After completing it, you will have the knowledge to expand upon it and create your own Wordpress plugins.</p>


]]></description>
			<content:encoded><![CDATA[<h4>Introduction</h4>
<p>Creating plugins for Wordpress seems like a daunting task at first, but the process is actually quite simple.  Wordpress&#8217; APIs are very elegant and make plugin development a breeze.</p>
<p>The documentation for writing a plugin can be found <a href="http://codex.wordpress.org/Writing_a_Plugin">here</a>.  Make sure you bookmark it as you will be referring to the documentation quite a bit as you require more functionality.</p>
<h4>Wordpress Actions And Filters</h4>
<p>When we talk about creating a plugin for Wordpress, it usually refers to extending the functionality.  This could be something as simple as replacing all of the colon-parens with smilies or as complex as doing complete SEO optimization.  Whatever you want to create, chances are you will have to hook into a Wordpress Action or Filter.</p>
<p>Wordpress Filters are called any time there is data. They are essentially a chain of functions that will be called in order to work on the data in some way.  For example, when Wordpress displays the content of your post, rather than it saying &lt;?php echo $content; ?&gt;, it calls the function &lt;?php the_content(); ?&gt;.  Calling this function will invoke the chain of functions to be applied to the content.</p>
<p>To hook a function into this chain, you will use the add_filter function of Wordpress.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'the_content'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'myFunc'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> myFunc<span style="color: #009900;">&#40;</span><span style="color: #000088;">$content</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #666666; font-style: italic;">// Do Something to the content</span>
   <span style="color: #b1b100;">return</span> <span style="color: #000088;">$content</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>In the code above our function called myFunc will be called every time the content is displayed in a Wordpress post.  I will be explaining the is more detail later in this post.</p>
<p>With the knowlege of actions and filters behind you, you are ready to write your first plugin.</p>
<h4>Setting Up</h4>
<p>The plugin we will be creating is a Word Filter plugin. It could be useful on a blog with multiple authors as a swear word filter.  We will be replace all of the &#8220;naughty words&#8221;, which we define with a substitue.</p>
<p>The first thing you want to do is FTP into your Worpdress site and create the plugin folder.  The location of the folder should be as follows.</p>
<p><strong>/wp-content/plugins/word_filter</strong></p>
<p>Note that any time you create a plugin, it must go inside of the Wordpress plugins folder.</p>
<p>Now create a file of the same name in this folder (word_filter.php). This will be the file that will hold all of our plugin code.  Just to reiterate, you should now have a file at this path:</p>
<p><strong>/wp-content/plugins/word_filter/word_filter.php</strong></p>
<p>Now we are ready to begin editing the file&#8230;</p>
<h4>Adding the Meta Information</h4>
<p>In order to identify your plugin (and give you credit for it), you must add the following information to the top of your plugin file.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/*
Plugin Name: Word Filter
Plugin URI: http://brandontreb.com/
Description: This plugin filters out certain words in a post.  Could be used as a swear word filter or just a global find and replace.
Version: 1.0
Author: Brandon Trebitowski
Author URI: http://brandontreb.com
*/</span></pre></div></div>

<p>All of this meta information will be used to identify the plugin.  When the user goes to activate it, all of this info will be displayed in their admin panel.  It will look something like this:</p>
<p><a href="http://brandontreb.com/wp-content/uploads/2010/03/Screen-shot-2010-03-10-at-9.46.09-AM.png"><img src="http://brandontreb.com/wp-content/uploads/2010/03/Screen-shot-2010-03-10-at-9.46.09-AM-500x31.png" alt="" title="Screen shot 2010-03-10 at 9.46.09 AM" width="500" height="31" class="alignleft size-medium wp-image-790" /></a></p>
<p>Coding time&#8230;</p>
<h4>Writing the Code</h4>
<p>The first bit of code for our word filter is the array of words to be replaced.  We will be using associative arrays where the key will be the words we are searching for and the values will be their replacements.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Array of replacements</span>
<span style="color: #000088;">$search_array</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'idiot'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'nice person'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'shutup'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'please be quite'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'hate'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'love'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>As you can see, the word &#8216;idiot&#8217; will be replaced with the words &#8216;nice person&#8217;, etc&#8230;  You could do any amount of replacement here.</p>
<p>The next step is to write our function that will do the replacing.  We will call this function word_filter.  One thing you need to be aware of is the function must take exactly one argument.  This is because we will be hooking into the the_content filter of Wordpress.  When our function gets called by the system, it will pass in the post content for every post that gets displayed. Here is what the function will look like.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> word_filter<span style="color: #009900;">&#40;</span><span style="color: #000088;">$content</span><span style="color: #009900;">&#41;</span> 
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$search_array</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Modify the content</span>
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$search_array</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$find</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$replace</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$content</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$find</span><span style="color: #339933;">,</span><span style="color: #000088;">$replace</span><span style="color: #339933;">,</span><span style="color: #000088;">$content</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Return the content</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$content</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Pretty simple ehh? We loop over the $search_array and retrieve its keys and values.  We then substitue the $find string with the $replace string in the post $content.  Finally, we RETURN THE CONTENT.  I emphasized that because it is very important.  Since you are running this function in a chain of others, you must return the content so that the next function can process it.  If you don&#8217;t the chain is broken and your posts won&#8217;t contain any content.</p>
<p>The last thing that must be done is we must hook into the the_content filter of Wordpress.  Again, this is how we get our function added to the chain.  To do this, simply add the following line.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Make sure our fn gets called before displaying the content</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'the_content'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'word_filter'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>This is just one of the many <a href="http://codex.wordpress.org/Plugin_API">Filters</a> that you are able to hook in to.</p>
<h4>Putting it all together</h4>
<p>When reading tutorial, I generally like to see the final source code in once place.  So, here it is in all of it&#8217;s (very simple) glory.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/*
Plugin Name: Word Filter
Plugin URI: http://brandontreb.com/
Description: This plugin filters out certain words in a post.  Could be used as a swear word filter or just a global find and replace.
Version: 1.0
Author: Brandon Trebitowski
Author URI: http://brandontreb.com
*/</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Array of replacements</span>
<span style="color: #000088;">$search_array</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'idiot'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'nice person'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'shutup'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'please be quite'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'hate'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'love'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Make sure our fn gets called before displaying the content</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'the_content'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'word_filter'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> word_filter<span style="color: #009900;">&#40;</span><span style="color: #000088;">$content</span><span style="color: #009900;">&#41;</span> 
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$search_array</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Modify the content</span>
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$search_array</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$find</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$replace</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$content</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$find</span><span style="color: #339933;">,</span><span style="color: #000088;">$replace</span><span style="color: #339933;">,</span><span style="color: #000088;">$content</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Return the content</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$content</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>*Note: I omitted the php wrapper tags because they were causing problems in the output. Make sure you add them back in.</p>
<p>There you have it! Your first Wordpress plugin.  In a later tutorial I will show you how to create an admin panel that will allow users to configure all of the search and replace words.</p>
<p>If you have any comments or questions, feel free to leave them in the comments section of this post.</p>
<p>You may also download the source for this example <a href='http://brandontreb.com/wp-content/uploads/2010/03/word_filter.zip'>here</a>.</p>
<p>Happy WPCoding!</p>
<img src="http://feeds.feedburner.com/~r/brandontreb/~4/QR872_gTGDc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brandontreb.com/wordpress-plugin-development-your-first-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://brandontreb.com/wordpress-plugin-development-your-first-plugin/</feedburner:origLink></item>
		<item>
		<title>A (Slightly) New Direction…</title>
		<link>http://feedproxy.google.com/~r/brandontreb/~3/Em-or9XLRYI/</link>
		<comments>http://brandontreb.com/a-slightly-new-direction/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 16:25:16 +0000</pubDate>
		<dc:creator>brandontreb</dc:creator>
				<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[updates]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://brandontreb.com/?p=771</guid>
		<description><![CDATA[<center><img title="WordPress" src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/Wordpress-logo.png/300px-Wordpress-logo.png" alt="WordPress" width="300" height="68" /></center>

Many of you may know that I'm a HUGE fan of <a class="zem_slink" title="WordPress" rel="homepage" href="http://wordpress.org">Wordpress</a>.  I build every single site I create based on the Wordpress engine, even if they are not blogs (ie <a href="http://freshapps.com" target="_blank">FreshApps</a>).]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" style="display: block; width: 310px; margin: 1em;">
<div class="wp-caption alignleft" style="width: 310px"><a href="http://commons.wikipedia.org/wiki/Image:Wordpress-logo.png"><img title="WordPress" src="http://brandontreb.com/wp-content/uploads/2010/02/300px-Wordpress-logo.png" alt="WordPress" width="300" height="68" /></a><p class="wp-caption-text">Image via Wikipedia</p></div>
</div>
<p>Many of you may know that I&#8217;m a HUGE fan of <a class="zem_slink" title="WordPress" rel="homepage" href="http://wordpress.org">Wordpress</a>.  I build every single site I create based on the Wordpress engine, even if they are not blogs (ie <a href="http://freshapps.com" target="_blank">FreshApps</a>).</p>
<p>That being said, I have decided to shift the focus of this blog slightly to encompass more Wordpress related programming.  This is a huge topic and has a huge audience.  I will still be sharing my thoughts about code/Twitter/etc&#8230; while injecting much <em>more</em> content related to Wordpress.</p>
<p>I feel that I have a lot to share on that front and can&#8217;t wait to update my theme (to support more content as my main area is a little narrow).</p>
<p>Happy coding <img src='http://brandontreb.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/c1b4f003-f453-48b3-85f8-39fea8989311/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=c1b4f003-f453-48b3-85f8-39fea8989311" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<img src="http://feeds.feedburner.com/~r/brandontreb/~4/Em-or9XLRYI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brandontreb.com/a-slightly-new-direction/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://brandontreb.com/a-slightly-new-direction/</feedburner:origLink></item>
		<item>
		<title>Emacs For OSX Is Out!</title>
		<link>http://feedproxy.google.com/~r/brandontreb/~3/ZtbgJ5Tya3s/</link>
		<comments>http://brandontreb.com/emacs-for-osx-is-out/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 21:44:29 +0000</pubDate>
		<dc:creator>brandontreb</dc:creator>
				<category><![CDATA[Nerdyness]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[emacs mac]]></category>
		<category><![CDATA[emacs osx]]></category>

		<guid isPermaLink="false">http://brandontreb.com/?p=768</guid>
		<description><![CDATA[<p style="text-align: left;"><a href="http://emacsformacosx.com/"><img class="size-medium wp-image-769 alignnone" title="Screen shot 2010-01-29 at 2.39.44 PM" src="http://brandontreb.com/wp-content/uploads/2010/01/Screen-shot-2010-01-29-at-2.39.44-PM-500x498.png" alt="" width="500" height="498" /></a></p>
<p style="text-align: center;">For all you Vi using, Emacs haters out there, I will fight you!</p>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://emacsformacosx.com/"><img class="size-medium wp-image-769 alignnone" title="Screen shot 2010-01-29 at 2.39.44 PM" src="http://brandontreb.com/wp-content/uploads/2010/01/Screen-shot-2010-01-29-at-2.39.44-PM-500x498.png" alt="" width="500" height="498" /></a></p>
<p style="text-align: center;">For all you Vi using, Emacs haters out there, I will fight you!</p>
<img src="http://feeds.feedburner.com/~r/brandontreb/~4/ZtbgJ5Tya3s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brandontreb.com/emacs-for-osx-is-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://brandontreb.com/emacs-for-osx-is-out/</feedburner:origLink></item>
		<item>
		<title>The iPad Is Out And It Sounds Like iPod While Plugging Your Nose</title>
		<link>http://feedproxy.google.com/~r/brandontreb/~3/6CyWidjjm5A/</link>
		<comments>http://brandontreb.com/the-ipad-is-out-and-it-sounds-like-ipod-while-plugging-your-nose/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 18:33:43 +0000</pubDate>
		<dc:creator>brandontreb</dc:creator>
				<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[image]]></category>

		<guid isPermaLink="false">http://brandontreb.com/?p=761</guid>
		<description><![CDATA[<p style="text-align: center;"><img class="aligncenter size-medium wp-image-762" title="appletabletb113" src="http://brandontreb.com/wp-content/uploads/2010/01/appletabletb113-500x332.jpg" alt="" width="500" height="332" /></p>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-medium wp-image-762" title="appletabletb113" src="http://brandontreb.com/wp-content/uploads/2010/01/appletabletb113-500x332.jpg" alt="" width="500" height="332" /></p>
<img src="http://feeds.feedburner.com/~r/brandontreb/~4/6CyWidjjm5A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brandontreb.com/the-ipad-is-out-and-it-sounds-like-ipod-while-plugging-your-nose/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://brandontreb.com/the-ipad-is-out-and-it-sounds-like-ipod-while-plugging-your-nose/</feedburner:origLink></item>
		<item>
		<title>It’s A Good Day To Be A Software Developer</title>
		<link>http://feedproxy.google.com/~r/brandontreb/~3/wgfqTzJw7_M/</link>
		<comments>http://brandontreb.com/its-a-good-day-to-be-a-software-developer/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 17:23:38 +0000</pubDate>
		<dc:creator>brandontreb</dc:creator>
				<category><![CDATA[Nerdyness]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software developer]]></category>

		<guid isPermaLink="false">http://brandontreb.com/?p=749</guid>
		<description><![CDATA[<p style="text-align: center;"><img class="size-medium wp-image-752 alignnone" title="Computer-Programmer" src="http://brandontreb.com/wp-content/uploads/2010/01/Computer-Programmer-490x500.gif" alt="" width="294" height="300" /></p>
I was just reading this article posted on CNET news <a href="http://news.cnet.com/8301-13505_3-10440254-16.html?tag=newsLatestHeadlinesArea.0">Apple's tablet: It's all about developers</a> and thought to myself, it's a great day to be a software developer.  This quote from the article got me exceptionally excited.
<blockquote>"Never have developers mattered more. As Apple readies its tablet announcement party for later Wednesday morning, the big question remaining is whether developers will join, or whether they'll join <a class="zem_slink" title="Android" rel="homepage" href="http://code.google.com/android/">Google's Android</a> and Chrome initiatives."</blockquote>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-medium wp-image-752 alignnone" title="Computer-Programmer" src="http://brandontreb.com/wp-content/uploads/2010/01/Computer-Programmer-490x500.gif" alt="" width="294" height="300" /></p>
<p>I was just reading this article posted on CNET news <a href="http://news.cnet.com/8301-13505_3-10440254-16.html?tag=newsLatestHeadlinesArea.0">Apple&#8217;s tablet: It&#8217;s all about developers</a> and thought to myself, it&#8217;s a great day to be a software developer.  This quote from the article got me exceptionally excited.</p>
<blockquote><p>&#8220;Never have developers mattered more. As Apple readies its tablet announcement party for later Wednesday morning, the big question remaining is whether developers will join, or whether they&#8217;ll join <a class="zem_slink" title="Android" rel="homepage" href="http://code.google.com/android/">Google&#8217;s Android</a> and Chrome initiatives.&#8221;</p></blockquote>
<p>With the release of all of these new devices, developers have just gotten much more marketable.  It&#8217;s amazing how our worth skyrockets with every new Apple, Google, or Microsoft event.  Never before have software developers had so many opportunities to be successful.</p>
<p>There are now over 100K applications in the <a class="zem_slink" title="App Store" rel="homepage" href="http://www.apple.com/iphone/appstore/">iTunes App Store</a> with over half of them being paid.  That means, Apple is making money for upwards of 50,000 software developers!</p>
<p>I for one, love being a software developer and am very excited for what the future holds for us.</p>
<div class="zemanta-pixie" style="clear: both; margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/ff060ac5-6aff-4cba-86d7-7f9d50d6ea3a/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=ff060ac5-6aff-4cba-86d7-7f9d50d6ea3a" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<img src="http://feeds.feedburner.com/~r/brandontreb/~4/wgfqTzJw7_M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brandontreb.com/its-a-good-day-to-be-a-software-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://brandontreb.com/its-a-good-day-to-be-a-software-developer/</feedburner:origLink></item>
		<item>
		<title>Watch Out Apple, The Kindle Dev Kit Is Almost Live</title>
		<link>http://feedproxy.google.com/~r/brandontreb/~3/IPPjvrJv5pw/</link>
		<comments>http://brandontreb.com/watch-out-apple-the-kindle-dev-kit-is-almost-live/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 18:53:36 +0000</pubDate>
		<dc:creator>brandontreb</dc:creator>
				<category><![CDATA[Nerdyness]]></category>
		<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[Amazon.com]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Game Boy]]></category>
		<category><![CDATA[kindle]]></category>
		<category><![CDATA[kindle api]]></category>

		<guid isPermaLink="false">http://brandontreb.com/?p=739</guid>
		<description><![CDATA[<p style="text-align: center;"><a href="http://brandontreb.com/wp-content/uploads/2010/01/kindel-dev-gameboy.png"><img class="size-medium wp-image-743 aligncenter" title="kindel-dev-gameboy" src="http://brandontreb.com/wp-content/uploads/2010/01/kindel-dev-gameboy-500x333.png" alt="" width="500" height="333" /></a></p>
With the success of the Apple App Store, it seems that everyone is wanting  a piece of the pie.

Amazon is now looking to throw their hat into the ring and is releasing their own dev kit for their ever so popular Kindle.

<a href="http://www.amazon.com/gp/feature.html/?ie=UTF8&#38;docId=1000476231">http://www.amazon.com/gp/feature.html/?ie=UTF8&#38;docId=1000476231</a>

It appears that big name game developers Electronic Arts is also getting involved (WTH?!?!)

This just seems like it will be an epic fail.  Who really wants to play video games on their Kindle?  Maybe they can port <a href="http://brandontreb.com/code-monkey-music-video/">Kirby's Dreamland</a> from the original Game Boy :) .]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://brandontreb.com/wp-content/uploads/2010/01/kindel-dev-gameboy.png"><img class="size-medium wp-image-743 aligncenter" title="kindel-dev-gameboy" src="http://brandontreb.com/wp-content/uploads/2010/01/kindel-dev-gameboy-500x333.png" alt="" width="500" height="333" /></a></p>
<p>With the success of the <a class="zem_slink" title="App Store" rel="homepage" href="http://www.apple.com/iphone/appstore/">Apple App Store</a>, it seems that everyone is wanting  a piece of the pie.</p>
<p>Amazon is now looking to throw their hat into the ring and is releasing their own dev kit for their ever so popular Kindle.</p>
<p><a href="http://www.amazon.com/gp/feature.html/?ie=UTF8&amp;docId=1000476231">http://www.amazon.com/gp/feature.html/?ie=UTF8&amp;docId=1000476231</a></p>
<p>It appears that big name game developers Electronic Arts is also getting involved (WTH?!?!)</p>
<p>This just seems like it will be an epic fail.  Who really wants to play video games on their Kindle?  Maybe they can port <a href="http://brandontreb.com/code-monkey-music-video/">Kirby&#8217;s Dreamland</a> from the original Game Boy <img src='http://brandontreb.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://gizmodo.com/5453395/amazon-opens-kindle-up-for-development-app-store-ahoy">Amazon Opens Kindle Up for Development: App Store Ahoy [Kindle]</a> (gizmodo.com)</li>
<li class="zemanta-article-ul-li"><a href="http://news.cnet.com/8301-13577_3-10438661-36.html?part=rss&amp;subj=news&amp;tag=2547-1_3-0-20">Amazon: Kindle app store on the way</a> (news.cnet.com)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/f48c6302-1cf7-4b20-aa9c-3b2147192e8f/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=f48c6302-1cf7-4b20-aa9c-3b2147192e8f" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<img src="http://feeds.feedburner.com/~r/brandontreb/~4/IPPjvrJv5pw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brandontreb.com/watch-out-apple-the-kindle-dev-kit-is-almost-live/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://brandontreb.com/watch-out-apple-the-kindle-dev-kit-is-almost-live/</feedburner:origLink></item>
		<item>
		<title>Code Monkey Music Video</title>
		<link>http://feedproxy.google.com/~r/brandontreb/~3/z4xkPIM0AQc/</link>
		<comments>http://brandontreb.com/code-monkey-music-video/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 22:45:52 +0000</pubDate>
		<dc:creator>brandontreb</dc:creator>
				<category><![CDATA[Nerdyness]]></category>
		<category><![CDATA[code monkey]]></category>
		<category><![CDATA[cube farm]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://brandontreb.com/?p=736</guid>
		<description><![CDATA[Watching this video makes me appreciate the fact that I work from home.

<center>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" 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://www.youtube.com/v/qYodWEKCuGg&#38;hl=en_US&#38;fs=1&#38;rel=0&#38;color1=0x006699&#38;color2=0x54abd6" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/qYodWEKCuGg&#38;hl=en_US&#38;fs=1&#38;rel=0&#38;color1=0x006699&#38;color2=0x54abd6" allowscriptaccess="always" allowfullscreen="true"></embed></object>
</center>]]></description>
			<content:encoded><![CDATA[<p>Watching this video makes me appreciate the fact that I work from home.</p>
<p><center><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" 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://www.youtube.com/v/qYodWEKCuGg&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x006699&amp;color2=0x54abd6" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/qYodWEKCuGg&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x006699&amp;color2=0x54abd6" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
</center></p>
<img src="http://feeds.feedburner.com/~r/brandontreb/~4/z4xkPIM0AQc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brandontreb.com/code-monkey-music-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://brandontreb.com/code-monkey-music-video/</feedburner:origLink></item>
		<item>
		<title>Hacking Redbox – How To Get Free DVDs</title>
		<link>http://feedproxy.google.com/~r/brandontreb/~3/TVsMT90syrU/</link>
		<comments>http://brandontreb.com/hacking-redbox-how-to-get-free-dvds/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 14:00:43 +0000</pubDate>
		<dc:creator>brandontreb</dc:creator>
				<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[DVD]]></category>
		<category><![CDATA[free redbox]]></category>
		<category><![CDATA[Movies]]></category>
		<category><![CDATA[redbox]]></category>
		<category><![CDATA[redbox codes]]></category>

		<guid isPermaLink="false">http://brandontreb.com/?p=697</guid>
		<description><![CDATA[<div class="wp-caption aligncenter" style="width: 310px"><a href="http://commons.wikipedia.org/wiki/Image:Red_Box_Video_Rental_Automat.jpg" onclick="javascript:pageTracker._trackPageview('/outbound/article/commons.wikipedia.org');"><img src="http://brandontreb.com/wp-content/uploads/2010/01/300px-Red_Box_Video_Rental_Automat.jpg" alt="Red Box, Video Rental Automat, found in a Wal-..." width="300" height="356" /></a><p class="wp-caption-text">Image via Wikipedia</p></div> 
I was at Wally-World the other day getting a movie from RedBox with my wife when I noticed some guy enter in a code into the machine.  The code was BREAKROOM.  After watching him for a moment, I realized this code entitled him a free DVD rental.]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" style="width: 310px; margin: 1em;">
<div class="wp-caption aligncenter" style="width: 310px"><a href="http://commons.wikipedia.org/wiki/Image:Red_Box_Video_Rental_Automat.jpg"><img src="http://brandontreb.com/wp-content/uploads/2010/01/300px-Red_Box_Video_Rental_Automat.jpg" alt="Red Box, Video Rental Automat, found in a Wal-..." width="300" height="356" /></a><p class="wp-caption-text">Image via Wikipedia</p></div>
</div>
<p>I was at Wally-World the other day getting a movie from RedBox with my wife when I noticed some guy enter in a code into the machine.  The code was BREAKROOM.  After watching him for a moment, I realized this code entitled him a free DVD rental.</p>
<p>Now, RedBox is pretty stinking cheap ($1.50/night), but if you&#8217;re an avid movie watcher, this really adds up.</p>
<p>So, I did some searching on the Google machine and sure enough, there are new RedBox codes that go into circulation every day.  Each one giving you a free DVD.</p>
<p>The site that offers the RedBox codes is <a href="http://www.insideredbox.com/redbox-codes/">http://www.insideredbox.com/redbox-codes/</a></p>
<p>Users submit the codes and update the site with the last time they were used.  That way, you always know which codes are currently working.</p>
<p>You simply need to enter the coupon code from the main screen or just before checkout at your local Redbox kiosk. When you do, you will receive a one-day free rental. Any additional days you keep the movie will be charged at the usual $1.50/day.</p>
<p>Update: <a href="http://twitter.com/diemer">@diemer</a> on Twitter pointed out to me that inside Redbox also has an iPhone app.  The link for the app is <a href="http://itunes.apple.com/us/app/inside-redbox-pro/id306217360?mt=8">http://itunes.apple.com/us/app/inside-redbox-pro/id306217360?mt=8</a></p>
<p>I may actually cancel my Netflix account now&#8230;</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/ef29dfb8-87cb-4d2b-9100-d8798440ec70/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=ef29dfb8-87cb-4d2b-9100-d8798440ec70" alt="Reblog this post [with Zemanta]" /></a></div>
<img src="http://feeds.feedburner.com/~r/brandontreb/~4/TVsMT90syrU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brandontreb.com/hacking-redbox-how-to-get-free-dvds/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://brandontreb.com/hacking-redbox-how-to-get-free-dvds/</feedburner:origLink></item>
		<item>
		<title>Great List Of Algorithm Programming Tutorials</title>
		<link>http://feedproxy.google.com/~r/brandontreb/~3/hcuDN012xoc/</link>
		<comments>http://brandontreb.com/great-list-of-algorithm-programming-tutorials/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 16:32:34 +0000</pubDate>
		<dc:creator>brandontreb</dc:creator>
				<category><![CDATA[Nonsense]]></category>
		<category><![CDATA[Algorithm]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[programming resource]]></category>
		<category><![CDATA[TopCoder]]></category>

		<guid isPermaLink="false">http://brandontreb.com/?p=692</guid>
		<description><![CDATA[Recently TopCoder.com posted a list of <a href="http://www.topcoder.com/tc?d1=tutorials&#038;d2=alg_index&#038;module=Static">algorithm tutorials</a> from some of their "top coders".

The tutorials are very comprehensive and pretty much sum my undergraduate computer science degree up in one page :)

<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/218488e3-5baf-4c43-9999-247610c49e95/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=218488e3-5baf-4c43-9999-247610c49e95" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>]]></description>
			<content:encoded><![CDATA[<p>Recently TopCoder.com posted a list of algorithm tutorials from some of their &#8220;top coders&#8221;.</p>
<p>The tutorials are very comprehensive and pretty much sum my undergraduate computer science degree up in one page <img src='http://brandontreb.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  This page is a great resource for anyone that does any amount of coding&#8230;</p>
<p>Some of the tutorials include:</p>
<ul>
<li>Greedy algorithms</li>
<li>Various sort and search techniques</li>
<li>Data structures</li>
<li>Graph theory</li>
</ul>
<p>Here is the link to the Top Coder Tutorials:</p>
<p><a href="http://www.topcoder.com/tc?d1=tutorials&amp;d2=alg_index&amp;module=Static">http://www.topcoder.com/tc?d1=tutorials&amp;d2=alg_index&amp;module=Static</a></p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/218488e3-5baf-4c43-9999-247610c49e95/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=218488e3-5baf-4c43-9999-247610c49e95" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<img src="http://feeds.feedburner.com/~r/brandontreb/~4/hcuDN012xoc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brandontreb.com/great-list-of-algorithm-programming-tutorials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://brandontreb.com/great-list-of-algorithm-programming-tutorials/</feedburner:origLink></item>
		<item>
		<title>XCode Shortcut</title>
		<link>http://feedproxy.google.com/~r/brandontreb/~3/iK-UkU0aBKo/</link>
		<comments>http://brandontreb.com/xcode-shortcut/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 17:07:21 +0000</pubDate>
		<dc:creator>brandontreb</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[MacBook Pro]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[xcode]]></category>
		<category><![CDATA[xcode shortcuts]]></category>

		<guid isPermaLink="false">http://brandontreb.com/?p=689</guid>
		<description><![CDATA[When in XCode on a <a class="zem_slink" title="MacBook" rel="wikipedia" href="http://en.wikipedia.org/wiki/MacBook">MacBook</a> Pro, doing a 3-finger swipe up will switch between the .h and .m files.

<strong>⌘-option-up will do the same thing</strong>

Productivity++
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/d1495139-6d75-42c2-bf27-46298f91b9e4/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=d1495139-6d75-42c2-bf27-46298f91b9e4" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>]]></description>
			<content:encoded><![CDATA[<p>When in XCode on a MacBook Pro, doing a 3-finger swipe up will switch between the .h and .m files.</p>
<p><strong>⌘-option-up will do the same thing</strong></p>
<p>Productivity++</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/d1495139-6d75-42c2-bf27-46298f91b9e4/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=d1495139-6d75-42c2-bf27-46298f91b9e4" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<img src="http://feeds.feedburner.com/~r/brandontreb/~4/iK-UkU0aBKo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://brandontreb.com/xcode-shortcut/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://brandontreb.com/xcode-shortcut/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 1.378 seconds. --><!-- Cached page generated by WP-Super-Cache on 2010-03-10 17:32:02 -->
