<?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>I didn&#039;t break it</title>
	<atom:link href="http://ididntbreak.it/feed/" rel="self" type="application/rss+xml" />
	<link>http://ididntbreak.it</link>
	<description>Jason Corradino - Developer</description>
	<lastBuildDate>Sat, 01 Dec 2012 03:30:30 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Sears and Kmart Community</title>
		<link>http://ididntbreak.it/2012/12/sears-and-kmart-community/</link>
		<comments>http://ididntbreak.it/2012/12/sears-and-kmart-community/#comments</comments>
		<pubDate>Sat, 01 Dec 2012 03:30:30 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://ididntbreak.it/?p=454</guid>
		<description><![CDATA[The pitch
The Sears and Kmart Community is a place where customers can go to get their questions answered by product experts &#8211; whether it is about that weird noise their drier is making, or just a simple question about that TV they&#8217;ve had their eye on after seeing it in a weekly ad.  The Community  [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_458" class="wp-caption alignnone" style="width: 665px"><a href="https://www.sears.com/community"><img class=" wp-image-458" title="communities" src="http://ididntbreak.it/wp-content/uploads/2012/11/communities.jpg" alt="" width="655" height="204" /></a><p class="wp-caption-text">mySears Community, the place to go to get questions about your appliances and products answered.</p></div>
<h3>The pitch</h3>
<p>The <a href="https://www.sears.com/community" target="_blank">Sears</a> and <a href="https://www.kmart.com/community" target="_blank">Kmart</a> Community is a place where customers can go to get their questions answered by product experts &#8211; whether it is about that weird noise their drier is making, or just a simple question about that TV they&#8217;ve had their eye on after seeing it in a weekly ad.  The Community also gives a customer the perfect opportunity to no only get their questions answered, but weigh in on another customer&#8217;s questions, or just read up on what is new in whatever field interests them, or find information about what the products they are interested in.</p>
<h3>The nitty gritty</h3>
<p>The Community sites are sitting on an nginx/MySQL framework with WordPress Networks doing the heavy lifting.  The sites boast well over 1.5 million users, and the ability to add much, much more with Sears and Kmart single sign on capabilities, as well as well as facebook, yahoo, and google single sign on connectivity.  This site will sync all user information across all Sears websites, allowing a returning user &#8211; regardless of which web property they visit &#8211; the ability to sign on without having to handle new user registration.  As I said above, this site uses networks, and shares many common elements &#8211; including themes, database tables, and plugins &#8211; all on one system.</p>
<p>This site utilizes a revolutionary &#8220;Section Front&#8221; implementation &#8211; <a href="http://eddiemoya.com/2012/10/01/sears-community-kmart-community-launched/" target="_blank">created by Eddie Moya</a> - allowing site editors the ability to create custom category pages with an easy to use and fully customizable click and drag interface.</p>
]]></content:encoded>
			<wfw:commentRss>http://ididntbreak.it/2012/12/sears-and-kmart-community/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hash Authentication</title>
		<link>http://ididntbreak.it/2012/07/hash-authentication/</link>
		<comments>http://ididntbreak.it/2012/07/hash-authentication/#comments</comments>
		<pubDate>Tue, 10 Jul 2012 13:54:49 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Code Fun]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://ididntbreak.it/?p=404</guid>
		<description><![CDATA[After coming across this article on Reddit today, and chatting with a good friend and colleague about the benefits and issues of using the authentication method outlined by the author, we both came to the conclusion that we were not fans of the way the author handled the hash table comparisons for  [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_410" class="wp-caption alignnone" style="width: 610px"><img class="size-large wp-image-410  " title="hashtable" src="http://ididntbreak.it/wp-content/uploads/2012/07/hashtable-1024x319.png" alt="" width="600" height="189" /><p class="wp-caption-text">The Hash Table generated using this method of authentication.</p></div>
<p>After coming across <a href="http://www.opine.me/a-better-way-to-store-password-hashes/" target="_blank">this article</a> on Reddit today, and chatting with a <a href="http://eddiemoya.com/" target="_blank">good friend and colleague</a> about the benefits and issues of using the authentication method outlined by the author, we both came to the conclusion that we were not fans of the way the author handled the hash table comparisons for users, so I decided to work on it a little bit at home and try to make it better.</p>
<p>Before I go into details, here are the database tables I created to get this authentication to work:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="sql" style="font-family:monospace;">mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">DESCRIBE</span> hashes;
<span style="color: #66cc66;">+</span>_______<span style="color: #66cc66;">+</span>_____________<span style="color: #66cc66;">+</span>______<span style="color: #66cc66;">+</span>_____<span style="color: #66cc66;">+</span>_________<span style="color: #66cc66;">+</span>_______<span style="color: #66cc66;">+</span>
<span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">FIELD</span>  <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">TYPE</span>         <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">NULL</span>  <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span>  <span style="color: #66cc66;">|</span> Extra <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span>_______<span style="color: #66cc66;">+</span>_____________<span style="color: #66cc66;">+</span>______<span style="color: #66cc66;">+</span>_____<span style="color: #66cc66;">+</span>_________<span style="color: #66cc66;">+</span>_______<span style="color: #66cc66;">+</span>
<span style="color: #66cc66;">|</span> hash  <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">64</span><span style="color: #66cc66;">&#41;</span>   <span style="color: #66cc66;">|</span> NO   <span style="color: #66cc66;">|</span> PRI <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">NULL</span>    <span style="color: #66cc66;">|</span>       <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span> salt  <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">64</span><span style="color: #66cc66;">&#41;</span>   <span style="color: #66cc66;">|</span> NO   <span style="color: #66cc66;">|</span>     <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">NULL</span>    <span style="color: #66cc66;">|</span>       <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span>_______<span style="color: #66cc66;">+</span>_____________<span style="color: #66cc66;">+</span>______<span style="color: #66cc66;">+</span>_____<span style="color: #66cc66;">+</span>_________<span style="color: #66cc66;">+</span>_______<span style="color: #66cc66;">+</span>
<span style="color: #cc66cc;">2</span> <span style="color: #993333; font-weight: bold;">ROWS</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.01</span> sec<span style="color: #66cc66;">&#41;</span>
&nbsp;
mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">DESCRIBE</span> users;
<span style="color: #66cc66;">+</span>__________<span style="color: #66cc66;">+</span>_____________<span style="color: #66cc66;">+</span>______<span style="color: #66cc66;">+</span>_____<span style="color: #66cc66;">+</span>_________<span style="color: #66cc66;">+</span>________________<span style="color: #66cc66;">+</span>
<span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">FIELD</span>     <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">TYPE</span>         <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">KEY</span>  <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #66cc66;">|</span> Extra           <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span>__________<span style="color: #66cc66;">+</span>_____________<span style="color: #66cc66;">+</span>______<span style="color: #66cc66;">+</span>_____<span style="color: #66cc66;">+</span>_________<span style="color: #66cc66;">+</span>________________<span style="color: #66cc66;">+</span>
<span style="color: #66cc66;">|</span> uid      <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">INT</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">11</span><span style="color: #66cc66;">&#41;</span>       <span style="color: #66cc66;">|</span> NO   <span style="color: #66cc66;">|</span> PRI <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">NULL</span>    <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span>  <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span> username <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">30</span><span style="color: #66cc66;">&#41;</span>   <span style="color: #66cc66;">|</span> NO   <span style="color: #66cc66;">|</span>     <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">NULL</span>    <span style="color: #66cc66;">|</span>                <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span> hash     <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">64</span><span style="color: #66cc66;">&#41;</span>   <span style="color: #66cc66;">|</span> NO   <span style="color: #66cc66;">|</span>     <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">NULL</span>    <span style="color: #66cc66;">|</span>                <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">|</span> salt     <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">64</span><span style="color: #66cc66;">&#41;</span>   <span style="color: #66cc66;">|</span> NO   <span style="color: #66cc66;">|</span>     <span style="color: #66cc66;">|</span> <span style="color: #993333; font-weight: bold;">NULL</span>    <span style="color: #66cc66;">|</span>                <span style="color: #66cc66;">|</span>
<span style="color: #66cc66;">+</span>__________<span style="color: #66cc66;">+</span>_____________<span style="color: #66cc66;">+</span>______<span style="color: #66cc66;">+</span>_____<span style="color: #66cc66;">+</span>_________<span style="color: #66cc66;">+</span>________________<span style="color: #66cc66;">+</span>
<span style="color: #cc66cc;">4</span> <span style="color: #993333; font-weight: bold;">ROWS</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.00</span> sec<span style="color: #66cc66;">&#41;</span></pre></td></tr></table></div>

<p>I set the hash field in the hashes table to an indexed column to allow quick(er) searching through the table, trying to alleviate the issues we might run into if this table becomes too large.  Without the user&#8217;s password, there is no connection between these two tables, as it is required to generate the data within the hash column in the hashes table.  Creating a user would happen like so:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// note, this uses my database class, which can be found at http://code.imyourdeveloper.com/database.txt</span>
<span style="color: #000000; font-weight: bold;">function</span> create<span style="color: #009900;">&#40;</span><span style="color: #000088;">$applicationSalt</span><span style="color: #339933;">,</span> <span style="color: #000088;">$user</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">//generate salts</span>
	<span style="color: #000088;">$userSalt</span> <span style="color: #339933;">=</span> <span style="color: #990000;">hash</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;sha256&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$applicationSalt</span><span style="color: #339933;">.</span><span style="color: #990000;">rand</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$hashesSalt</span> <span style="color: #339933;">=</span> <span style="color: #990000;">hash</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;sha256&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$applicationSalt</span><span style="color: #339933;">.</span><span style="color: #990000;">rand</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #000088;">$applicationSalt</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//generate hashes</span>
	<span style="color: #000088;">$userHash</span> <span style="color: #339933;">=</span> <span style="color: #990000;">hash</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;sha256&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$applicationSalt</span><span style="color: #339933;">.</span><span style="color: #000088;">$user</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">password</span><span style="color: #339933;">.</span><span style="color: #000088;">$hashSalt</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$hashesHash</span> <span style="color: #339933;">=</span> <span style="color: #990000;">hash</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;sha256&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$applicationSalt</span><span style="color: #339933;">.</span><span style="color: #000088;">$user</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">password</span><span style="color: #339933;">.</span><span style="color: #000088;">$userSalt</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//create queries</span>
	<span style="color: #000088;">$user</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'insert into users (uid, username, hash, salt) values (null, &quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$user</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">username</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;, &quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$userHash</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;, &quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$userSalt</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;)'</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$hash</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'insert into hashes (hash, salt) values (&quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$hashesHash</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;, &quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$hashesSalt</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;)'</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//run queries</span>
	<span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$user</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hash</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>This was a little bit of a pain, and took some staring at my monitor to wrap my head around, trying to remember what went where, but I eventually got it working.  The application salt is your secret salt set in the application that you will use to salt data going to the database, and user passes through any data you want to write about the user to the database.  A combination of the user salt, the application hash, and the user&#8217;s password is used to generate the user hash and the authentication lookup hash in the hashes table.  When the user types in a password, it runs through the algorithm creating a hash, looks up that hash in the hashes table, recalculates another hash using a randomly generated salt in the hashes table, the user&#8217;s password, and the application salt, then compares with the hash in the Users table.  If this matches, then the user is who he says he is, and is logged in.  This happens like so:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> lookup<span style="color: #009900;">&#40;</span><span style="color: #000088;">$applicationSalt</span><span style="color: #339933;">,</span> <span style="color: #000088;">$user</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;">$db</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$userLookup</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getObj</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'select * from Users where username = &quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$user</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">username</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$check</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$applicationHash</span><span style="color: #339933;">.</span><span style="color: #000088;">$user</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">password</span><span style="color: #339933;">.</span><span style="color: #000088;">$userLookup</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">salt</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$hash</span> <span style="color: #339933;">=</span> <span style="color: #990000;">hash</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;sha256&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$check</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$hashSalt</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getObj</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;select * from Hashes where hash = '<span style="color: #006699; font-weight: bold;">$hash</span>'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">salt</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$userLookup</span><span style="color: #339933;">-&gt;</span><span style="color: #990000;">hash</span> <span style="color: #339933;">==</span> <span style="color: #990000;">hash</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;sha256&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$applicationSalt</span><span style="color: #339933;">.</span><span style="color: #000088;">$user</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">password</span><span style="color: #339933;">.</span><span style="color: #000088;">$hashSalt</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// logged in</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// login failed</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>This may not be a perfect implementation of this code, but I wasn&#8217;t a fan of the way it was being handled in the other article; and this was a neat little problem to work on, so expect updates in the future..  The mathematical probability of you being able to brute force the user&#8217;s password was astronomically low before, but it was nothing more than a one-way relation.  This way, you not only need to brute force the users password to go one way (towards the hashes table), but the password you get is likely not going to work, as another hash is checked going in reverse, ensuring the only string that is accepted is the user&#8217;s.</p>
<p>If you have any better ideas of how to implement this, please feel free to post it below.  <a href="http://code.imyourdeveloper.com/hashauthentication.txt" target="_blank">Click here</a> for a full version of the code above.</p>
]]></content:encoded>
			<wfw:commentRss>http://ididntbreak.it/2012/07/hash-authentication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kenmore Connect</title>
		<link>http://ididntbreak.it/2012/07/kenmore-connect/</link>
		<comments>http://ididntbreak.it/2012/07/kenmore-connect/#comments</comments>
		<pubDate>Mon, 02 Jul 2012 20:48:16 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[HAML/SCSS]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[responsive]]></category>

		<guid isPermaLink="false">http://ididntbreak.it/?p=391</guid>
		<description><![CDATA[A couple months ago, I was borrowed out to the Ruby team here at Sears to help them with the Kenmore Connect project; a project that was, at that point, running a bit behind and needed a bit of help.  I&#8217;ve had some experience with Rails in the past, and I didn&#8217;t have a whole lot on my plate at the  [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignnone" style="width: 601px"><a href="http://www.kenmoreconnect.com"><img class="  " title="Kenmore Connect" src="http://images.imyourdeveloper.com/featured/kenmoreconnect.jpg" alt="" width="591" height="181" /></a><p class="wp-caption-text">Kenmore Connect </p></div>
<p>A couple months ago, I was borrowed out to the Ruby team here at Sears to help them with the Kenmore Connect project; a project that was, at that point, running a bit behind and needed a bit of help.  I&#8217;ve had some experience with Rails in the past, and I didn&#8217;t have a whole lot on my plate at the time, so I was chosen as the person that could probably help the most.  My role was primarily front-end, dealing with heavily responsive HAML/SCSS and a whole lot of jQuery, but I did do some work with rails &#8211; including building some device-based helpers that would help determine what environments are being used on page-load.</p>
<p>I am not terribly proficient with Rails, as I haven&#8217;t had much of a chance to work with it in any real projects; but it is projects like this that make me want to pick it up and run with it, as it is a very fun language to work with.</p>
<h3>The coolest bits of this project</h3>
<p>There were a few firsts for me in this project.  The coolest by far was probably the responsiveness of the site.  We had to create everything while keeping a responsive design in mind &#8211; that is, always thinking about the desktop view, tablet view, and mobile view.  This kept us on our toes resulted in an amazingly usable site, no matter the device you are using it on.  Also, I&#8217;ve never worked with HAML/SCSS, and this project opened me up to the amazing possibilities of programatic CSS.  it really seems like a huge piece of the CSS engine that is just missing.  Just the ability to set and use variables was a godsend, and really made it incredibly powerful.</p>
<p>Kenmore was an awesome client, and this was an awesome project.  It really makes me look forward to rails work in the future, since the language is incredibly fun to write and work with.</p>
<p>Happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://ididntbreak.it/2012/07/kenmore-connect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The most interesting project of my career.</title>
		<link>http://ididntbreak.it/2012/05/the-most-interesting-project-of-my-career/</link>
		<comments>http://ididntbreak.it/2012/05/the-most-interesting-project-of-my-career/#comments</comments>
		<pubDate>Sat, 12 May 2012 01:34:55 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[HAML/SCSS]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[kenmore]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://ididntbreak.it/?p=389</guid>
		<description><![CDATA[I just finished what is probably the most interesting project of my career thus far.  This project involved a lot of work with responsive HAML/SCSS, a slew of jQuery, and a hefty serving of Ruby on Rails.  I was brought onto the project a little late, as it was running behind and absolutely needed  [...]]]></description>
			<content:encoded><![CDATA[<p>I just finished what is probably the most interesting project of my career thus far.  This project involved a lot of work with responsive HAML/SCSS, a slew of jQuery, and a hefty serving of Ruby on Rails.  I was brought onto the project a little late, as it was running behind and absolutely needed to launch on time.  I started on it about a month and a half ago.</p>
<p>My role was mostly front-end oriented with HAML/SCSS/jQuery with only a bit of Rails work required of me, but I took the opportunity to get more comfortable with Rails, and took as many back-end tickets as I could (and that I thought I was capable of handling on my own without causing more work for someone else later on).  But I honestly have to say that the most impressive thing about this site is likely the responsive nature of it.  It is completely responsive, and scales based on the screen that is seeing it using media queries.  Apparently this is the first project of it&#8217;s kind at Sears, and we were setting a standard for the rest of the company to follow with our work &#8211; laying the foundation, if you will.</p>
<p>Stay tuned for images, the link to the live site, and a much more detailed synapsis of the work I did for Kenmore.</p>
]]></content:encoded>
			<wfw:commentRss>http://ididntbreak.it/2012/05/the-most-interesting-project-of-my-career/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Birthday Club and Facebook&#8217;s API</title>
		<link>http://ididntbreak.it/2012/04/the-birthday-club-and-facebooks-api/</link>
		<comments>http://ididntbreak.it/2012/04/the-birthday-club-and-facebooks-api/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 15:11:20 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://ididntbreak.it/?p=277</guid>
		<description><![CDATA[I recently finished working on KMart&#8217;s Birthday Club website, a wordpress-based children&#8217;s site that is geared towards parents looking to make their child&#8217;s special day memorable.  My role was handling all the social media aspects required in the project plan.
One of the bigger problems I ran into  [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_289" class="wp-caption alignnone" style="width: 606px"><a title="KMart's Birthday Club" href="http://birthdayclub.kmart.com" target="_blank"><img class="size-large wp-image-289       " title="KMart Birthday Club" src="http://ididntbreak.it/wp-content/uploads/2012/03/birthdayclub-1024x345.jpg" alt="" width="596" height="200" /></a><p class="wp-caption-text">KMart&#39;s Birthday Club</p></div>
<p>I recently finished working on KMart&#8217;s Birthday Club website, a wordpress-based children&#8217;s site that is geared towards parents looking to make their child&#8217;s special day memorable.  My role was handling all the social media aspects required in the project plan.</p>
<p>One of the bigger problems I ran into with this &#8211; I really didn&#8217;t like any of the existing facebook plugins for WordPress, so I ended up building my own.  It was really an interesting learning experience.  This gave me the opportunity to dig deeper into the new facebook Graph API than I have in the past, and it wasn&#8217;t as terrible as the facebook API once was.</p>
<p>My largest, and most interesting task, was to pull down photo-galleries and create a taxonomy for each one.  The interaction with facebook for pretty much everything I had to do was fairly simple:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009933; font-style: italic;">/**
 * Fetches data from facebook API
 *
 * @author Jason Corradino
 *
 * @param $path (required) facebook query path
 * @param $format (optional) format data is returned as either an object or json [obj|json]
 * @param $attr (optional) Adds additional attributes to the URL
 *
 * @return returns object of facebook data by default, json if 'format' parameter is set to json
 *
 */</span>
static <span style="color: #000000; font-weight: bold;">function</span> getData<span style="color: #009900;">&#40;</span><span style="color: #000088;">$path</span><span style="color: #339933;">,</span> <span style="color: #000088;">$format</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;obj&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$attr</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$pluginOptions</span> <span style="color: #339933;">=</span> get_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'facebook_gallery_options'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$token</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$pluginOptions</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;token&quot;</span><span style="color: #009900;">&#93;</span> ? <span style="color: #000088;">$pluginOptions</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;token&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">:</span> FACEBOOK_APP_TOKEN<span style="color: #339933;">;</span>
	<span style="color: #000088;">$ch</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_URL<span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;https://graph.facebook.com/&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$path</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;?access_token=&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$token</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&amp;amp;api_key=&quot;</span><span style="color: #339933;">.</span>FACEBOOK_API_KEY<span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&amp;amp;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$attr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_RETURNTRANSFER<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$return</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_exec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">curl_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$format</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;json&quot;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$return</span> <span style="color: #339933;">:</span> <span style="color: #990000;">json_decode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$return</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>The above code will use your facebook application token to open up a curl with the facebook graph API, pulling down the requested data set within the URL, returning in the format set within the function call — defaulting to an object, but allowing a JSON response.</p>
<p>There will be a more detailed post about this down the line, and I am considering releasing the plugin I built to wordpress.org extend.  So look forward to that.</p>
<p>Happy coding</p>
]]></content:encoded>
			<wfw:commentRss>http://ididntbreak.it/2012/04/the-birthday-club-and-facebooks-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to remove spammy facebook apps. (updated)</title>
		<link>http://ididntbreak.it/2012/03/how-to-remove-spammy-facebook-apps-updated/</link>
		<comments>http://ididntbreak.it/2012/03/how-to-remove-spammy-facebook-apps-updated/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 16:17:08 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Advice]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://ididntbreak.it/?p=303</guid>
		<description><![CDATA[When facebook released their new timeline layout, the path you must take to remove junk applications from your facebook profile has also changed, so I thought I would post the new steps to help out anyone in need.  It is still fairly easy to do, so lets get to it.
Step 1

And select privacy  [...]]]></description>
			<content:encoded><![CDATA[<p>When facebook released their new timeline layout, the path you must take to remove junk applications from your facebook profile has also changed, so I thought I would post the new steps to help out anyone in need.  It is still fairly easy to do, so lets get to it.</p>
<h2>Step 1</h2>
<p><a href="http://ididntbreak.it/wp-content/uploads/2012/03/Facebook.jpg"><img class="alignnone size-full wp-image-307" title="Facebook" src="http://ididntbreak.it/wp-content/uploads/2012/03/Facebook.jpg" alt="" width="263" height="90" /></a></p>
<p>And select privacy settings</p>
<p><a href="http://ididntbreak.it/wp-content/uploads/2012/03/Facebook-1.jpg"><img class="alignnone size-full wp-image-308" title="Facebook-1" src="http://ididntbreak.it/wp-content/uploads/2012/03/Facebook-1.jpg" alt="" width="310" height="213" /></a></p>
<h2>Step 2</h2>
<p>Scroll down to Apps and Websites and click Edit Settings</p>
<p><a href="http://ididntbreak.it/wp-content/uploads/2012/03/Snapshot-113012-1049-AM.png"><img class="alignnone size-full wp-image-309" title="Privacy Settings-2" src="http://ididntbreak.it/wp-content/uploads/2012/03/Snapshot-113012-1049-AM.png" alt="" width="620" height="62" /></a></p>
<h2>Step 3</h2>
<p>Select &#8220;Remove unwanted or spammy apps&#8221;</p>
<p><a href="http://ididntbreak.it/wp-content/uploads/2012/03/Snapshot-113012-1051-AM-3.png"><img class="alignnone size-full wp-image-310" title="Privacy Settings-1" src="http://ididntbreak.it/wp-content/uploads/2012/03/Snapshot-113012-1051-AM-3.png" alt="" width="675" height="222" /></a></p>
<h2>Step 4</h2>
<p>Now we just need to select the application</p>
<p><a href="http://ididntbreak.it/wp-content/uploads/2012/03/App-Settings.jpg"><img class="alignnone size-full wp-image-311" title="App Settings" src="http://ididntbreak.it/wp-content/uploads/2012/03/App-Settings.jpg" alt="" width="600" height="29" /></a></p>
<p>and then remove it</p>
<p><a href="http://ididntbreak.it/wp-content/uploads/2012/03/App-Settings-1.jpg"><img class="alignnone size-full wp-image-312" title="App Settings-1" src="http://ididntbreak.it/wp-content/uploads/2012/03/App-Settings-1.jpg" alt="" width="598" height="193" /></a></p>
<p>And that&#8217;s it, now just repeat step 4 until you&#8217;ve removed all of the apps you don&#8217;t want.</p>
]]></content:encoded>
			<wfw:commentRss>http://ididntbreak.it/2012/03/how-to-remove-spammy-facebook-apps-updated/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Comcast/AT&amp;T/Verizon: I Call Shenanigans</title>
		<link>http://ididntbreak.it/2012/02/isp-i-call-shenanigans/</link>
		<comments>http://ididntbreak.it/2012/02/isp-i-call-shenanigans/#comments</comments>
		<pubDate>Sat, 25 Feb 2012 00:50:05 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Off Topic]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[shenanigans]]></category>

		<guid isPermaLink="false">http://ididntbreak.it/?p=281</guid>
		<description><![CDATA[After seeing this stuff spread across the internet, I thought I would interject, and explain to everyone how the internet &#8220;actually&#8221; works.
Recently, I have started seeing more and more internet service providers claiming that a small percentage of their users are &#8220;hogging&#8221; all the bandwidth.  That  [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_283" class="wp-caption alignleft" style="width: 310px"><a href="http://ididntbreak.it/wp-content/uploads/2012/02/107106_6467.jpeg"><img class="size-medium wp-image-283 " title="Servers" src="http://ididntbreak.it/wp-content/uploads/2012/02/107106_6467-300x225.jpg" alt="Servers" width="300" height="225" /></a><p class="wp-caption-text">This, my friends, is the internet (or at least a small bit of it)</p></div>
<p>After seeing this stuff spread across the internet, I thought I would interject, and explain to everyone how the internet &#8220;actually&#8221; works.</p>
<p>Recently, I have started seeing more and more internet service providers claiming that a small percentage of their users are &#8220;hogging&#8221; all the bandwidth.  That a small group of users are using the networks so much, it is bogging down the system for everyone else.</p>
<p>Shenanigans.</p>
<p>There is a small modicum of truth in that idea, but you need to understand how networks actually work before seeing how garbage that claim actually is.  Lets say I go out and start up an ISP in Chicago.  I put up one &#8220;data path&#8221; (connection to the internet as a whole) for my soon-to be customers, and eventually get my first customer.  He thinks it is great, it is fast as hell, and he is happy.  So happy, in fact, that he goes out and tells all his friends how awesome my service is.  A few weeks down the line, 10 of his friends decided to try me out, so signed up.  Now instead of one person on that data path, there are 11.</p>
<p>Imagine this as a group of cars on the highway merging into a single lane of traffic.  When there is one car, everything is all fine, and he goes on like there are no problems.  What happens when there are 11 cars?  The cars start to jam up, and some get forced to wait their turn to merge into the proper lane.  This is what is happening.</p>
<p>Now customer 1 is calling and complaining that his internet service is sluggish, and not nearly as fast as it was when he signed up.  Who&#8217;s fault is this?  Is this the fault of the customers &#8211; regardless of how much information they are using up, it is nothing more than one more car on the hypothetical highway above doing the same speed as everyone else,  or is it the fault of the system operator &#8211; the entity that is in charge of making sure there are enough lanes available on the highway so that users can get through without long wait times.</p>
<p>Go back to the highway scenario&#8230; do you blame the car in front of you for the traffic jam&#8230; or the entity that caused the jam in the first place?</p>
<p>Next time you hear someone say that the dirty users are using up too much data and ruining a good thing for everyone&#8230; call shenanigans on them, and tell them that the ISP is just being cheap, and using users as a fall-guy instead of upgrading their networks to provide a level of service they promised you when you signed up (and are more than happy to charge you for getting)</p>
]]></content:encoded>
			<wfw:commentRss>http://ididntbreak.it/2012/02/isp-i-call-shenanigans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The kmart fashion blog and holiday lookbook</title>
		<link>http://ididntbreak.it/2012/01/the-kmart-fashion-blog-and-holiday-lookbook/</link>
		<comments>http://ididntbreak.it/2012/01/the-kmart-fashion-blog-and-holiday-lookbook/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 06:32:46 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[kmart]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://ididntbreak.it/?p=271</guid>
		<description><![CDATA[
My most recent project was for Sears Holdings alongside a coworker and friend of mine, Eddie Moya.  My role was completing the front-end goodness for this&#8212;and future&#8212;lookbooks, achieving an easy-to-use and polished experience for the user.  Was a pretty cool project, and allowed me to toy around  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://fashionblog.kmart.com/category/lookbook"><img class="alignnone size-full wp-image-272" title="lookbook" src="http://ididntbreak.it/wp-content/uploads/2012/02/lookbook-e1329632868408.jpg" alt="" width="609" height="248" /></a></p>
<p>My most recent project was for Sears Holdings alongside a coworker and friend of mine, <a href="http://eddiemoya.com/" target="_blank">Eddie Moya</a>.  My role was completing the front-end goodness for this&mdash;and future&mdash;lookbooks, achieving an easy-to-use and polished experience for the user.  Was a pretty cool project, and allowed me to toy around with jquery animations&mdash;always a fun thing to play with.</p>
]]></content:encoded>
			<wfw:commentRss>http://ididntbreak.it/2012/01/the-kmart-fashion-blog-and-holiday-lookbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Posts coming soon&#8230;</title>
		<link>http://ididntbreak.it/2011/12/posts-coming-soon/</link>
		<comments>http://ididntbreak.it/2011/12/posts-coming-soon/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 18:35:49 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Off Topic]]></category>
		<category><![CDATA[planning to plan]]></category>

		<guid isPermaLink="false">http://ididntbreak.it/?p=180</guid>
		<description><![CDATA[I have been a bit busy for the last couple months, and I have some posts in the works.
]]></description>
			<content:encoded><![CDATA[<p>I have been a bit busy for the last couple months, and I have some posts in the works.</p>
]]></content:encoded>
			<wfw:commentRss>http://ididntbreak.it/2011/12/posts-coming-soon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Twitteriffic auto-follower &#8211; it&#8217;s coming.</title>
		<link>http://ididntbreak.it/2011/10/the-twitteriffic-auto-follower-its-coming/</link>
		<comments>http://ididntbreak.it/2011/10/the-twitteriffic-auto-follower-its-coming/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 00:48:09 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://ididntbreak.it/?p=170</guid>
		<description><![CDATA[Do you run a business and harness the power of social media to get your name out there?  Do you watch for mentions, good and bad?  Well, this may help you keep track of those precious mentions, and reward your valuable customers.
My new pet-project (as yet unnamed) will allow you to feed in  [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-171 alignleft" title="twitteriffic-autofollower" src="http://ididntbreak.it/wp-content/uploads/2011/10/twitteriffic-autofollower.png" alt="" width="159" height="200" />Do you run a business and harness the power of social media to get your name out there?  Do you watch for mentions, good and bad?  Well, this may help you keep track of those precious mentions, and reward your valuable customers.</p>
<p>My new pet-project (as yet unnamed) will allow you to feed in brand-specific keywords, then watch for people mentioning your keywords on twitter, auto-following those that are talking about you.  This may be a stand-alone script, or a dedicated site.  I will update when I have a bit more information.  Keep a lookout, it is on it&#8217;s way.</p>
]]></content:encoded>
			<wfw:commentRss>http://ididntbreak.it/2011/10/the-twitteriffic-auto-follower-its-coming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
