<?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>stinogle.com &#187; web</title>
	<atom:link href="http://stinogle.com/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://stinogle.com</link>
	<description>Making the web not suck for a while now.</description>
	<lastBuildDate>Fri, 03 Feb 2012 00:43:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Setting Cache Control Headers to Speed Up Your Site</title>
		<link>http://stinogle.com/2012/02/02/setting-cache-control-headers-to-speed-up-your-site/</link>
		<comments>http://stinogle.com/2012/02/02/setting-cache-control-headers-to-speed-up-your-site/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 00:40:09 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[cache control headers]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[Page Speed]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://stinogle.com/?p=927</guid>
		<description><![CDATA[Well, I took a quick look at my Page Speed results today, and it looks like Google is angry at me for my inability to leverage browser caching. Essentially, I&#8217;m reaching out to the server for every image on my site, even if the user has loaded it already. Seems like a ton of extra [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I took a quick look at my <a href="http://code.google.com/speed/page-speed/docs/using_chrome.html">Page Speed</a> results today, and it looks like Google is angry at me for my inability to leverage browser caching. Essentially, I&#8217;m reaching out to the server for every image on my site, even if the user has loaded it already. Seems like a ton of extra unnecessary work eh?</p>
<p>Well, htaccess to the rescue! I added the following to my .htaccess file, which sped up my site considerably (and also upped my Page Speed score). I opted to set my headers to a long time for both images, css, and js for now, since I don&#8217;t really update the look of my site that often. When I do decide to, I&#8217;ll most likely rename my js and css files, and removed the old ones.</p>
<pre>
# Setting Cache Control Headers
# 480 weeks
&lt;filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"&gt;
Header set Cache-Control "max-age=290304000, public"
&lt;/filesMatch&gt;

# 2 DAYS
&lt;filesMatch "\.(xml|txt)$"&gt;
Header set Cache-Control "max-age=172800, public, must-revalidate"
&lt;/filesMatch&gt;

# 2 HOURS
&lt;filesMatch "\.(html|htm)$"&gt;
Header set Cache-Control "max-age=7200, must-revalidate"
&lt;/filesMatch&gt;
</pre>
<p>Anyone out there have any suggestions on ways to set cache control? This was my first attempt at it, and I&#8217;d love some feedback!</p>
]]></content:encoded>
			<wfw:commentRss>http://stinogle.com/2012/02/02/setting-cache-control-headers-to-speed-up-your-site/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Loading Any Version of Jquery in WordPress</title>
		<link>http://stinogle.com/2012/01/06/loading-any-version-of-jquery-in-wordpress/</link>
		<comments>http://stinogle.com/2012/01/06/loading-any-version-of-jquery-in-wordpress/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 23:49:57 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://stinogle.com/?p=922</guid>
		<description><![CDATA[Ran into this today with a WP site I was working on. I didn&#8217;t want the default version of jquery that&#8217;s included now with wordpress, so I found this handy dandy script so that I could load the latest from google. I just added it to the bottom of my functions.php file: //forcing jquery to [...]]]></description>
			<content:encoded><![CDATA[<p>Ran into this today with a WP site I was working on. I didn&#8217;t want the default version of jquery that&#8217;s included now with wordpress, so I found this handy dandy script so that I could load the latest from google. I just added it to the bottom of my functions.php file:</p>
<pre>//forcing jquery to load the version we want
function my_scripts_method() {
    wp_deregister_script( 'jquery' );
    wp_register_script( 'jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js');
    wp_enqueue_script( 'jquery' );
}    

add_action('wp_enqueue_scripts', 'my_scripts_method');</pre>
]]></content:encoded>
			<wfw:commentRss>http://stinogle.com/2012/01/06/loading-any-version-of-jquery-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This Image is Copyrighted</title>
		<link>http://stinogle.com/2011/12/20/this-image-is-copyrighted/</link>
		<comments>http://stinogle.com/2011/12/20/this-image-is-copyrighted/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 23:00:14 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[cartoon]]></category>
		<category><![CDATA[copyright]]></category>
		<category><![CDATA[government]]></category>
		<category><![CDATA[protect ip]]></category>
		<category><![CDATA[protest]]></category>
		<category><![CDATA[sopa]]></category>
		<category><![CDATA[veto]]></category>
		<category><![CDATA[whitehouse]]></category>

		<guid isPermaLink="false">http://stinogle.com/?p=905</guid>
		<description><![CDATA[Add this image to your site at your own risk! Scary times! SOPA is too blunt. Please veto.]]></description>
			<content:encoded><![CDATA[<p><a href="http://i.imgur.com/TD4Kq.jpg"><img alt="This is a copyrighted image" src="http://i.imgur.com/TD4Kq.jpg" title="This is a copyrighted image" class="alignnone" width="548" /></a></p>
<p>Add this image to your site at your own risk! Scary times!</p>
<p><a href="https://wwws.whitehouse.gov/petitions/%21/petition/veto-sopa-bill-and-any-other-future-bills-threaten-diminish-free-flow-information/g3W1BscR?utm_source=wh.gov&#038;utm_medium=shorturl&#038;utm_campaign=shorturl">SOPA is too blunt. Please veto.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stinogle.com/2011/12/20/this-image-is-copyrighted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protect IP Protects No One</title>
		<link>http://stinogle.com/2011/11/16/protect-ip-protects-no-one/</link>
		<comments>http://stinogle.com/2011/11/16/protect-ip-protects-no-one/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 20:31:31 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[fightforthefuture]]></category>
		<category><![CDATA[government]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[pipa]]></category>
		<category><![CDATA[protect ip]]></category>
		<category><![CDATA[sopa]]></category>
		<category><![CDATA[vimeo]]></category>

		<guid isPermaLink="false">http://stinogle.com/?p=891</guid>
		<description><![CDATA[PROTECT IP Act Breaks The Internet from Fight for the Future on Vimeo. Tell Congress not to censor the internet NOW! &#8211; http://www.fightforthefuture.org/pipa PROTECT-IP is a bill that has been introduced in the Senate and the House and is moving quickly through Congress. It gives the government and corporations the ability to censor the net, [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/31100268?byline=0&amp;portrait=0" width="548" height="308" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe>
<p><a href="http://vimeo.com/31100268">PROTECT IP Act Breaks The Internet</a> from <a href="http://vimeo.com/fightforthefuture">Fight for the Future</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Tell Congress not to censor the internet NOW! &#8211; http://www.fightforthefuture.org/pipa</p>
<p>PROTECT-IP is a bill that has been introduced in the Senate and the House and is moving quickly through Congress. It gives the government and corporations the ability to censor the net, in the name of protecting &#8220;creativity&#8221;. The law would let the government or corporations censor entire sites&#8211; they just have to convince a judge that the site is &#8220;dedicated to copyright infringement.&#8221; </p>
<p>The government has already wrongly shut down sites without any recourse to the site owner. Under this bill, sharing a video with anything copyrighted in it, or what sites like Youtube and Twitter do, would be considered illegal behavior according to this bill. </p>
<p>According to the Congressional Budget Office, this bill would cost us $47 million tax dollars a year — that&#8217;s for a fix that won&#8217;t work, disrupts the internet, stifles innovation, shuts out diverse voices, and censors the internet. This bill is bad for creativity and does not protect your rights.</p>
<p>Mozilla is taking action, and <a href="http://www.mozilla.org/sopa/">so can you</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://stinogle.com/2011/11/16/protect-ip-protects-no-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting .ogg Files to Work on GoDaddy</title>
		<link>http://stinogle.com/2011/08/03/getting-ogg-files-to-work-on-godaddy/</link>
		<comments>http://stinogle.com/2011/08/03/getting-ogg-files-to-work-on-godaddy/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 22:23:07 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[Godaddy]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ogg]]></category>

		<guid isPermaLink="false">http://stinogle.com/?p=858</guid>
		<description><![CDATA[Was setting up some HTML5 audio on a site today, and noticed that the .ogg file was not playing in Firefox. After a bit of pulling out my hair, I realized that GoDaddy did not have this mime type setup on my server. So, I tried this in my .htaccess file: AddType audio/ogg .ogg And [...]]]></description>
			<content:encoded><![CDATA[<p>Was setting up some HTML5 audio on a site today, and noticed that the .ogg file was not playing in Firefox. After a bit of pulling out my hair, I realized that GoDaddy did not have this mime type setup on my server. So, I tried this in my .htaccess file:</p>
<pre>
AddType audio/ogg .ogg
</pre>
<p>And viola! HTML5 audio in Firefox.</p>
]]></content:encoded>
			<wfw:commentRss>http://stinogle.com/2011/08/03/getting-ogg-files-to-work-on-godaddy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>User Agent Checks in JSP</title>
		<link>http://stinogle.com/2011/07/13/user-agent-checks-in-jsp/</link>
		<comments>http://stinogle.com/2011/07/13/user-agent-checks-in-jsp/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 13:55:30 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JSP]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[User Agents]]></category>

		<guid isPermaLink="false">http://stinogle.com/?p=835</guid>
		<description><![CDATA[So yesterday we needed to build a page that would redirect based on the device a user came from. We needed to know if a user was coming from a Droid, iPad/iPhone, BlackBerry, or Desktop. I grabbed some user agents here, and went to town. Lemme know if you know a better way to tackle [...]]]></description>
			<content:encoded><![CDATA[<p>So yesterday we needed to build a page that would redirect based on the device a user came from. We needed to know if a user was coming from a Droid, iPad/iPhone, BlackBerry, or Desktop. I grabbed some user agents <a href="http://www.useragentstring.com/pages/useragentstring.php">here</a>, and went to town. Lemme know if you know a better way to tackle this, as I tried to make it as lean as possible.</p>
<pre  class="brush: xml">
<%@ page import="java.util.*"%>

<%
	Enumeration e;
	e = request.getHeaderNames();
	String userAgent = request.getHeader("user-agent");
%>

<!--<html>

<body>-->

<%

	if(userAgent.matches(".*BlackBerry.*")) {
		out.print ("BlackBerries taste yummy.");
	} else if(userAgent.matches(".*Android.*")) {
		out.print ("These aren't the droids you're looking for.");
	} else if(userAgent.matches(".*iPhone.*") || userAgent.matches(".*iPad.*")) {
		out.print ("Pods or pads, doesn't matter.");
	} else {
		out.print ("I'm a PC.");
	}

%>

<!--</body>

</html>-->
</pre>
]]></content:encoded>
			<wfw:commentRss>http://stinogle.com/2011/07/13/user-agent-checks-in-jsp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My First Blog Post as a Facebook User</title>
		<link>http://stinogle.com/2011/01/18/my-first-blog-post-as-a-facebook-user/</link>
		<comments>http://stinogle.com/2011/01/18/my-first-blog-post-as-a-facebook-user/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 04:10:43 +0000</pubDate>
		<dc:creator>Rob Stinogle</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[fbml]]></category>
		<category><![CDATA[like button]]></category>
		<category><![CDATA[Open Graph]]></category>
		<category><![CDATA[Sociable]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://stinogle.com/?p=783</guid>
		<description><![CDATA[So I finally got around to setting up Facebook Connect on my site this weekend. Now not only can you like all of my posts individually, but you can login and comment on them via your Facebook profile, and even post your comments to your user page. All this using a bit of FBML, and [...]]]></description>
			<content:encoded><![CDATA[<p>So I finally got around to setting up <a title="Facebook Connect" href="http://developers.facebook.com/docs/guides/web" target="_blank">Facebook Connect</a> on my site this weekend. Now not only can you like all of my posts individually, but you can login and comment on them via your Facebook profile, and even post your comments to your user page. All this using a bit of FBML, and a nifty widget from <a href="http://www.sociable.es/facebook-connect/" target="_blank">Sociable</a>.</p>
<p>I&#8217;d like to try and integrate some more aspects in the near future, such as my profile picture, and some better semantic implementation of the <a href="http://developers.facebook.com/docs/opengraph">Open Graph Protocol</a>.</p>
<p>Now, I just need to figure out how to align my like buttons on my blog with the same URLs that get aggregated to my Facebook page&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://stinogle.com/2011/01/18/my-first-blog-post-as-a-facebook-user/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grabbing the Absolute URL of a JSP at Runtime</title>
		<link>http://stinogle.com/2011/01/11/grabbing-the-absolute-url-of-a-jsp-at-runtime/</link>
		<comments>http://stinogle.com/2011/01/11/grabbing-the-absolute-url-of-a-jsp-at-runtime/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 22:40:43 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JSP]]></category>
		<category><![CDATA[Open Graph]]></category>

		<guid isPermaLink="false">http://stinogle.com/?p=776</guid>
		<description><![CDATA[Had to grab the absolute URL of a JSP today in order to pass it to the Open Graph Protocol for Facebook. I had to set it up to include any query strings as well, and here&#8217;s what I came up with, using a bit of inline Java. Enjoy! String url = (request.getRequestURL()).toString(); if (request.getQueryString() [...]]]></description>
			<content:encoded><![CDATA[<p>Had to grab the absolute URL of a JSP today in order to pass it to the Open Graph Protocol for Facebook. I had to set it up to include any query strings as well, and here&#8217;s what I came up with, using a bit of inline Java. Enjoy!</p>
<pre  class="brush: xml">
String url = (request.getRequestURL()).toString();
  if (request.getQueryString() != null) {
   url += '?' + request.getQueryString();
  }
</pre>
]]></content:encoded>
			<wfw:commentRss>http://stinogle.com/2011/01/11/grabbing-the-absolute-url-of-a-jsp-at-runtime/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Best Error Page?</title>
		<link>http://stinogle.com/2010/12/14/best-error-page/</link>
		<comments>http://stinogle.com/2010/12/14/best-error-page/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 17:09:18 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[Digg]]></category>
		<category><![CDATA[error page]]></category>
		<category><![CDATA[Oregon Trail]]></category>
		<category><![CDATA[the internets]]></category>

		<guid isPermaLink="false">http://stinogle.com/?p=773</guid>
		<description><![CDATA[I think so. Also, I believe you have dysentery.]]></description>
			<content:encoded><![CDATA[<p><a href="http://stinogle.com/2010/12/14/best-error-page/"><img src="http://stinogle.com/wp-content/uploads/2010/12/digg.jpg" alt="Digg Has Broken an Axle" title="digg" width="548" height="349" class="alignnone size-full wp-image-774" /></a></p>
<p>I think so. Also, I believe you have dysentery.</p>
]]></content:encoded>
			<wfw:commentRss>http://stinogle.com/2010/12/14/best-error-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Better JS Documentation For the Masses!</title>
		<link>http://stinogle.com/2010/10/28/better-js-documentation-for-the-masses/</link>
		<comments>http://stinogle.com/2010/10/28/better-js-documentation-for-the-masses/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 11:54:42 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[Promote JS]]></category>

		<guid isPermaLink="false">http://stinogle.com/?p=751</guid>
		<description><![CDATA[This is definitely a concept I can get behind. Promote JS is trying to get Javascript documentation better indexed by search engines. They are basically telling users to link to, or blog about, JS documentation. Hit up their site and check it out.]]></description>
			<content:encoded><![CDATA[<p><a href='https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String' title='JavaScript String toLocaleLowerCase'><img src='http://static.jsconf.us/promotejsh.gif' height='150' width='180' alt='JavaScript String toLocaleLowerCase'/></a></p>
<p>This is definitely a concept I can get behind. Promote JS is trying to get <a href="https://developer.mozilla.org/en/javascript">Javascript documentation</a> better indexed by search engines. They are basically telling users to link to, or blog about, JS documentation. <a href="http://promotejs.com/">Hit up their site</a> and check it out. </p>
]]></content:encoded>
			<wfw:commentRss>http://stinogle.com/2010/10/28/better-js-documentation-for-the-masses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

