<?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>orangeSPLoTCH &#187; Tips</title>
	<atom:link href="http://orangesplotch.com/blog/categories/tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://orangesplotch.com/blog</link>
	<description>Web developing in the middle of the night.</description>
	<lastBuildDate>Wed, 25 Aug 2010 11:45:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>Feedburner torched my feeds</title>
		<link>http://orangesplotch.com/blog/feedburner-torched-my-feeds/</link>
		<comments>http://orangesplotch.com/blog/feedburner-torched-my-feeds/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 17:50:19 +0000</pubDate>
		<dc:creator>mattc</dc:creator>
				<category><![CDATA[Site]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[atom]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[feed reader]]></category>
		<category><![CDATA[feedburner]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[useragent]]></category>

		<guid isPermaLink="false">http://orangesplotch.com/blog/?p=153</guid>
		<description><![CDATA[Watch out for vanishing feeds. My Feedburner blog feed was returning a 404 File Not Found error when I tried accessing it through PHP, but showed up fine in my browser. It took a while to figure out what was going on. If anyone else is having the same problem, hopefully this article will help.]]></description>
			<content:encoded><![CDATA[<p class="intro">I&#8217;m not sure exactly how long ago, I&#8217;m guessing over a month, <a href="http://www.feedburner.com">Feedburner</a> changed the way their feeds are handled and broke my homepage. It wasn&#8217;t until this week that I discovered the problem. And then it took several days to figure out what was going wrong. Now that it is resolved, I thought it might be nice to pass along the fix in case anyone else is having similar issues.</p>
<p>I import my blog feed into <a href="http://orangesplotch.com/">my site&#8217;s homepage</a>. It seemed like a good idea to put the latest articles there. To distribute my feed, I&#8217;ve been using Feedburner because of all the handy features they provide for at no charge. Recently when I went to take a gander at my home page to my horror, the articles section was blank. GASP! Turning on error reporting revealed that my feed parser was getting a &#8220;404 Page not found&#8221; response from Feedburner. However, when I view the feed in my browser, it showed up fine.</p>
<h3>Feed Flame-out</h3>
<p>Apparently Feedburner and other Google feed distributors have waged war against bad feed readers that don&#8217;t properly cache results. Depending on the number of page views, these readers can end up requesting a feed thousands of times a day. A cached feed need only be updated sporadically throughout the day.</p>
<h3>Fight Fire with Fake UserAgents</h3>
<p>The way that Feedburner and Blogger decipher whether a feed is coming from a credible source, or from an abusive one is via the User Agent. Anything that doesn&#8217;t have a User Agent defined, or that has the User Agent defined as one of the offending services gets the &#8220;404 Page not found&#8221; error. Regular browsers like Firefox, and Internet Explorer get the feed without any hiccups.</p>
<p>In my case, my original feed parser wasn&#8217;t passing a user agent when it made the request, so it got a 404 error. Thinking my parser was broken I switched to <a href="http://simplepie.org/">SimplePie</a>. SimplePie got the same error which is when I started to investigate further. While SimplePie does use a valid useragent, it has been blacklisted by Google. Apparently a lot of developers using SimplePie run it with caching disabled. To finally get it working I had to remove the SIMPLEPIE_USERAGENT from the useragent string. It is a simple fix in SimplePie if you know to do it. I just added the following line as explained in the <a href="http://simplepie.org/wiki/reference/simplepie/set_useragent">SimplePie API</a>.</p>
<pre>$feed->set_useragent('Mozilla/4.0');</pre>
<p>Despite endorsing these sneaky habits, I&#8217;d like to go on the record as supporting being a good netizen and caching all of your external sources locally. Your site will be faster because it won&#8217;t have to reload the feed each time a user visits the page, and you won&#8217;t be burning up someone else&#8217;s bandwidth as well. It&#8217;s a win-win.</p>
<p>Depending on the feed parser you are using, you may have a more difficult time setting the useragent to properly bypass this issue. Here are a couple of other links that may help.</p>
<p>http://blog.obishawn.com/2008/06/feedburner-404-error.html</p>
<p>http://weblogs.asp.net/jstengel/archive/2008/07/24/useragent-fix-for-the-rsstoolkit-2-0-0-0.aspx</p>
<p>And there you have it. Now you have to tools to fix your broken feed requests. At least until something else breaks.</p>
<div class="aside">
<h3>Final Flame</h3>
<p>So right before publishing this, I find out that Feedburner is about to burn out completely. Feb 28th is the final day to move your feeds over to Google. After that your feed links will return a 404 File Not Found error. More info on the move here: <a href="http://www.dailyblogtips.com/time-to-switch-from-feedburner-to-google/">http://www.dailyblogtips.com/time-to-switch-from-feedburner-to-google/</a> I&#8217;ll be transferring my feed right now.
</div>
]]></content:encoded>
			<wfw:commentRss>http://orangesplotch.com/blog/feedburner-torched-my-feeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blog Performance Analysis</title>
		<link>http://orangesplotch.com/blog/blog-performance-analysis/</link>
		<comments>http://orangesplotch.com/blog/blog-performance-analysis/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 13:02:46 +0000</pubDate>
		<dc:creator>mattc</dc:creator>
				<category><![CDATA[Recommendations]]></category>
		<category><![CDATA[Site]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[metrics]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[plot]]></category>
		<category><![CDATA[timeline]]></category>

		<guid isPermaLink="false">http://orangesplotch.com/blog/blog-performance-analysis/</guid>
		<description><![CDATA[Measuring and tracking performance is a great way to keep on top of your site. Here is one way to measure the performance of a blog using information you, the blog author, have the ability to control &#8212; how frequently it is updated.]]></description>
			<content:encoded><![CDATA[<p class="intro">One of the important things to consider when undertaking a new venture is to have clear goals in mind. What do you want to accomplish? How will you measure success?</p>
<h3>How to gain blog bliss</h3>
<p>The key there is that success needs to be measurable. Saying you want to make a lot of money really doesn’t mean anything. How much money is <em>a lot</em>? It probably depends on who you ask.</p>
<p>In an effort to quantify my own success <em>(or failure)</em>, I’ve been piecing together statistics on areas I feel are important. This blog is one of those important areas. </p>
<h3>My goals</h3>
<p>I’d like to make orangesplotch.com a helpful place for other developers. I’d like to build a regular audience of readers. I’d even like to make some money from it one day.</p>
<p>While I can&#8217;t directly control how many readers visit my site, I can control what is on the this site. Getting more users to come to the site and keep coming back requires having a blog that is worth reading.</p>
<p>So what makes a blog worth reading? First of all you need content. Regularly updated, useful and fun to read content. I already know I haven’t been updating here regularly, but I wanted to quantify my poor performance. That’s the only way I’ll know if I am improving.</p>
<h3>Measuring content updates</h3>
<p>Logging my entries was a little tedious, but simple. I simply opened a spreadsheet and entered the date and title of each article I’ve written. Count the number of articles and divide it by how many days the site has been around and that is the average number of days between posts. The results are pretty pathetic. </p>
<p><strong>Since its inception, on average I’ve been posting to the site every 15 days. </strong></p>
<p>Something more useful is to break the entries down by month and year intervals. This shows trends and gives you something to compare against. For instance, I discovered that I post a lot more frequently during the winter holiday season. Probably because that’s when I have the least amount of free lance work going on.</p>
<h3>Visualize success</h3>
<p>Thanks to Google’s handy spreadsheet program, I was able to generate this nifty timetable for your viewing pleasure. Now you, too, can see how inconsistent my publishing is.</p>
<p><iframe class='align-right' width='512' height='396' frameborder='0' scrolling='no' src='http://eihmjhj0-a.gmodules.com/ig/ifr?url=http%3A%2F%2Fhosting.gmodules.com%2Fig%2Fgadgets%2Ffile%2F114448529270295376137%2Ftimeline-gadget-v1-r4.xml&#038;mid=7&#038;lang=en&#038;synd=spreadsheets&#038;parent=https%3A%2F%2Fspreadsheets.google.com&#038;tgridid=1&#038;up__table_query_url=https%3A%2F%2Fspreadsheets.google.com%2Ftq%3Frange%3DA1%253AM100%26gid%3D0%26key%3Dpybxz0n4h_QgS2rYf8BDsHw&#038;rtd=1207225453843#up__table_query_url=https%3A%2F%2Fspreadsheets.google.com%2Ftq%3Frange%3DA1%253AM100%26gid%3D0%26key%3Dpybxz0n4h_QgS2rYf8BDsHw&#038;up_tltitle=Site%20Article%20Timeline&#038;up_band1interval=month&#038;up_band1width=medium&#038;up_band2interval=year&#038;up_band2width=medium&#038;up_bc1=%23eeeeff&#038;up_bc2=%23777777&#038;up_hc=%23ffffff&#038;idi_hr=https%3A%2F%2Fspreadsheets.google.com%2Fig%2Fidi_relay.txt'></iframe></p>
<p class="aside">Obviously it takes a little more than just posting regularly to a blog to bring in readers. If the content is bad, it doesn&#8217;t matter how often it is updated. I&#8217;ll have to come up with another metric to measure how &#8220;good&#8221; the articles are.</p>
]]></content:encoded>
			<wfw:commentRss>http://orangesplotch.com/blog/blog-performance-analysis/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using .htaccess to Redirect to an SSL Connection</title>
		<link>http://orangesplotch.com/blog/ssl_redirect/</link>
		<comments>http://orangesplotch.com/blog/ssl_redirect/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 07:51:45 +0000</pubDate>
		<dc:creator>mattc</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[secure connection]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://orangesplotch.com/blog/using-htaccess-to-redirect-to-ssl/</guid>
		<description><![CDATA[I've been doing work for a client needing part of their site to be protected by <abbr title="Secure Socket Layer">SSL</abbr>. All traffic to that section needed to be routed through a secure <em>(https)</em> connection. Unexpectedly I found a solution for ensuring this that was so simple, I had to post it here.]]></description>
			<content:encoded><![CDATA[<p class="intro">I&#8217;ve been doing work for a client needing part of their site to be protected by <abbr title="Secure Socket Layer">SSL</abbr>. All traffic to that section needed to be routed through a secure <em>(https)</em> connection. Unexpectedly I found a solution for ensuring this that was so simple, I had to post it here.</p>
<p>The best way to reroute a client <em>if you are on an Apache server</em> is to set up a <code>mod_rewrite</code> in a .htaccess file. Without going into all the boring details, I&#8217;ll jump straight to the good stuff.</p>
<pre>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</pre>
<p>That&#8217;s right, just three simple lines. The first tells Apache that we are doing a mod_rewrite, or redirecting URLs that match the following pattern. The second line checks if the client is connecting over an unsecured connection. If they are, then the third line redirects them through a SSL connection.</p>
<p>The real power in this is how general it is. Since everything is done using global variables, you can use it on any domain you want without having to change a thing. Simply place it in the folder you want and it will reroute all traffic there through SSL. This works no matter what port your SSL connection is using. If you want the entire site to be secure, just place it in your root folder.</p>
<p class="note">.htaccess files only work on Apache servers. If your site is not hosted using an Apache server, this won&#8217;t help you much.</p>
<p>Pretty slick stuff. Too bad I can&#8217;t take any credit for it. Here is where I first came across it. <a href="http://joseph.randomnetworks.com/archives/2004/07/22/redirect-to-ssl-using-apaches-htaccess/">Redirect To SSL Using Apache’s .htaccess</a></p>
<p>If you&#8217;d like to learn more, <a href="http://www.askapache.com/htaccess/apache-htaccess.html">here are some great tutorials on .htaccess</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://orangesplotch.com/blog/ssl_redirect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speed up your Flash development time with slider-bars</title>
		<link>http://orangesplotch.com/blog/speed-up-your-flash-development-time-with-slider-bars/</link>
		<comments>http://orangesplotch.com/blog/speed-up-your-flash-development-time-with-slider-bars/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 18:31:36 +0000</pubDate>
		<dc:creator>mattc</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[slider-bars]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://orangesplotch.com/blog/speed-up-your-flash-development-time-with-slider-bars/</guid>
		<description><![CDATA[This Flash developer can't emphasize the importance of slider-bars enough. If you haven't discovered the joy of slider-bars, you're missing out.]]></description>
			<content:encoded><![CDATA[<p class="intro">When developing a Flash project I <strong>love</strong> using slider-bars. They have saved me countless hours of developing time. At the same time the results are far superior to what I would get just writing my <code>Actionscript</code> &#8220;by hand&#8221;.  I&#8217;ve found slider-bars so helpful in Flash development that I&#8217;m posting this article to hopefully save a few Flash developers a lot of time. It is something I wish I&#8217;d known a long time ago.</p>
<p>What makes slider-bars so great is you can adjust a variable&#8217;s value <strong>while your project is running</strong>. Like adjusting the volume knob on your stereo, you see or hear how changing the value affects performance. Slide the bar until the results are just right. Then take the resulting value, hard code it into your project and you&#8217;re set.</p>
<p>This works really well for variables that control motion, but can be applied to just about anything. Slider-bars are especially useful when you need to set multiple variables to get the right effect. This is hard to do without live feedback. The only aternative is an endless circle of setting values and exporting the Flash movie to see how it looks.</p>
<p>As an example I&#8217;ve included this snow fall movie. Using the sliders you can control the speed of the flakes, how many there are and how much they sway. You could edit all of these values by hand and then publish the movie to see how it looks, or you can slide the bar and <strong>know</strong> you are getting the right effect. <em>Personally, I prefer the second method.</em></p>
<p><script type="text/javascript">
    SWFFix.registerObject("flash1", "", "http://orangesplotch.com/swffix/expressInstall.swf");
</script></p>
<p><object id="flash1" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="500" height="400" ><param name="movie" value="http://orangesplotch.com/media/flash/tutorials/snowstorm.swf" /><!--[if !IE]>&#8211;><br />
<object width="500" height="400" type="application/x-shockwave-flash" data="http://orangesplotch.com/media/flash/tutorials/snowstorm.swf" class="align-right"><br />
<!--<![endif]--><br />
<img width="100" height="100" alt="The Flash plugin is required to view this example." src="/media/images/site/noflash.gif" /><br />
<!--[if !IE]>&#8211;><br />
</object><br />
<!--<![endif]--><br />
</object></p>
<p>&nbsp;</p>
<p class="aside">If you need a simple slider bar component to use in developing your projects, I&#8217;ve included one below. I also included the original source files in case you&#8217;d like to see how it works. Feel free to use it, modify it or make your own. Hopefully in a future post I&#8217;ll get a chance to explain it in depth.</p>
<ul class="downloads">
<li><a href="http://orangesplotch.com/files/components/SliderBar.mxp" type="mxp">SliderBar Flash Extension <em>(adds the SliderBar to Flash&#8217;s Components directory)</em></a></li>
<li><a href="http://orangesplotch.com/files/components/SliderBar.zip" type="zip">SliderBar Source Files <em>(see how it works, make mods, etc.)</em></a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://orangesplotch.com/blog/speed-up-your-flash-development-time-with-slider-bars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to remember things when you need to remember them</title>
		<link>http://orangesplotch.com/blog/how-to-remember-things-when-you-need-to-remember-them/</link>
		<comments>http://orangesplotch.com/blog/how-to-remember-things-when-you-need-to-remember-them/#comments</comments>
		<pubDate>Mon, 28 May 2007 14:09:54 +0000</pubDate>
		<dc:creator>mattc</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[remember]]></category>

		<guid isPermaLink="false">http://orangesplotch.com/blog/how-to-remember-things-when-you-need-to-remember-them/</guid>
		<description><![CDATA[My overactive imagination led me to a simple technique that helps me remember things at the exact moment I need to. Maybe it can help you, too.]]></description>
			<content:encoded><![CDATA[<p class="intro">
Do you ever remind yourself over and over and over to do something only to completely forget just as the moment comes? I do it all the time and it drives my wife crazy. My overactive imagination led me to a simple technique that helps me remember things at the exact moment I need to. In the hopes of helping my fellow absent minded earthlings, I thought I&#8217;d share.
</p>
<h3>Don&#8217;t forget &#8230; don&#8217;t forget &#8230; don&#8217;t forget</h3>
<p>
I&#8217;ve tried a lot of the conventional reminder techniques. Writing on my hands, writing on post-it notes, getting a planner, repeating things over and over in my head, etc. They always seem to fail me for some reason or another. Usually it&#8217;s because I get into my daily routine and the reminder part of my brain turns off. I forget to remember what I was supposed to do when I need to do it, only to remember sometime later.
</p>
<p class="note">
The reminder part of the brain is tucked snuggly between the organization part and the common-sense part. That whole section of my brain seems to be broken.
</p>
<p>So what is this nifty technique to never forget anything again? Basically all you do is send a reminder to yourself in the future. Sounds fun, doesn&#8217;t it?</p>
<h3>Travelling through time to never forget</h3>
<p>
All you have to do to never forget something, is go into the future to the exact moment in time that you need to remember it. Then tell yourself what you had forgotten. Once back in the present, you can go ahead and forget all about it, because you know that future you is going to be reminded. Doesn&#8217;t that feel great?
</p>
<p><strong>Ok, so you aren&#8217;t going to be doing any actual time travelling.</strong> But that really is the basic idea of this technique. Since I can&#8217;t actually travel through time to remind myself. I pretend to travel through time to the moment when I need to remember. While this may sound childish, it actually works really well.</p>
<p>The trick is to get as detailed as possible in your imagination. If I want to remember to pick up some milk on the way home, imagine yourself driving in the car at the exact moment you need to remember to turn and go to the store. There is probably an intersection where you turn left instead of right or something like that. Imagine yourself getting to that intersection. Imagine the all the buildings, signs, landmarks, whatever that are there. Imagine what you&#8217;ll be thinking about at that moment, or what you&#8217;ll be doing. Maybe you can imagine how it will smell, or sound around you. The more specific and distinct your imaginary future is the better. Once you&#8217;ve made as detailed an image as you can, imagine yourself saying &#8220;Oh ya, I need to go get some milk!&#8221;</p>
<p>When you actually arrive at that moment in the future, all of the details that you imagined earlier will trigger your memory and suddenly you&#8217;ll remember &#8220;Oh ya, I need to get the milk!&#8221; Isn&#8217;t <em>imaginary</em> time travel fun!</p>
<h3>Never forget the milk again</h3>
<p>I&#8217;ve found that this method works great for remembering random tasks you don&#8217;t routinely do. Everyone&#8217;s different, and maybe the reminder part of your brain works fine. If it doesn&#8217;t, this might be just the trick you need. Try it out and let me know how it goes.</p>
]]></content:encoded>
			<wfw:commentRss>http://orangesplotch.com/blog/how-to-remember-things-when-you-need-to-remember-them/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
