<?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/" version="2.0">

<channel>
	<title>Adam Patterson - Edmonton Web Design and Development</title>
	
	<link>http://www.adampatterson.ca</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Mon, 25 Mar 2013 06:19:11 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/adampatterson" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="adampatterson" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Winter riding secrets</title>
		<link>http://www.adampatterson.ca/blog/2013/02/winter-riding-secrets/</link>
		<comments>http://www.adampatterson.ca/blog/2013/02/winter-riding-secrets/#comments</comments>
		<pubDate>Fri, 15 Feb 2013 01:54:30 +0000</pubDate>
		<dc:creator>Adam Patterson</dc:creator>
				<category><![CDATA[Biking]]></category>

		<guid isPermaLink="false">http://www.adampatterson.ca/?p=3348</guid>
		<description><![CDATA[Any one who knows me knows that I love to ride my bike, I have been riding to work year round for about 4 years. On average I will ride 20km or 12mi a day, it usually takes me any where from 35-45 min, vs the 60-90 min bus ride or 25 min by car. [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.adampatterson.ca/wp-content/uploads/2013/02/ac27a1fc28ef11e2b05e1231381b45b2_7.jpeg" alt="" width="612" height="360" class="aligncenter size-full wp-image-3351" /></p>
<p>Any one who knows me knows that I love to ride my bike, I have been riding to work year round for about 4 years. On average I will ride 20km or 12mi a day, it usually takes me any where from 35-45 min, vs the 60-90 min bus ride or 25 min by car.</p>
<p>A bus pass here in Edmonton is $80 a month or $6 a day, Parking is $7-11 a day or $150-$170 a month.</p>
<p>Bike maintenance is around $250 a year, and I ride an expensive bike. It would cost less for most.</p>
<p>I go through a <a href="http://en.wikipedia.org/wiki/Bicycle_drivetrain_systems">drive train</a> every year, with an average of 5,200km or 3,231mi of commuting ( not counting pleasure rides ).</p>
<h3>Environement</h3>
<p>Living in Canada poses some challenges in the winter, the biggest challenge being the temperature.</p>
<p>The average winter temperature is probably -20 Celsius or -4 Fahrenheit, the coldest temperatures I rode in -45c that&#8217;s -49f! Surprisingly enough the cold is not the problem so much as keeping cool. </p>
<p>Dressing for the cold is hard to do with a high output sport, you fingers, toes and face will be freezing but your core is burning.</p>
<h3>Clothing</h3>
<p>I ware a <a href="http://www.keenfootwear.com/">Keen</a> mid height winter boot, good wool socks, preferably Marino wool, A quality shell for me I use a <a href="http://www.whittakermountaineering.com/">Whittaker</a> hard shell, hard shell pants, and a perm-aloft mid weight coat, when its super cold out I add-on a thin fleece layer. For my hand I use a GorTex down clove, and on the warmer days ( -15c ) a windproof fleece. In all conditions I ware a merino wool toque.</p>
<p>During the mild winter days I will ware a thin fleece under soft shell or hard shell depending on wind.</p>
<h3>Terrane</h3>
<p>The next factor in riding is snow, lots of fluffy snow is not a big deal unless it falls on top of ice.</p>
<p>Wet heavy snow is painfully slow to ride in, pretend your riding uphill. There is no coasting and it never lets up.</p>
<p>My favorite riding conditions would be hard backed snow at about -17c.</p>
<h3>Taking care of my bike</h3>
<p>Winter might be all nice and white in most places, but when you ride its nothing but sand, gravel and salt. Its filthy.</p>
<p>I oil my chain about every 4 days, cleaning off the excess. There is not a lot that can be done about the salt unless you haul your bike into the shower with you.</p>
<p>If I want to get my bike nice and clean I will use <a href="http://www.whitelightningco.com/products/clean-streak.htm">Clean Streak</a> for the greasy stuff, <a href="http://muc-off.com/en/">Muck Off</a> for the Frame bits, and <a href="http://www.pedros.com/bikelust.htm">Bike Lust</a> to help shed dust and grime. Obviously you need you need to make sure your chair is nice and lubricated, For this I use Finish Line <a href="http://www.finishlineusa.com/products/cross-country-lube.htm">Cross country</a>.</p>
<h3>Why do I do it?</h3>
<p>Most of all riding is fun and feels good, I enjoy the slower pace and being able to explore my surroundings.</p>
<p>Riding lets me clear my mind, I sit all day so the activity wakes me up and gets me motivated and alert.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adampatterson.ca/blog/2013/02/winter-riding-secrets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Event API</title>
		<link>http://www.adampatterson.ca/blog/2013/02/php-event-api/</link>
		<comments>http://www.adampatterson.ca/blog/2013/02/php-event-api/#comments</comments>
		<pubDate>Wed, 13 Feb 2013 23:14:26 +0000</pubDate>
		<dc:creator>Adam Patterson</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tentacle]]></category>

		<guid isPermaLink="false">http://www.adampatterson.ca/?p=3342</guid>
		<description><![CDATA[Events I tried a couple of existing plugin solutions most did 95% of what I needed and the other 5% was next to impossible to force. After wasting days I decided I would write my own, what follows is an overview of Tentacle event API. Contact me if you have any questions. Registering an event: [...]]]></description>
				<content:encoded><![CDATA[<h2>Events</h2>
<p>I tried a couple of existing plugin solutions most did 95% of what I needed and the other 5% was next to impossible to force.</p>
<p>After wasting days I decided I would write my own, what follows is an overview of <a href="http://tentaclecms.com" target="_blank">Tentacle</a> event API.</p>
<p><a href="http://www.adampatterson.ca/contact/">Contact me</a> if you have any questions.</p>
<h3>Registering an event:</h3>
<p>[sourcecode language="php"]<br />
function method_one (){<br />
    echo &#8216;one &#8216;;<br />
}</p>
<p>function method_two (){<br />
    echo &#8216;two &#8216;;<br />
}</p>
<p>    event::on(&#8216;event_trigger&#8217;, &#8216;method_one&#8217;, 2);<br />
    event::on(&#8216;event_trigger&#8217;, &#8216;method_two&#8217;, 1);</p>
<p>    event::trigger(&#8216;event_trigger&#8217;);<br />
[/sourcecode]</p>
<h3>Turning events off:</h3>
<p>[sourcecode language="php"]event::off(&#8216;event_trigger&#8217;);</p>
<p>event::off(&#8216;event_trigger&#8217;, &#8216;method_two&#8217;);</p>
<p>event::off(null, &#8216;method_one&#8217;);[/sourcecode]</p>
<h3>Test if an event exists:</h3>
<p>[sourcecode language="php"]var_dump(event::exists(&#8216;event_trigger&#8217;));<br />
[/sourcecode]<br />
<strong>boolean true</strong></p>
<h3>Trigger an event:</h3>
<p>[sourcecode language="php"]function method_name ( )<br />
{<br />
	echo &#8216;my method name&#8217;;<br />
}</p>
<p>event::on(&#8216;event_name&#8217;, &#8216;method_name&#8217;);</p>
<p>event::trigger(&#8216;event_name&#8217;);[/sourcecode]<br />
<strong>my method name</strong></p>
<h3>Trigger an event and pass data to it:</h3>
<p>[sourcecode language="php"]function method_data ( $text = &#8221; )<br />
	{<br />
		echo &#8216; 1  my method data is &#8216;.$text;<br />
	}</p>
<p>	function method_data_two ( $text = &#8221; )<br />
	{<br />
		echo &#8216; 2 my method data is &#8216;.$text;<br />
	}</p>
<p>	event::on(&#8216;event_data&#8217;, &#8216;method_data&#8217;, 1);<br />
	event::on(&#8216;event_data&#8217;, &#8216;method_data_two&#8217;, 2);</p>
<p>	event::trigger(&#8216;event_data&#8217;, &#8216;this&#8217;);[/sourcecode]<br />
<strong>1 my method data is this 2 my method data is this</strong></p>
<h3>Triggering a class and passing data to the method</h3>
<p>[sourcecode language="php"]class my<br />
{<br />
	static function method_name ( $text = &#8221; )<br />
	{<br />
		echo &#8216;my class method name is &#8216;.$text;<br />
	}<br />
}</p>
<p>event::on(&#8216;event_class&#8217;, &#8216;my::method_name&#8217;);</p>
<p>event::trigger(&#8216;event_class&#8217;, &#8216;Lary&#8217;);[/sourcecode]<br />
<strong>my class method name is Lary</strong></p>
<h3>Event chaining</h3>
<p>[sourcecode language="php"]function method_sad ( $text = &#8221; )<br />
    {<br />
        return str_replace(&#8216;blah&#8217;, &quot;sad&quot;, $text);<br />
    }</p>
<p>    function method_happy ( $text = &#8221; )<br />
    {<br />
        return str_replace(&#8216;sad&#8217;, &quot;happy&quot;, $text);<br />
    }</p>
<p>    event::on(&#8216;event_mood&#8217;, &#8216;method_sad&#8217;, 1);<br />
    event::on(&#8216;event_mood&#8217;, &#8216;method_happy&#8217;, 2);</p>
<p>    echo event::filter(&#8216;event_mood&#8217;, &#8216;I am blah!&#8217;);<br />
[/sourcecode]<br />
<strong>I am happy!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adampatterson.ca/blog/2013/02/php-event-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A big leap for Tentacle</title>
		<link>http://www.adampatterson.ca/blog/2013/02/big-leap-tentacle/</link>
		<comments>http://www.adampatterson.ca/blog/2013/02/big-leap-tentacle/#comments</comments>
		<pubDate>Wed, 13 Feb 2013 22:56:01 +0000</pubDate>
		<dc:creator>Adam Patterson</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.adampatterson.ca/?p=3337</guid>
		<description><![CDATA[Previously the Tentacle blog was powered by WordPress, A few months ago I had spent a lot of time working on the ability to import the WordPress WXR files. For the moment this only includes posts, tags,&#160;categories, and media. No comments or pages. This could change in the future. This for me was actually a [...]]]></description>
				<content:encoded><![CDATA[<p>Previously the Tentacle blog was powered by WordPress, A few months ago I had spent a lot of time working on the ability to import the WordPress WXR files.</p>
<p>For the moment this only includes posts, tags,&nbsp;categories, and media. No comments or pages.</p>
<p>This could change in the future.</p>
<p><strong>This for me was actually a big deal, and to make it happen a number of things had to be considered.</strong></p>
<ul>
<li>The&nbsp;category&nbsp;and tag relations had to be kept</li>
<li>Media needed to be transferred to the new site</li>
<li>Media links in the post content also needed to be remapped</li>
<li>Media needed to be reprocessed</li>
</ul>
<p>The only Issue that I came across was a memory error while resizing a rather&nbsp;large&nbsp;PNG image.</p>
<p>Today <a href="http://tentaclecms.com/blog/" target="_blank">tentaclecms.com/blog/</a>&nbsp;is totally powered by Tentacle its self. &nbsp;It is lacking pagination but that&#8217;s in the works!</p>
<p><strong>One problem that I noticed right off the start was how would the URLs be managed.</strong></p>
<p>When you build an application using MVC there are routs, and those routs need to match a pattern. The problem was that I did not want to create a bunch of controllers. So&nbsp;I built a special version of routs that would specifically handle blog related requests, <a href="https://github.com/adampatterson/Tentacle/blob/beta-wip/application/controller/page.php#L23" target="_blank">mapping requests</a> for tags, categories, pages, and posts possible.</p>
<p><strong>My next problem was dealing with content and how plugins could interact with it.</strong></p>
<p>I will go into more detail later on about how plugins and events are created, but at the core Tentacle will do a few nice things for you out of the box.</p>
<ul>
<li>It will automatically wrap lines with &lt;p&gt; tags if they are not already there.</li>
<li>It will convert links and email addressed to clickable items.</li>
<li><strong></strong>Rendering using&nbsp;<a href="http://daringfireball.net/projects/smartypants/" target="_blank">SmartyPants</a></li>
<li>An event call for [shortcode]</li>
</ul>
<p>&nbsp;</p>
<p>A lot of work went into making this happen, and&nbsp;<a href="http://tentaclecms.com" target="_blank">Tentacle</a>&nbsp;is that much closer to a beta release!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adampatterson.ca/blog/2013/02/big-leap-tentacle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making of the Tentacle upgrade script</title>
		<link>http://www.adampatterson.ca/blog/2013/02/making-tentacle-upgrade-script/</link>
		<comments>http://www.adampatterson.ca/blog/2013/02/making-tentacle-upgrade-script/#comments</comments>
		<pubDate>Wed, 13 Feb 2013 22:24:26 +0000</pubDate>
		<dc:creator>Adam Patterson</dc:creator>
				<category><![CDATA[Tentacle]]></category>

		<guid isPermaLink="false">http://www.adampatterson.ca/?p=3309</guid>
		<description><![CDATA[The best scenario for keeping Tentacle up to date is using to use Git. If for some reason you can not use git then for the majority of users we have you covered. Tentacle updates are powered by the Serpent API. Serpent is designed to allow developers to continue their normal workflow and control when [...]]]></description>
				<content:encoded><![CDATA[<p>The best scenario for keeping Tentacle up to date is using to use <a href="https://github.com/adampatterson/Tentacle">Git</a>.</p>
<p>If for some reason you can not use git then for the majority of users we have you covered.</p>
<p>Tentacle updates are powered by the <a href="https://github.com/adampatterson/Serpent" target="_blank">Serpent API</a>. Serpent is designed to allow developers to continue their normal workflow and control when Updates are made available.</p>
<p>By creating a version <a href="http://git-scm.com/book/en/Git-Basics-Tagging" target="_blank">git tag</a> I can publish an archive file that is ready for public use.</p>
<p>Tentacle will have a look at its own internal version and compare it with what is available over the API at http://api.tentaclecms.com/get/core/</p>
<p><a href="http://tentaclecms.com/blog/2012/11/making-of-the-upgrade-script/" target="_blank">Read More.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adampatterson.ca/blog/2013/02/making-tentacle-upgrade-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implemented Bcrypt to Hash Stored Passwords</title>
		<link>http://www.adampatterson.ca/blog/2013/01/implemented-bcrypt-hash-stored-passwords/</link>
		<comments>http://www.adampatterson.ca/blog/2013/01/implemented-bcrypt-hash-stored-passwords/#comments</comments>
		<pubDate>Fri, 25 Jan 2013 18:25:05 +0000</pubDate>
		<dc:creator>Adam Patterson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tentacle]]></category>

		<guid isPermaLink="false">http://www.adampatterson.ca/?p=3306</guid>
		<description><![CDATA[I made a large improvement to the way we hash our user passwords. Originally Tentacle was&#160;using&#160;the default method of hashing passwords used in Dingo, This was a SHA1 hash. Still decent but not really up to newer standards. When a log in is processed the username and password are submitted and the password is hashed. [...]]]></description>
				<content:encoded><![CDATA[<p>I made a large improvement to the way we hash our user passwords.</p>
<p>Originally <a href="http://tentaclecms.com" target="_blank">Tentacle</a> was&nbsp;using&nbsp;the default method of hashing passwords used in Dingo, This was a <a href="http://en.wikipedia.org/wiki/SHA-1" target="_blank">SHA1</a> hash. Still decent but not really up to newer standards.</p>
<p>When a log in is processed the username and password are submitted and the password is hashed.</p>
<p><strong>password</strong> turns into something like <strong>5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 </strong>and is actually stored in the database this way.</p>
<p>It is then possible to use <a href="http://en.wikipedia.org/wiki/Brute-force_attack" target="_blank">brute force</a>&nbsp;to gain access to a site.</p>
<p>&nbsp;</p>
<p>The a advantage of using <a href="http://en.wikipedia.org/wiki/Bcrypt" target="_blank">Bcrypt</a> and&nbsp;specifically <a href="http://www.openwall.com/phpass/" target="_blank">phpass</a>&nbsp;is that the passwords are all salted and the salt is random. That means that any hash of <strong>password&nbsp;</strong>will never be the same.</p>
<p>&nbsp;</p>
<p>This method is commonly used in WordPress, Modules for Drupal, and Typo3.</p>
<p>&nbsp;</p>
<p>Here is a great <a href="http://images.inquisitr.com/wp-content/2011/02/password_info.png" target="_blank">Info graphic</a> on password security.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adampatterson.ca/blog/2013/01/implemented-bcrypt-hash-stored-passwords/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recursive Glob</title>
		<link>http://www.adampatterson.ca/blog/2013/01/recursive-glob/</link>
		<comments>http://www.adampatterson.ca/blog/2013/01/recursive-glob/#comments</comments>
		<pubDate>Thu, 24 Jan 2013 06:11:27 +0000</pubDate>
		<dc:creator>Adam Patterson</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.adampatterson.ca/?p=3302</guid>
		<description><![CDATA[While building the upgrade script for tentacle I knew that the file I was going to work with would be a zip, and would contain many sub folders. PHP has a function called glob that finds files pathnames matching a pattern. It works really well but only goes one level deep, using the recursive_glob() function [...]]]></description>
				<content:encoded><![CDATA[<p>While building the upgrade script for tentacle I knew that the file I was going to work with would be a zip, and would contain many sub folders.</p>
<p>PHP has a function called <a href="http://php.net/manual/en/function.glob.php" target="_blank">glob</a> that finds files pathnames matching a pattern.</p>
<p>It works really well but only goes one level deep, using the recursive_glob() function lets you return a folders file structure.</p>
<p><script src="https://gist.github.com/3961278.js"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adampatterson.ca/blog/2013/01/recursive-glob/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I use Bootstrap with Less</title>
		<link>http://www.adampatterson.ca/blog/2012/11/how-i-use-bootstrap-with-less/</link>
		<comments>http://www.adampatterson.ca/blog/2012/11/how-i-use-bootstrap-with-less/#comments</comments>
		<pubDate>Fri, 02 Nov 2012 22:53:16 +0000</pubDate>
		<dc:creator>Adam Patterson</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.adampatterson.ca/?p=3280</guid>
		<description><![CDATA[Less by now is nothing new, but with the popularity of Bootstrap there are some good practices to think about. My general work flow is to sketch out an idea on paper, and really brain storm the idea. I then take it to HTML and work on the front end layout. At this time I [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://lesscss.org/" target="_blank">Less</a> by now is nothing new, but with the popularity of <a href="http://twitter.github.com/bootstrap/" target="_blank">Bootstrap</a> there are some good practices to think about.</p>
<p>My general work flow is to sketch out an idea on paper, and really brain storm the idea.</p>
<p>I then take it to HTML and work on the front end layout. At this time I will use all the bootstrap scaffolding classes as they are.</p>
<p>Once a project is solidified I then begin to refine the HTML and the Less using more of the <a href="https://github.com/twitter/bootstrap/blob/master/less/mixins.less" target="_blank">Bootstrap Mixins</a>.</p>
<p>I find it interesting that most small MVC frame works will use a bootstrap file, something that ties everything together but is intended to be the base of a project. It is ment to be extended.</p>
<p>Bootstrap css is ment to accomplish the same thing, Except there is Zero documentation on the Bootstrap site about the included Mixins. The actual structural building block of the framework.</p>
<p>If you consider Bootstrap as a code framework then your Mixins could be compared to helpers, helpers are reusable code.</p>
<p>Leveraging the Mixins will help you to create a bootstrap site that does not look like a bootstrap site.</p>
<p>I recently redesigned a small site and where my initial markup may have looked like this:</p>
<p>[sourcecode language="html"]<br />
&lt;div class=&quot;row&quot;&gt;<br />
&lt;div class=&quot;span8 content&quot;&gt;&#8230;&lt;/div&gt;<br />
&lt;div class=&quot;span4 sidebar&quot;&gt;&#8230;&lt;/div&gt;<br />
&lt;/div&gt;<br />
[/sourcecode]</p>
<p>Once I got things to where I knew changes would be minimal I moved into more semantic markup.</p>
<p>[sourcecode language="html"]<br />
&lt;article&gt;&lt;section&gt;&#8230;&lt;/section&gt;&lt;aside&gt;&lt;/aside&gt;&lt;/article&gt;<br />
[/sourcecode]</p>
<p>Where my Less looked something like this:</p>
<p>[sourcecode language="css"]<br />
article {<br />
  .makeRow();</p>
<p>  section {<br />
    .makeColumn(8);<br />
  }</p>
<p>  aside {<br />
    .makeColumn(4);<br />
  }<br />
}<br />
[/sourcecode]</p>
<p>Customizing the print view was simple as well.</p>
<p>[sourcecode language="css"]<br />
article {<br />
  .makeRow();</p>
<p>  section {<br />
    .makeColumn(12);<br />
  }</p>
<p>  aside {<br />
    display: none;<br />
  }<br />
}<br />
[/sourcecode]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adampatterson.ca/blog/2012/11/how-i-use-bootstrap-with-less/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paste + Data + No Account concept</title>
		<link>http://www.adampatterson.ca/blog/2012/10/paste-data-account-concept/</link>
		<comments>http://www.adampatterson.ca/blog/2012/10/paste-data-account-concept/#comments</comments>
		<pubDate>Fri, 19 Oct 2012 03:35:40 +0000</pubDate>
		<dc:creator>Adam Patterson</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://www.adampatterson.ca/?p=3269</guid>
		<description><![CDATA[Originally inspired by paste.laravel.com, I wanted to create something that could be used to easily share code snippets for Tentacle. But then I started thinking of other ways this could be useful. Currently you can add, fork ( edit ), and view raw text. I also added the ability to upload images, soon I would [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://tentaclecms.com/" target="_blank"><img src="http://www.adampatterson.ca/wp-content/uploads/2012/10/Paste.png" alt="" title="Paste" width="620" height="282" class="aligncenter size-full wp-image-3270" /></a></p>
<p>Originally inspired by <a href="http://paste.laravel.com" target="_blank">paste.laravel.com</a>, I wanted to create something that could be used to easily share code snippets for <a href="http://tentaclecms.com" target="_blank">Tentacle</a>. </p>
<p>But then I started thinking of other ways this could be useful.</p>
<p>Currently you can add, fork ( edit ), and view raw text. I also added the ability to upload images, soon I would like to add a gallery option.</p>
<p>Late on I am going to add the ability to store files, multiple files will be viewable as a list or downloadable as a zip.</p>
<p>I have been considering ways of managing user data without requiring user accounts.</p>
<p><a href="http://nopassword.alexsmolen.com/" target="_blank">No password</a> users an email address as a login, you receive an email with a session link.</p>
<p>If you were to login from another location you previous session is closed.  This would make it possible to keep sensitive data private.</p>
<p>By tracking your friends email we can go about displaying the content in much the same manner.</p>
<p><a href="http://tentaclecms.com/" target="_blank">Check it out</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adampatterson.ca/blog/2012/10/paste-data-account-concept/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transient data.</title>
		<link>http://www.adampatterson.ca/blog/2012/10/transient-data/</link>
		<comments>http://www.adampatterson.ca/blog/2012/10/transient-data/#comments</comments>
		<pubDate>Tue, 16 Oct 2012 19:06:07 +0000</pubDate>
		<dc:creator>Adam Patterson</dc:creator>
				<category><![CDATA[Tentacle]]></category>

		<guid isPermaLink="false">http://www.adampatterson.ca/?p=3257</guid>
		<description><![CDATA[Transient data is a principal borrowed from WordPress. I have never directly used theÂ Transient Data APIÂ but after reading the Docs saw a solid fit for Tentacle. Transient data offers a simple and standardized way of storing cached data in the database temporarily by giving it a custom name and a timeframe after which it will [...]]]></description>
				<content:encoded><![CDATA[<p><strong>Transient data is a principal borrowed from WordPress.</strong></p>
<p>I have never directly used theÂ <a href="http://codex.wordpress.org/Transients_API" target="_blank">Transient Data API</a>Â but after reading the Docs saw a solid fit for Tentacle.</p>
<blockquote><p>Transient data offers a simple and standardized way of storing cached data in the database temporarily by giving it a custom name and a timeframe after which it will expire and be deleted.</p></blockquote>
<p>In this example I am caching an RSS feed, I used CURL to get the XML and covered it to a string ( Because you can not serialize a SimpleXMLElement Object )</p>
<p><a href="http://tentaclecms.com/blog/2012/09/soft-launch-of-transient-data/" target="_blank">Read more</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adampatterson.ca/blog/2012/10/transient-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Content Creation vs Management</title>
		<link>http://www.adampatterson.ca/blog/2012/10/content-creation-management/</link>
		<comments>http://www.adampatterson.ca/blog/2012/10/content-creation-management/#comments</comments>
		<pubDate>Tue, 16 Oct 2012 19:03:14 +0000</pubDate>
		<dc:creator>Adam Patterson</dc:creator>
				<category><![CDATA[Tentacle]]></category>

		<guid isPermaLink="false">http://www.adampatterson.ca/?p=3252</guid>
		<description><![CDATA[A typical Content Management System probably does a great job at managing content, its in the title after all. The web is more about how you use and present to others then how its managed. Lets pretend that we are adding a foodie section to our site, Our site is 9 months old and has [...]]]></description>
				<content:encoded><![CDATA[<p><strong>A typical Content Management System probably does a great job at managing content, its in the title after all. The web is more about how you use and present to others then how its managed.</strong></p>
<p>Lets pretend that we are adding a foodie section to our site, Our site is 9 months old and has been designed and built by a small design company.</p>
<p>We decided that we want to post new recipes every week and its important to our brand that we are consistent.</p>
<p>We are going to include some basic information:</p>
<ul>
<li>Title</li>
<li>Photos</li>
<li>Ingredients</li>
<li>Directions</li>
<li>Short bio and photo of the cook.</li>
</ul>
<p><a href="http://tentaclecms.com/blog/2012/09/soft-launch-of-transient-data/" target="_blank">Read more</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adampatterson.ca/blog/2012/10/content-creation-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
