<?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>Business and Software Development</title>
	<atom:link href="http://catontech.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://catontech.com/blog</link>
	<description>Consulting, Development, and Programming for Information Systems via Web and Mobile Technologies</description>
	<lastBuildDate>Thu, 06 Dec 2012 11:12:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Targeting your customers &#8211; The Loyalty Project</title>
		<link>http://catontech.com/blog/2012/12/06/targeting-your-customers-the-loyalty-project/</link>
		<comments>http://catontech.com/blog/2012/12/06/targeting-your-customers-the-loyalty-project/#comments</comments>
		<pubDate>Thu, 06 Dec 2012 11:12:41 +0000</pubDate>
		<dc:creator>Joel Caton</dc:creator>
				<category><![CDATA[Loyalty]]></category>
		<category><![CDATA[Web & Business Development]]></category>

		<guid isPermaLink="false">http://catontech.com/blog/?p=685</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/12/06/targeting-your-customers-the-loyalty-project/"></g:plusone></div>
Targeting your customers Traditionally marketing has been done using a shotgun method in which mass media such as print, radio, or TV advertising was used to inform a population of possible potential customers of the offerings you had available and communicate value.  Those methods communicated the same message to everyone.  Here&#8217;s what we have, when <a href='http://catontech.com/blog/2012/12/06/targeting-your-customers-the-loyalty-project/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/12/06/targeting-your-customers-the-loyalty-project/"></g:plusone></div>
<h2>Targeting your customers</h2>
<p>Traditionally marketing has been done using a shotgun method in which mass media such as print, radio, or TV advertising was used to inform a population of possible potential customers of the offerings you had available and communicate value.  Those methods communicated the same message to everyone.  Here&#8217;s what we have, when we have it, where we have it, and the price. Everybody got notified of the same deal.  However everybody does not appreciate the same deal in the same ways so traditional methods didn&#8217;t do so great at connecting on an individual level.  <a href="http://loyalty.catontech.com"><img class="size-medium wp-image-686 alignright" title="Loyalty" src="http://catontech.com/blog/wp-content/uploads/2012/12/Loyalty-300x86.gif" alt="Loyalty Targeted Advertising System" width="300" height="86" /></a></p>
<p>Enter the days of web marketing and peer to peer communication.  Now it is possible to communicate directly with a given customer with a customized offer that he or she will appreciate.  To do this you&#8217;ll want to identify the type of customer you are dealing with.  We&#8217;ve listed six different types of customers that you&#8217;ll meet on a daily basis.  While this list is in no way complete look at it and see if you can identify some of your customers.</p>
<h2 style="padding-left: 30px;">Loyal Repeat Customers:</h2>
<p style="padding-left: 30px;">These customers are the core of your business being repeat buyers with a strong interest and buy in into your brand.  Loyal customer typically following <a title="Definition" href="http://en.wikipedia.org/wiki/Pareto_principle" target="_blank">Pareto&#8217;s Principle</a> numbering no more then twenty percent of the total customers and producing eighty percent of the sales for an organization.  Loyal customers typically expect you to consistently maintain your methods and level of service and product offerings and to acknowledge them on an individual basis as an integral part of the business.</p>
<h2 style="padding-left: 30px;">Discount Customers:</h2>
<p style="padding-left: 30px;">These customers are looking for a deal.  It doesn&#8217;t matter if you&#8217;ve got it or the business down the street has it.  They will go with the lowest price.  While it is possible to grow sales and even make money off this type of customer, it is important to remember that they are loyal to one thing:  The perceived discount that they are getting from the regular price.  You may be able to get this type of customer to brag about the deal they found at your place, but unless your brand is discount, you won&#8217;t be able to build much brand loyalty with them.</p>
<h2 style="padding-left: 30px;">Social Customers:</h2>
<p style="padding-left: 30px;">Social customer patronize businesses that make them feel connected.  Oftentimes they make their choices based off of the recommendation of their friends.  If their friends recommend you then that&#8217;s great, but you&#8217;ll need to personally connect with this customer to convert them to a loyal customer or you&#8217;ll lose them when their friends recommend someone else.</p>
<h2 style="padding-left: 30px;">Impulse Customers:</h2>
<p style="padding-left: 30px;">At times these customers don&#8217;t exhibit strong brand loyalties.  They like to shop impulsively and purchase products and services that meet their perceived immediate wants or needs.  Getting information to this customer in a timely manner is crucial if you want their business and you can build a brand with them if you can forecast their needs accurately and communicate.</p>
<h2 style="padding-left: 30px;">The Curmudgeon</h2>
<p style="padding-left: 30px;">This customer can&#8217;t be pleased.  He or she behaves if doing business with you is just a big favor they are performing for you because you really don&#8217;t offer enough value to be worth their time.  There is a genuine difference between these customers and loyal customers with a legitimate complaint.  The loyal customers satisfaction will increase when they state there is a problem and you correct it.  On the other hand the curmudgeon will simply find something else to complain about.  It is very difficult to build a brand with this type of customer as they are never happy and cannot give positive referrals.  Occasionally this type of customer can be converted into a loyal customer if the business takes enough time to develop a relationship that transcends the personal issues the curmudgeon has.</p>
<h2 style="padding-left: 30px;">The con artist complainer</h2>
<p style="padding-left: 30px;">This customer knows how to exploit your business to gain an advantage and will often engage your business in complaint sessions that play on your desire to satisfy them through &#8220;good customer service&#8221;.  It becomes easier to differentiate this type of customer from a loyal customer if you have well defined customer service practices and can focus in on the details of what they are saying the problem and desired solution should be.  He or she will generally not be happy with anything that you offer until you propose a solution that is a win for them and a loss for your business. Furthermore this type of customer often targets employees at different levels in the business hierarchy or employees in different departments for repeat complaint sessions to maximize the benefit your misdirected customer service attempts will afford them.  Failure to identify this type of customer can result in damage to the brand, demoralization of your employees, and financial loss.</p>
<h2>The Loyalty Project</h2>
<p>We won&#8217;t take up a lot of your time detailing how the tools we give you for targeting your customers with the Loyalty Project, but if you saw some of your customers in the list above and would like to target them specifically we&#8217;d love to hear from you.  We are currently beta testing of our project and are looking for partners that would like to grow their business through intelligent marketing.  We&#8217;d love to have a conversation with you about this topic.</p>

<p>Use the form below to contact us about the Loyalty Project</p>
<!-- Fast Secure Contact Form plugin 3.1.5.4 - begin - FastSecureContactForm.com -->
<div id="FSContact4" style="width:375px;">
<form action="http://catontech.com/blog/feed/#FSContact4" id="si_contact_form4" method="post">
<div style="text-align:left;">
<span class="required">*</span>(denotes required field)
   </div>

         <div>
               <input type="hidden" name="si_contact_CID" value="1" />
        </div>

        <div style="text-align:left; padding-top:5px;">
                <label for="si_contact_name4">Name:<span class="required">*</span></label>
        </div>
        <div style="text-align:left;">
                <input style="text-align:left; margin:0;" type="text" id="si_contact_name4" name="si_contact_name" value=""  size="40" />
        </div>

        <div style="text-align:left; padding-top:5px;">
                <label for="si_contact_email4">E-Mail Address:<span class="required">*</span></label>
        </div>
        <div style="text-align:left;">
                <input style="text-align:left; margin:0;" type="email" id="si_contact_email4" name="si_contact_email" value=""  size="40" />
        </div>

        <div style="text-align:left; padding-top:5px;">
                <label for="si_contact_subject4">Subject:<span class="required">*</span></label>
        </div>
        <div style="text-align:left;">
                <input style="text-align:left; margin:0;" type="text" id="si_contact_subject4" name="si_contact_subject" value=""  size="40" />
        </div>

        <div style="text-align:left; padding-top:5px;">
                <label for="si_contact_message4">Message:<span class="required">*</span></label>
        </div>
        <div style="text-align:left;">
                <textarea style="text-align:left; margin:0;" id="si_contact_message4" name="si_contact_message"  cols="30" rows="10"></textarea>
        </div>

<div style="text-align:left; padding-top:5px;"> </div>
 <div style="width: 250px; height: 65px; padding-top:5px;">
    <img class="ctf-captcha" id="si_image_ctf4" style="border-style:none; margin:0; padding:0px; padding-right:5px; float:left;" src="http://catontech.com/blog/wp-content/plugins/si-contact-form/captcha/securimage_show.php?prefix=QntBdkft6ZACUOUx" width="175" height="60" alt="CAPTCHA Image" title="CAPTCHA Image" />
    <input id="si_code_ctf_4" type="hidden" name="si_code_ctf_4" value="QntBdkft6ZACUOUx" />
    <div id="si_refresh_ctf4">
      <a href="#" rel="nofollow" title="Refresh Image" onclick="si_contact_captcha_refresh('4','noaudio','/blog/wp-content/plugins/si-contact-form/captcha','http://catontech.com/blog/wp-content/plugins/si-contact-form/captcha/securimage_show.php?prefix='); return false;">
      <img src="http://catontech.com/blog/wp-content/plugins/si-contact-form/captcha/images/refresh.png" width="22" height="20" alt="Refresh Image" style="border-style:none; margin:0; padding:0px; vertical-align:bottom;" onclick="this.blur();" /></a>
   </div>
   </div>

      <div style="text-align:left; padding-top:5px;">
                <label for="si_contact_captcha_code4">CAPTCHA Code:<span class="required">*</span></label>
        </div>
        <div style="text-align:left;">
                <input style="text-align:left; margin:0; width:50px;" type="text" value="" id="si_contact_captcha_code4" name="si_contact_captcha_code"  size="6" />
       </div>


<div style="text-align:left; padding-top:5px;">
  <input type="hidden" name="si_contact_action" value="send" />
  <input type="hidden" name="si_contact_form_id" value="4" />
  <input type="submit" id="fsc-submit-4" style="cursor:pointer; margin:0;" value="Submit" /> 
</div>

</form>

<p style="font-size:x-small; font-weight:normal; padding-top:5px;">Powered by <a href="http://wordpress.org/extend/plugins/si-contact-form/">Fast Secure Contact Form</a></p>
</div>
<!-- Fast Secure Contact Form plugin 3.1.5.4 - end - FastSecureContactForm.com -->
]]></content:encoded>
			<wfw:commentRss>http://catontech.com/blog/2012/12/06/targeting-your-customers-the-loyalty-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The most popular web browser?</title>
		<link>http://catontech.com/blog/2012/06/07/the-most-popular-web-browser/</link>
		<comments>http://catontech.com/blog/2012/06/07/the-most-popular-web-browser/#comments</comments>
		<pubDate>Thu, 07 Jun 2012 17:37:49 +0000</pubDate>
		<dc:creator>Joel Caton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://catontech.com/blog/?p=661</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/06/07/the-most-popular-web-browser/"></g:plusone></div>
Lately there&#8217;s been a lot of talk about Google Chrome surpassing Microsoft&#8217;s Internet Explorer usage and becoming the most popular web browser. Because the web has become so important to our daily lives as we work, play, and conduct business this change of events naturally poses some questions. What does this mean to us as <a href='http://catontech.com/blog/2012/06/07/the-most-popular-web-browser/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/06/07/the-most-popular-web-browser/"></g:plusone></div>
<p>Lately there&#8217;s been a lot of talk about Google Chrome surpassing Microsoft&#8217;s Internet Explorer usage and becoming the most popular web browser. Because the web has become so important to our daily lives as we work, play, and conduct business this change of events naturally poses some questions. What does this mean to us as business owners and end users? Join me for a brief review of the data in the charts below and you&#8217;ll find that this change isn&#8217;t what it seems.</p>
<p>As you can see in the chart below Google Chrome has enjoyed a lot of growth world wide and has indeed become the most popular browser.</p>
<div id="attachment_673" class="wp-caption aligncenter" style="width: 864px"><a href="http://catontech.com/blog/wp-content/uploads/2012/06/StatCounter-browser-ww-monthly-200807-201206.jpg"><img class="size-full wp-image-673" title="Browser Usage 7/2008 - 6/2012" src="http://catontech.com/blog/wp-content/uploads/2012/06/StatCounter-browser-ww-monthly-200807-201206.jpg" alt="Web browser usage from 7/08 - 6/12" width="854" height="500" /></a><p class="wp-caption-text">Browser Usage</p></div>
<p>Currently Google Chrome is slightly more popular then Internet Explorer in world wide usage. However this set of facts can be misconstrued if not viewed in context with regional website usage. The following chart shows browser popularity over the last four years.</p>
<div id="attachment_674" class="wp-caption aligncenter" style="width: 784px"><a href="http://catontech.com/blog/wp-content/uploads/2012/06/StatCounter-browser-ww-monthly-201205-201206-bar.jpg"><img class="size-full wp-image-674" title="Bar Chart of Browser Usage 6/2012" src="http://catontech.com/blog/wp-content/uploads/2012/06/StatCounter-browser-ww-monthly-201205-201206-bar.jpg" alt="Bar Chart Depicting Google Chrome as the most popular web browser" width="774" height="500" /></a><p class="wp-caption-text">Google Chrome is currently the most popular web browser in the world</p></div>
<p>&nbsp;</p>
<p>The following chart depicts the popularity of the same web browsers in the United States. As you can see Microsoft&#8217;s Internet Explorer is clearly the most popular browser by a wide margin.</p>
<div id="attachment_675" class="wp-caption aligncenter" style="width: 784px"><a href="http://catontech.com/blog/wp-content/uploads/2012/06/StatCounter-browser-US-monthly-201205-201206-bar.jpg"><img class="size-full wp-image-675" title="Browser Popularity in the United States in 6/2012" src="http://catontech.com/blog/wp-content/uploads/2012/06/StatCounter-browser-US-monthly-201205-201206-bar.jpg" alt="Internet Explorer is the most popular browser in the United States 6/2012" width="774" height="500" /></a><p class="wp-caption-text">Internet Explorer is the most popular browser in the US in June 2012</p></div>
<p><script type="text/javascript" src="http://www.statcounter.com/js/FusionCharts.js"></script><script type="text/javascript" src="http://gs.statcounter.com/chart.php?browser-US-monthly-201205-201206-bar"></script><br />
Furthermore by looking at the usage over the last month in the following graph you can see that Internet Explorer is growing while Firefox and Chrome are declining.</p>
<div id="attachment_676" class="wp-caption aligncenter" style="width: 864px"><a href="http://catontech.com/blog/wp-content/uploads/2012/06/StatCounter-browser-US-monthly-201205-201206.jpg"><img class="size-full wp-image-676" title="Browser popularity trends 6/2012" src="http://catontech.com/blog/wp-content/uploads/2012/06/StatCounter-browser-US-monthly-201205-201206.jpg" alt="US browser popularity trends 6/2012. Internet Explorer is increasing in popularity." width="854" height="500" /></a><p class="wp-caption-text">Internet Explorer is increasing in popularity 6/2012</p></div>
<p>In conclusion: There&#8217;s really not much of a change. While regional shifts in browser usage has changed making Google Chrome the most popular web browser. The internet remains fragmented by users utilizing various different types of browsers. Internet Explorer is by far still the most popular browser in the United States where it continues to grow in popularity From a business owners perspective continued support for all browser types in your website and web applications remains vitally important. From an end users perspective browsers come and go and should be subjected to the <a title="Test your web browser" href="http://acid3.acidtests.org/" target="_blank">acid 3 test</a> to determine they are suitable for your use.</p>
]]></content:encoded>
			<wfw:commentRss>http://catontech.com/blog/2012/06/07/the-most-popular-web-browser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MS Biodiesel Site Development</title>
		<link>http://catontech.com/blog/2012/05/25/ms-biodiesel-site-development/</link>
		<comments>http://catontech.com/blog/2012/05/25/ms-biodiesel-site-development/#comments</comments>
		<pubDate>Fri, 25 May 2012 09:20:54 +0000</pubDate>
		<dc:creator>Joel Caton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://catontech.com/blog/?p=655</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/05/25/ms-biodiesel-site-development/"></g:plusone></div>
Rolling out the MS Biodiesel Web Site! I&#8217;ve been talking with Bob Glenn about a bio diesel venture for several months now.  He has been involved in two prior bio diesel ventures in the past, one which was very successful and one which ended in a tragic manner as Bob discovered he had what should <a href='http://catontech.com/blog/2012/05/25/ms-biodiesel-site-development/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/05/25/ms-biodiesel-site-development/"></g:plusone></div>
<h1>Rolling out the MS Biodiesel Web Site!</h1>
<p>I&#8217;ve been talking with Bob Glenn about a bio diesel venture for several months now.  He has been involved in two prior bio diesel ventures in the past, one which was very successful and one which ended in a tragic manner as Bob discovered he had what should have been terminal cancer.  Bob is an experienced business man and machinist and a tough and resilient cancer survivor with a vision for the future.  He believes that we can create energy sources from waste products that are being thrown in landfills.  Together we are launching <a title="MS Biodiesel Website" href="http://msbiodiesel.us" target="_blank">msbiodiesel.us</a> to promote biodiesel production in the State of Mississippi and the Southeastern United States.</p>
<p><iframe src="http://www.youtube.com/embed/Ljx2k-FVbpQ?rel=0" frameborder="0" width="420" height="315"></iframe></p>
<p>Join us as we create an online hub of resources for the promotion and production of Bio Diesel from waste stream materials.  We&#8217;ll be posting video content, links, and other resources on the site that showcase and explain methods and technologies available to small and midsize bio diesel producers.  We look forward to seeing you there.</p>
<p>- Joel</p>
]]></content:encoded>
			<wfw:commentRss>http://catontech.com/blog/2012/05/25/ms-biodiesel-site-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Lean Startup&#8211;An Overview</title>
		<link>http://catontech.com/blog/2012/05/18/the-lean-startup-an-overview/</link>
		<comments>http://catontech.com/blog/2012/05/18/the-lean-startup-an-overview/#comments</comments>
		<pubDate>Fri, 18 May 2012 14:52:33 +0000</pubDate>
		<dc:creator>LarryCaton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://catontech.com/blog/?p=646</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/05/18/the-lean-startup-an-overview/"></g:plusone></div>
There is more to creating a successful startup business than a great product, a brilliant team, amazing technology, and good timing, or so says Eric Ries, Chief Technology Officer and co-founder of IMVU and now author of The Lean Startup: How Today&#8217;s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses. The fact is most <a href='http://catontech.com/blog/2012/05/18/the-lean-startup-an-overview/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/05/18/the-lean-startup-an-overview/"></g:plusone></div>
<p>There is more to creating a successful startup business than a great product, a brilliant team, amazing technology, and good timing, or so says Eric Ries, Chief Technology Officer and co-founder of IMVU and now author of <strong>The Lean Startup: How Today&#8217;s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses</strong>. The fact is most startups fail, and not for the lack of determination, hard work, or perseverance.  No, they fail because they do not know the process of converting their ideas, their product and marketing insights, into a sustainable business. The goal of <strong>The Lean Startup</strong> is to improve the success rate of startup businesses attempting to bring new, innovative, products or services to the world.</p>
<p>At heart the Lean Startup Method is based upon five principles.</p>
<ol>
<li>Entrepreneurs are everywhere.  Ries defines a startup as &#8220;a human institution designed to create new products or services under conditions of extreme uncertainty.&#8221;  Anyone endeavoring to do this in whatever context is an entrepreneur.</li>
<li>Entrepreneurship is management, albeit one done in the context of extreme uncertainty.  The boring stuff matters.</li>
<li>Validated Learning.  First and foremost the objective of the startup is to build a sustainable business.  To begin with the startup has but &#8220;leap of faith assumptions&#8221; as to the desirability of its product or services and its potential customers.  These assumptions must be rigorously and scientifically tested.</li>
<li>Build, Measure, Learn.  This is the fundamental activity of a startup.  Build, not a perfect, but a &#8220;minimum viable product.&#8221;  Great scepticism is often the response to this dictum.  It&#8217;s design is to get feedback  as soon as possible, so that we do not waste scarce resources, human and monetary, on a product no one wants.  Measure: scrutinize the feedback data from such customers or potential customers as we currently have, seeking to verify, falsify, or at minimum, clarify, our &#8220;leap of faith assumptions&#8221;.   Learning from the response to our minimum viable product,  we make small incremental changes in our product and/or business model and offer it once again to the public.  Build, measure, learn is done in cycles.  The faster our cycle time, the sooner we will learn that our fundamental assumptions concerning our product, business model, or potential customers are sound or that they are flawed: the sooner we will know that we are justified in staying on our present course or need to make a major change in our business, to &#8220;pivot or persevere.&#8221;</li>
<li>Innovation accounting. To improve the success rate of startups, entrepreneurs must be held accountable.  But because a startup is different from an established business, the criterion for evaluation is different. Increases in sales, the total number of customers, the number of clicks on our website do not give enough information to warrant the conclusion that we are on the path to a sustainable business.  Such &#8220;vanity metrics&#8221;  are to be abandoned in favor of  what Ries calls &#8220;actionable metrics.&#8221;  The devil is in the details: &#8220;actionable metrics&#8221; come out of careful evaluations of feedback from the build, measure, learn cycles.</li>
</ol>
<p>Lean startup principles have been applied to many diverse industries with amazing results.  They are worth the time you may spent examining them in detail.</p>
]]></content:encoded>
			<wfw:commentRss>http://catontech.com/blog/2012/05/18/the-lean-startup-an-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Error Handling and Debugging &#8211; Part 1</title>
		<link>http://catontech.com/blog/2012/04/22/php-error-handling-and-debugging-part-1/</link>
		<comments>http://catontech.com/blog/2012/04/22/php-error-handling-and-debugging-part-1/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 21:37:47 +0000</pubDate>
		<dc:creator>Jeremy Caton</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web & Business Development]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://catontech.com/blog/?p=629</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/04/22/php-error-handling-and-debugging-part-1/"></g:plusone></div>
This article describes the process of testing PHP code.  Using the tips that I will explain can help to decrease the code/test cycle time. The first thing that you must know in order to plan your code/test process is the environment in which your code will run. If you have full control of the system, <a href='http://catontech.com/blog/2012/04/22/php-error-handling-and-debugging-part-1/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/04/22/php-error-handling-and-debugging-part-1/"></g:plusone></div>
<p>This article describes the process of testing PHP code.  Using the tips that I will explain can help to decrease the code/test cycle time.</p>
<p>The first thing that you must know in order to plan your code/test process is the environment in which your code will run.</p>
<p>If you have full control of the system, less configuration is required. In this case you can rely on the default settings, and simply need to know where the logs are kept by default. On a typical LAMP (apache) system you can find the log files in /var/log/httpd. Check the documentation for the operating system that you use as some operating systems use a different directory (i.e. one version of Ubuntu uses /var/log/apache2). By default error messages from php will be kept in this directory.</p>
<p>If you are developing on a server where you don&#8217;t have access to the default logs, you can configure where your log messages are sent by putting a php.ini file containing the directive</p>
<pre>error_log: path_to_log</pre>
<p>in the root of the domain.</p>
<p>With this information in mind, we can begin to find code errors.</p>
<p>There are two error types to look for:</p>
<ol>
<li>parse</li>
<li>runtime</li>
</ol>
<p>A parse error is the first thing to look for when testing new or modified code. This can be something like a missing semicolon or other grammatical mistake. If a parse error occurs, it will be sent to PHP&#8217;s error_log. A simple way to find this kind of error is to load the file directly in a browser (i.e. an AJAX script that would not normally run in a browser could be tested this way for parse errors). With a default PHP installation the parse error will shown on the screen.</p>
<p>Most errors that are encountered are runtime errors. There are two kinds of runtime errors:</p>
<ol>
<li>exception</li>
<li>functional</li>
</ol>
<p>The first kind of runtime error happens when a statement or function call that is grammatically correct encounters a unexpected circumstance such as an invalid parameter (i.e. fopen(file_that_doesnt_exist,&#8217;r')). This kind of error can only be seen during an actual run of the code with valid inputs. Opening the file in the browser directly usually will not find it as the inputs will not be those that would typically be encountered. For example opening an AJAX script that relys on the _POST variable for its input will typically not run many of the branches because of the missing _POST variables. To find this error, run the script as it would typically be run and check the error log for errors.</p>
<p>A functional runtime error is when the code runs, doesn&#8217;t generate an error, but doesn&#8217;t produce the expected outputs. To find this error use one or more of the following techniques:</p>
<ul>
<li>echo/printf</li>
<li>error_log</li>
<li>try/catch</li>
</ul>
<p>The simplest way to find errors is by adding echo statements to the code. This method can be somewhat tedious and slower to use than others, but a few well placed echo statements that use print_r to show the value of key return data structures can sometimes quickly illuminate the source of the malfunctioning code. The problem with this method is that because it outputs directly to stdout (the web browser) it is only available if the script can be run in the web browser directly with typical inputs. Many times this is not possible (i.e. for AJAX or cron code).</p>
<p>A more general way of debugging is to use the error_log function instead of echo. With the error_log function you can direct the messages to a file of your choosing with</p>
<pre>error_log($message,3,"path/filename")</pre>
<p>or to the configured error_log mentioned earlier via</p>
<pre>error_log($message)</pre>
<p>A bonus when using the error_log() function is that you also get a timestamp for each error logged.</p>
<p>If a runtime error is expected, a try/catch statement should be placed to ignore it or otherwise handle it in a way that doesn&#8217;t cause the script to stop abruptly.  This way the script will continue to run and an error will be logged.  This is better because you will know at what section of code the error occurred.  If the blocking error had gone uncaught (in the case of AJAX responder script errors), the calling application might have received a malformed response (parse error).  A try/catch statement is only helpful when a blocking exception occurs, and will not help to debug functional runtime errors.  The structure of this type of code testing is as follows:</p>
<pre>try {
 //your new code
 } catch(Exception $E) {
 error_log(E.getMessage());
 }</pre>
<p>In this article we have discussed simple code/test cycle techniques for PHP.  Tune in next time for part 2 where we will review using a debugger such as XDebug.</p>
]]></content:encoded>
			<wfw:commentRss>http://catontech.com/blog/2012/04/22/php-error-handling-and-debugging-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript Compression &#8212; Tools and Process</title>
		<link>http://catontech.com/blog/2012/04/15/javascript-compression-tools-and-process/</link>
		<comments>http://catontech.com/blog/2012/04/15/javascript-compression-tools-and-process/#comments</comments>
		<pubDate>Sun, 15 Apr 2012 20:08:51 +0000</pubDate>
		<dc:creator>Jeremy Caton</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Website Tools]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[Build]]></category>
		<category><![CDATA[Compilers]]></category>
		<category><![CDATA[Site Development]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://catontech.com/blog/?p=627</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/04/15/javascript-compression-tools-and-process/"></g:plusone></div>
This article is a review of the tools and processes that I have tested and gives plusses and minuses of each. Software Uncompressed Compressed Percent Comment Closure Compiler 39K 16K 59% with ADVANCED_OPTIMIZATIONS YUI Compressor 39K 22K 44% perl-Javascript-Minifier 39K 25K 36% &#160; perl-Javascript-Minifier Since CPAN library&#8217;s Javascript-Minifier and CSS-Minifier are immediately available linux tools <a href='http://catontech.com/blog/2012/04/15/javascript-compression-tools-and-process/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/04/15/javascript-compression-tools-and-process/"></g:plusone></div>
<p>This article is a review of the tools and processes that I have tested and gives plusses and minuses of each.</p>
<table>
<thead>
<tr>
<td>Software</td>
<td>Uncompressed</td>
<td>Compressed</td>
<td>Percent</td>
<td>Comment</td>
</tr>
</thead>
<tbody>
<tr>
<td>Closure Compiler</td>
<td>39K</td>
<td>16K</td>
<td>59%</td>
<td>with ADVANCED_OPTIMIZATIONS</td>
</tr>
<tr>
<td>YUI Compressor</td>
<td>39K</td>
<td>22K</td>
<td>44%</td>
<td></td>
</tr>
<tr>
<td>perl-Javascript-Minifier</td>
<td>39K</td>
<td>25K</td>
<td>36%</td>
<td></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><a title="perl-Javascript-Minifier" href="http://search.cpan.org/dist/JavaScript-Minifier/" target="_blank">perl-Javascript-Minifier</a><br />
Since CPAN library&#8217;s Javascript-Minifier and CSS-Minifier are immediately available linux tools they are a good starting point. The Javascript-Minifier is simple to use. Here is a script that you can try to see how it works:</p>
<pre>#!/usr/bin/perl
 use JavaScript::Minifier qw(minify);
 my($iFile)=$ARGV[0];
 my($oFile)=$iFile;
 $oFile=~ s/[.]js//;
 $oFile="${oFile}_perl_min.js";
 open(INFILE, "$iFile") or die;
 open(OUTFILE, "&gt;$oFile") or die;
 minify(input =&gt; *INFILE, outfile =&gt; *OUTFILE);
 close(INFILE);
 close(OUTFILE);</pre>
<p>In my tests, it didn&#8217;t break my code, but did generate errors because of incorrectnesses in my code. I used the google chrome jslint plugin to find the errors. jslint only works on pure javascript, but strings are not parsed. Thus you can use php to initialize variables by putting the php code inside of quotes, and still check it with jslint.</p>
<p>&nbsp;</p>
<p><a title="YUI Compressor" href="http://developer.yahoo.com/yui/compressor/" target="_blank">YUI Compressor</a><br />
The YUI Compressor is Yahoo&#8217;s library, and works better than perl-Javascript-Minifier. Here is an example command for using YUI Compressor:</p>
<pre>java -jar yuicompressor-2.4.7.jar --type js -o filename_yui_min.js filename.js</pre>
<p>A nice feature of the yuicompressor is that it can accept javascript strings from the command line. This makes it simple to script. It&#8217;s goal is to not break code, and in my tests this was observed to be true.</p>
<p>&nbsp;</p>
<p><a title="Closure Compiler" href="https://developers.google.com/closure/compiler/" target="_blank">Closure Compiler</a><br />
The google closure compiler is the most advanced of the ones that I tested. It has a simple mode that doesn&#8217;t break code and an option for ADVANCED_OPTIMIZATIONS that produces very compressed code. Here is an example command for using the closure compiler in simple mode:</p>
<pre>java -jar compiler.jar --js filename.js --js_output_file filename_closure_min.js --externs externs.js</pre>
<p>And similarly for advanced mode:</p>
<pre>java -jar compiler.jar --compilation_level ADVANCED_OPTIMIZATIONS --js filename.js --js_output_file filename_closure_min.js --externs exterms.js</pre>
<p>Similar to perl-Javascript-Minifier, closure compiler only works on pure javascript files. Because of the effectiveness of the optimizations that it does, it can break code. To effectively use it, you need to design your javascript with minification in mind. Typically you want to use your javascript as a library (i.e. as handers for events such as mouse clicks) to do this, you need to add a small amount of code that preserves the function names that will be available to external scripts. Similarly if you want to use external libraries in your library, you need to add extern declarations that will preserve the external symbols. There are less modifications required if you use the simple mode than for the advanced mode. I wanted to use advanced mode for some script that contains jQuery calls (including jQuery Mobile), but wasn&#8217;t able to find a way to preserve the jQuery and $ symbols. I tried using &#8211;externs with the externs file available as an addon from google svn, but this didn&#8217;t solve the problem. Therefore I recommend using simple mode for files containing jQuery and advanced mode for files that do not.</p>
<p>&nbsp;</p>
<p>In summary of the tools reviewed google closure compiler is the most effective, perl-Javascript-Minifier is the least likely to break code, and yuicompressor is a compromise between these extremes. Additionally each of these tools can be run locally on your machine.</p>
]]></content:encoded>
			<wfw:commentRss>http://catontech.com/blog/2012/04/15/javascript-compression-tools-and-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Introduction to the Privacy Policy</title>
		<link>http://catontech.com/blog/2012/04/07/an-introduction-to-the-privacy-policy/</link>
		<comments>http://catontech.com/blog/2012/04/07/an-introduction-to-the-privacy-policy/#comments</comments>
		<pubDate>Sun, 08 Apr 2012 04:06:23 +0000</pubDate>
		<dc:creator>Joel Caton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://catontech.com/blog/?p=613</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/04/07/an-introduction-to-the-privacy-policy/"></g:plusone></div>
Our research analyst Larry has published a audio cast giving an introduction to the privacy policy.  He explains briefly why it is needed and what it covers. If you have any questions or would like more information you can reach Larry using the form below. &#160;]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/04/07/an-introduction-to-the-privacy-policy/"></g:plusone></div>
<p>Our research analyst Larry has published a audio cast giving an introduction to the privacy policy.  He explains briefly why it is needed and what it covers.</p>
<p><audio controls preload><source src="http://catontech.com/blog/wp-content/uploads/2012/04/Privacy_Policy_and_the_Web_Business.mp3" /><embed type="application/x-shockwave-flash" flashvars="audioUrl=http://catontech.com/blog/wp-content/uploads/2012/04/Privacy_Policy_and_the_Web_Business.mp3" src="http://www.google.com/reader/ui/3523697345-audio-player.swf" width="400" height="27" quality="best"></embed></audio></p>
<p>If you have any questions or would like more information you can reach Larry using the form below.</p>

<p>Comments or questions are welcome.</p>
<!-- Fast Secure Contact Form plugin 3.1.5.4 - begin - FastSecureContactForm.com -->
<div id="FSContact2" style="width:375px;">
<form action="http://catontech.com/blog/feed/#FSContact2" id="si_contact_form2" method="post">
<div style="text-align:left;">
<span class="required">*</span>(denotes required field)
   </div>

         <div>
               <input type="hidden" name="si_contact_CID" value="1" />
        </div>

        <div style="text-align:left; padding-top:5px;">
                <label for="si_contact_name2">Name:<span class="required">*</span></label>
        </div>
        <div style="text-align:left;">
                <input style="text-align:left; margin:0;" type="text" id="si_contact_name2" name="si_contact_name" value=""  size="40" />
        </div>

        <div style="text-align:left; padding-top:5px;">
                <label for="si_contact_email2">E-Mail Address:<span class="required">*</span></label>
        </div>
        <div style="text-align:left;">
                <input style="text-align:left; margin:0;" type="email" id="si_contact_email2" name="si_contact_email" value=""  size="40" />
        </div>

        <div style="text-align:left; padding-top:5px;">
                <label for="si_contact_subject2">Subject:<span class="required">*</span></label>
        </div>
        <div style="text-align:left;">
                <input style="text-align:left; margin:0;" type="text" id="si_contact_subject2" name="si_contact_subject" value=""  size="40" />
        </div>

        <div style="text-align:left; padding-top:5px;">
                <label for="si_contact_message2">Message:<span class="required">*</span></label>
        </div>
        <div style="text-align:left;">
                <textarea style="text-align:left; margin:0;" id="si_contact_message2" name="si_contact_message"  cols="30" rows="10"></textarea>
        </div>

<div style="text-align:left; padding-top:5px;"> </div>
 <div style="width: 250px; height: 65px; padding-top:5px;">
    <img class="ctf-captcha" id="si_image_ctf2" style="border-style:none; margin:0; padding:0px; padding-right:5px; float:left;" src="http://catontech.com/blog/wp-content/plugins/si-contact-form/captcha/securimage_show.php?prefix=32qv65Fpa5iCgUNf" width="175" height="60" alt="CAPTCHA Image" title="CAPTCHA Image" />
    <input id="si_code_ctf_2" type="hidden" name="si_code_ctf_2" value="32qv65Fpa5iCgUNf" />
    <div id="si_refresh_ctf2">
      <a href="#" rel="nofollow" title="Refresh Image" onclick="si_contact_captcha_refresh('2','noaudio','/blog/wp-content/plugins/si-contact-form/captcha','http://catontech.com/blog/wp-content/plugins/si-contact-form/captcha/securimage_show.php?prefix='); return false;">
      <img src="http://catontech.com/blog/wp-content/plugins/si-contact-form/captcha/images/refresh.png" width="22" height="20" alt="Refresh Image" style="border-style:none; margin:0; padding:0px; vertical-align:bottom;" onclick="this.blur();" /></a>
   </div>
   </div>

      <div style="text-align:left; padding-top:5px;">
                <label for="si_contact_captcha_code2">CAPTCHA Code:<span class="required">*</span></label>
        </div>
        <div style="text-align:left;">
                <input style="text-align:left; margin:0; width:50px;" type="text" value="" id="si_contact_captcha_code2" name="si_contact_captcha_code"  size="6" />
       </div>


<div style="text-align:left; padding-top:5px;">
  <input type="hidden" name="si_contact_action" value="send" />
  <input type="hidden" name="si_contact_form_id" value="2" />
  <input type="submit" id="fsc-submit-2" style="cursor:pointer; margin:0;" value="Submit" /> 
</div>

</form>
</div>
<!-- Fast Secure Contact Form plugin 3.1.5.4 - end - FastSecureContactForm.com -->
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://catontech.com/blog/2012/04/07/an-introduction-to-the-privacy-policy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://catontech.com/blog/wp-content/uploads/2012/04/Privacy_Policy_and_the_Web_Business.mp3" length="4718074" type="audio/mpeg" />
		</item>
		<item>
		<title>TWiki for a dynamic Company Operations Manual</title>
		<link>http://catontech.com/blog/2012/03/27/twiki-for-a-dynamic-company-operations-manual/</link>
		<comments>http://catontech.com/blog/2012/03/27/twiki-for-a-dynamic-company-operations-manual/#comments</comments>
		<pubDate>Wed, 28 Mar 2012 01:43:13 +0000</pubDate>
		<dc:creator>Jeremy Caton</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web & Business Development]]></category>
		<category><![CDATA[Website Tools]]></category>
		<category><![CDATA[Business Development]]></category>
		<category><![CDATA[Company Operations Manual]]></category>
		<category><![CDATA[Intranet]]></category>
		<category><![CDATA[Quality]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://catontech.com/blog/?p=606</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/03/27/twiki-for-a-dynamic-company-operations-manual/"></g:plusone></div>
This article is an overview of the TWiki system with an emphasis on usage as an intranet and Company Operations Manual. A small business can benefit by having such a system in several ways : share knowledge and overlap responsibilities document experience and improve processes identify and facilitate process automation A Company Operations Manual seeks <a href='http://catontech.com/blog/2012/03/27/twiki-for-a-dynamic-company-operations-manual/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/03/27/twiki-for-a-dynamic-company-operations-manual/"></g:plusone></div>
<p>This article is an overview of the <a title="TWiki" href="http://www.twiki.org" target="_blank">TWiki</a> system with an emphasis on usage as an intranet and Company Operations Manual. A small business can benefit by having such a system in several ways :</p>
<ul>
<li>share knowledge and overlap responsibilities</li>
<li>document experience and improve processes</li>
<li>identify and facilitate process automation</li>
</ul>
<p>A Company Operations Manual seeks to codify the processes that the company&#8217;s operation depends upon. It must</p>
<ul>
<li>be simple to use/extend</li>
<li>be easy to navigate</li>
<li>have properties that facilitate improvement and revision</li>
<li>allow compartmentalization</li>
</ul>
<p>TWiki fits each of these needs abundantly. It is by nature a system designed for ease of input. Concepts such as WikiWords and WebNotify allow for quick navigation by facilitating linkages among the various processes and automatically prompting personnel when processes of interest are updated. There are plugins that can keep statistics on how frequently topics are used. This allows identification of processes that would be good candidates for automation (high usage) and those that could be improved or deleted (low usage). TWiki also has built-in support for access control via group membership. This coupled with good design can simply the process of restricting auditors, contractors, and guests to areas of their focus, expertise, or clearance.</p>
<p>In small business there are fewer hands, and the processes and policys must be correspondingly light-weight. A dynamic, intranet-based Company Operations Manual is one way to achieve this necessary business requirement.</p>
]]></content:encoded>
			<wfw:commentRss>http://catontech.com/blog/2012/03/27/twiki-for-a-dynamic-company-operations-manual/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Copyright Math?</title>
		<link>http://catontech.com/blog/2012/03/17/copyright-math/</link>
		<comments>http://catontech.com/blog/2012/03/17/copyright-math/#comments</comments>
		<pubDate>Sun, 18 Mar 2012 05:17:23 +0000</pubDate>
		<dc:creator>Joel Caton</dc:creator>
				<category><![CDATA[Copyright]]></category>
		<category><![CDATA[Copyright Math]]></category>

		<guid isPermaLink="false">http://catontech.com/blog/?p=595</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/03/17/copyright-math/"></g:plusone></div>
For those of you who&#8217;ve ever delved into the realm of copyright law and it&#8217;s absurdities in it&#8217;s present form please enjoy the following presentation from Rob Reid the founder of the company that created the music website Rhapsody.  If you&#8217;ll listen to his presentation you&#8217;ll see that the numbers used by traditional media companies <a href='http://catontech.com/blog/2012/03/17/copyright-math/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/03/17/copyright-math/"></g:plusone></div>
<p>For those of you who&#8217;ve ever delved into the realm of copyright law and it&#8217;s absurdities in it&#8217;s present form please enjoy the following presentation from Rob Reid the founder of the company that created the music website Rhapsody.  If you&#8217;ll listen to his presentation you&#8217;ll see that the numbers used by traditional media companies to coerce judges, legislators, and the uninformed public into believing that technology is creating disruption in the market place that causes economic losses are largely fictional and greatly misrepresents the facts.</p>
<p><object width="526" height="374" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 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="wmode" value="transparent" /><param name="bgColor" value="#ffffff" /><param name="flashvars" value="vu=http://video.ted.com/talk/stream/2012/Blank/RobReid_2012-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/RobReid_2012-embed.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=1390&amp;lang=&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=rob_reid_the_8_billion_ipod;year=2012;event=TED2012;tag=business;tag=entertainment;tag=humor;tag=music;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /><param name="src" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" /><param name="pluginspace" value="http://www.macromedia.com/go/getflashplayer" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><embed width="526" height="374" type="application/x-shockwave-flash" src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" allowFullScreen="true" allowScriptAccess="always" wmode="transparent" bgColor="#ffffff" flashvars="vu=http://video.ted.com/talk/stream/2012/Blank/RobReid_2012-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/RobReid_2012-embed.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=1390&amp;lang=&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=rob_reid_the_8_billion_ipod;year=2012;event=TED2012;tag=business;tag=entertainment;tag=humor;tag=music;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" pluginspace="http://www.macromedia.com/go/getflashplayer" allowfullscreen="true" allowscriptaccess="always" /></object></p>
<p>Copyright laws are based on the premise that information resources are rivalrous resources that can only be owned and utilized by a single owner.  However, information is not a rivalrous resource and increases in value as it is shared and utilized, therefor the very act of sharing it magnifies its potential to create wealth.  Traditional media companies fear the technological disruptions that frees information from their constraints and as the information becomes free the dying companies oftentimes resort to <a title="Patent Trolling" href="http://en.wikipedia.org/wiki/Patent_troll" target="_blank">patent</a> and <a title="Copyright Trolling" href="http://en.wikipedia.org/wiki/Copyright_troll" target="_blank">copyright</a> trolling methods in a futile effort to stop the shift in the channel of distribution of information.  Great speech Rob Reid and thanks exposing these misrepresentations for what they are in such a humorous way.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://catontech.com/blog/2012/03/17/copyright-math/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interesting facts about media consumption</title>
		<link>http://catontech.com/blog/2012/03/08/interesting-facts-about-media-consumption/</link>
		<comments>http://catontech.com/blog/2012/03/08/interesting-facts-about-media-consumption/#comments</comments>
		<pubDate>Fri, 09 Mar 2012 05:54:01 +0000</pubDate>
		<dc:creator>Joel Caton</dc:creator>
				<category><![CDATA[Mobile Web Technology]]></category>
		<category><![CDATA[Web & Business Development]]></category>
		<category><![CDATA[Business Development]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://catontech.com/blog/?p=585</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/03/08/interesting-facts-about-media-consumption/"></g:plusone></div>
I&#8217;ve been doing some research lately about media consumption by age group and I found a couple graphical representations of the data on this subject.  We&#8217;ve been working on a project that utilizes the data shown, but it&#8217;s top secret right now so I&#8217;ve got to keep it hush hush The first chart is from <a href='http://catontech.com/blog/2012/03/08/interesting-facts-about-media-consumption/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://catontech.com/blog/2012/03/08/interesting-facts-about-media-consumption/"></g:plusone></div>
<p>I&#8217;ve been doing some research lately about media consumption by age group and I found a couple graphical representations of the data on this subject.  We&#8217;ve been working on a project that utilizes the data shown, but it&#8217;s top secret right now so I&#8217;ve got to keep it hush hush <img src='http://catontech.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>The first chart is from <a title="Ad Age - Infographic" href="http://adage.com/article/adagestat/infographic-generational-media-usage-time-day/229831/">adage.com</a> and lists the types of media consumption by generation.  It&#8217;s a tough read but the information you&#8217;ll get is well worth the effort.</p>
<p><a href="http://www.mbaonline.com/media-consumption/"><img class="aligncenter" src="http://images.mbaonline.com.s3.amazonaws.com/media-consumption.jpg" alt="Media Consumption - 2011" width="500" border="0" /></a><br />
Created by: <a href="http://www.mbaonline.com">MBA Online</a></p>
<p>The second chart is much more easy to read <img src='http://catontech.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   It shows the change in internet consumption over the last several years.  As you can see mobile web usage is doubling yearly now while desktop usage is on the decline.  People will be doing what they do online all the time in the near future and internet media consumption will be a continuous thing that never stops.</p>
<p>&nbsp;</p>
<div id="mobile_vs_desktop-ww-monthly-200812-201203" width="600" height="400" style="width:600px; height: 400px;"></div>
<p><!-- You may change the values of width and height above to resize the chart -->
<p>Source: <a href="http://gs.statcounter.com/#mobile_vs_desktop-ww-monthly-200812-201203">StatCounter Global Stats &#8211; Mobile vs. Desktop Market Share</a></p>
<p><script type="text/javascript" src="http://www.statcounter.com/js/FusionCharts.js"></script><script type="text/javascript" src="http://gs.statcounter.com/chart.php?mobile_vs_desktop-ww-monthly-200812-201203"></script></p>
<p>Good luck guessing what we are up to.  I can&#8217;t wait to explain it in a blog post.  For now&#8230; We&#8217;ll see you online.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://catontech.com/blog/2012/03/08/interesting-facts-about-media-consumption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
