<?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>Jared Stenquist - Personal Blog &#187; Web Development</title>
	<atom:link href="http://www.jaredstenquist.com/category/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jaredstenquist.com</link>
	<description>Inside the life of a young entrepreneur, claiming his stake of the world</description>
	<lastBuildDate>Thu, 15 Apr 2010 01:35:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>For CPanel Servers, ConfigServer firewall a must</title>
		<link>http://www.jaredstenquist.com/2010/01/07/for-cpanel-servers-configserver-firewall-a-must/</link>
		<comments>http://www.jaredstenquist.com/2010/01/07/for-cpanel-servers-configserver-firewall-a-must/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 17:38:40 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jaredstenquist.com/?p=184</guid>
		<description><![CDATA[The crew at ConfigServer have created an awesome (Free) firewall plugin for CPanel that makes security a breeze. I&#8217;ve loaded it on all our servers and am really impressed. You can hop over to more information about ConfigServer, or follow the simple instructions I&#8217;m archiving here: ############################################################################### # Copyright 2006-2009, Way to the Web Limited [...]]]></description>
			<content:encoded><![CDATA[<p>The crew at ConfigServer have created an awesome (Free) firewall plugin for CPanel that makes security a breeze. I&#8217;ve loaded it on all our servers and am really impressed. You can hop over to <a href="http://www.configserver.com/cp/csf.html">more information about ConfigServer</a>, or follow the simple instructions I&#8217;m archiving here:</p>
<p><code><br />
###############################################################################<br />
# Copyright 2006-2009, Way to the Web Limited<br />
# URL: http://www.waytotheweb.com<br />
# Email: sales@waytotheweb.com<br />
###############################################################################</p>
<p>Installation<br />
============<br />
Installation is quite straightforward:</p>
<p>rm -fv csf.tgz<br />
wget http://www.configserver.com/free/csf.tgz<br />
tar -xzf csf.tgz<br />
cd csf<br />
sh install.sh</p>
<p>Next, test whether you have the required iptables modules:</p>
<p>perl /etc/csf/csftest.pl</p>
<p>Don't worry if you cannot run all the features, so long as the script doesn't<br />
report any FATAL errors</p>
<p>You should not run any other iptables firewall configuration script. For<br />
example, if you previously used APF+BFD you can remove the combination (which<br />
you will need to do if you have them installed otherwise they will conflict<br />
horribly):</p>
<p>sh /etc/csf/remove_apf_bfd.sh</p>
<p>That's it. You can then configure csf and lfd by edit the files<br />
directly in /etc/csf/*, or on cPanel servers use the WHM UI</p>
<p>csf installation for cPanel is preconfigured to work on a cPanel server with all<br />
the standard cPanel ports open.</p>
<p>csf installation for DirectAdmin is preconfigured to work on a DirectAdmin<br />
server with all the standard DirectAdmin ports open.</p>
<p>csf auto-configures your SSH port on installation where it's running on a non-<br />
standard port.</p>
<p>csf auto-whitelists your connected IP address where possible on installation.</p>
<p>You should ensure that kernel logging daemon (klogd) is enabled. Typically, VPS<br />
servers have this disabled and you should check /etc/init.d/syslog and make<br />
sure that any klogd lines are not commented out. If you change the file,<br />
remember to restart syslog.</p>
<p>See the readme.txt file for more information.</p>
<p>Webmin Module Installation/Upgrade<br />
==================================</p>
<p>To install or upgrade the csf webmin module:</p>
<p>Install csf as above<br />
Install the csf webmin module in:<br />
  Webmin > Webmin Configuration > Webmin Modules ><br />
  From local file > /etc/csf/csfwebmin.tgz > Install Module</p>
<p>Uninstallation<br />
==============<br />
Removing csf and lfd is even more simple:</p>
<p>On cPanel servers:</p>
<p>cd /etc/csf<br />
sh uninstall.sh</p>
<p>On DirectAdmin servers:</p>
<p>cd /etc/csf<br />
sh uninstall.directadmin.sh</p>
<p>On generic linux servers:</p>
<p>cd /etc/csf<br />
sh uninstall.generic.sh<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaredstenquist.com/2010/01/07/for-cpanel-servers-configserver-firewall-a-must/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom 404 Error Pages in Codeigniter (the easy way)</title>
		<link>http://www.jaredstenquist.com/2010/01/07/custom-404-error-pages-in-codeigniter-the-easy-way/</link>
		<comments>http://www.jaredstenquist.com/2010/01/07/custom-404-error-pages-in-codeigniter-the-easy-way/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 05:07:38 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jaredstenquist.com/?p=181</guid>
		<description><![CDATA[For those who have worked with the Codeigniter framework, you may have wanted to customize your error pages, specifically the 404. It looks like most of the developers on the forums are coming up with more complicated ways then necessary. The easiest way is to edit the following file: /includes/application/errors/error_404.php I opted for a customized [...]]]></description>
			<content:encoded><![CDATA[<p>For those who have worked with the<a href="http://codeigniter.com" target="_blank"> Codeigniter framework</a>, you may have wanted to customize your error pages, specifically the 404. It looks like most of the developers on the forums are coming up with more complicated ways then necessary. The easiest way is to edit the following file:</p>
<p><em>/includes/application/errors/error_404.php</em></p>
<p>I opted for a customized background image, specific link and some modified copy. You could of course treat this like a view and do more dynamic things&#8230; but really? it&#8217;s a 404 page, let&#8217;s keep it simple people.</p>
<p>Here is an example of the one I put together: <a href="http://www.campuslive.com/somecrazyjibberishurl">http://www.campuslive.com/somecrazyjibberishurl</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaredstenquist.com/2010/01/07/custom-404-error-pages-in-codeigniter-the-easy-way/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fix Youtube Videos from Overlapping Thickbox in Chrome and Safari</title>
		<link>http://www.jaredstenquist.com/2009/03/24/fix-youtube-videos-from-overlapping-thickbox-in-chrome-and-safari/</link>
		<comments>http://www.jaredstenquist.com/2009/03/24/fix-youtube-videos-from-overlapping-thickbox-in-chrome-and-safari/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 16:24:42 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jaredstenquist.com/?p=64</guid>
		<description><![CDATA[On CampusLIVE we have all the site logins prompt users with a thickbox. Recently we added a Youtube video to one of the pages on the site and it produced some problems in Safari and Chrome. The thickbox would come up, but was half covered by the Youtube video. I tried altering the Z-Indexes of [...]]]></description>
			<content:encoded><![CDATA[<p>On CampusLIVE we have all the site logins prompt users with a thickbox. Recently we added a Youtube video to one of the pages on the site and it produced some problems in Safari and Chrome. The thickbox would come up, but was half covered by the Youtube video.</p>
<p>I tried altering the Z-Indexes of the modal thickbox and the video itself with no luck.</p>
<p>Here&#8217;s the fix. Just add <strong>wmode=&#8221;transparent&#8221;</strong> into the embed tag.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaredstenquist.com/2009/03/24/fix-youtube-videos-from-overlapping-thickbox-in-chrome-and-safari/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtualize all major web browsers for easy cross-browser testing</title>
		<link>http://www.jaredstenquist.com/2009/03/23/virtualize-all-major-web-browsers-for-easy-cross-browser-testing/</link>
		<comments>http://www.jaredstenquist.com/2009/03/23/virtualize-all-major-web-browsers-for-easy-cross-browser-testing/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 13:47:39 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jaredstenquist.com/?p=62</guid>
		<description><![CDATA[Anyone who has tried to test multiple flavours of Internet Explorer knowsthat it&#8217;s close to impossible to run multiple versions on the same machine. I came across a company called Xenocode that virtualizes all major browsers so that you can make one-click and run any major browser. Just a few downloads and you&#8217;re off to [...]]]></description>
			<content:encoded><![CDATA[<p>Anyone who has tried to test multiple flavours of Internet Explorer knowsthat it&#8217;s close to impossible to run multiple versions on the same machine. I came across a company called <a href="http://www.xenocode.com/">Xenocode</a> that virtualizes all major browsers so that you can make one-click and run any major browser.</p>
<p>Just a few downloads and you&#8217;re off to the races:</p>
<p><a href="http://www.xenocode.com/start/?a=IE6">IE6</a>, <a href="http://www.xenocode.com/start/?a=IE7">IE7</a>, <a href="http://www.xenocode.com/start/?a=IE8">IE8</a>, <a href="http://www.xenocode.com/start/?a=Safari">Safari 3</a>, <a href="http://www.xenocode.com/start/?a=Chrome">Chrome</a>, <a href="http://www.xenocode.com/start/?a=Firefox">Firefox</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaredstenquist.com/2009/03/23/virtualize-all-major-web-browsers-for-easy-cross-browser-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Show / Hide with Google Maps</title>
		<link>http://www.jaredstenquist.com/2008/11/19/show-hide-with-google-maps/</link>
		<comments>http://www.jaredstenquist.com/2008/11/19/show-hide-with-google-maps/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 14:34:00 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jaredstenquist.com/2008/11/19/show-hide-with-google-maps/</guid>
		<description><![CDATA[For the new release of CampusLIVE we&#8217;re adding auto-geocoded maps using the GMaps api and a few custom php classes. We&#8217;re using the CodeIgniter framework, coupled with a custom version of the PhoogleMaps class (hacked into a custom CI library). Our team agreed that we should hide the map under a &#8220;show/hide&#8221; link since most users wouldnt need to see [...]]]></description>
			<content:encoded><![CDATA[<p>For the new release of <a href="http://www.campuslive.com">CampusLIVE</a> we&#8217;re adding auto-geocoded maps using the GMaps api and a few custom php classes. We&#8217;re using the <a href="http://codeigniter.com/" title="CodeIgniter Framework">CodeIgniter framework</a>, coupled with a custom version of the <a href="http://www.systemsevendesigns.com/phoogle" title="PhoogleMaps Class">PhoogleMaps</a> class (hacked into a custom CI library).</P>
<p>Our team agreed that we should hide the map under a &#8220;show/hide&#8221; link since most users wouldnt need to see them. Unfurtunately after placing the map in a hidden div and opening it up with a javascipt link the map would display half of the images and not work properly.</p>
<p>After a lot of thrashing the keyboard, I found the solution. Technically the gmap is drawn to the size of the parent block element. This means that when the map is inside a div with the style &#8220;display: none&#8221; initially, the map will not completely load. To fix this, use the &#8220;new GSize&#8221; function to override this and set the actual size of the map. Works great.</p>
<p style="font-weight: bold">Original GMaps Code<span class="Apple-style-span" style="font-weight: bold"></span></p>
<p><code>var map = new GMap(document.getElementById("map_canvas"));</code> 
<p class="Apple-style-span" style="font-weight: bold">With Fix Fix (use GSize(width in px, height in px))</p>
<p><code>var map = new GMap(document.getElementById("map_canvas"),{size: new GSize(653,348)});</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaredstenquist.com/2008/11/19/show-hide-with-google-maps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using htaccess to remove / redirect a folder in a url</title>
		<link>http://www.jaredstenquist.com/2008/08/08/using-htaccess-to-remove-redirect-a-folder-in-a-url/</link>
		<comments>http://www.jaredstenquist.com/2008/08/08/using-htaccess-to-remove-redirect-a-folder-in-a-url/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 16:39:37 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Questions Answered]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.jaredstenquist.com/2008/08/08/using-htaccess-to-remove-redirect-a-folder-in-a-url/</guid>
		<description><![CDATA[At CampusLIVE, we completely overhauled our codebase which resulted in all of our urls in Google to incorrectly go to our homepage. Here&#8217;s an example along with the solution The Goal The goal was to redirect any request to CampusLIVE.com/home/(anything) to CampusLIVE.com/(anything) so that all links in Google would work again. Example of Old Url [...]]]></description>
			<content:encoded><![CDATA[<p>At CampusLIVE, we completely overhauled our codebase which resulted in all of our urls in Google to incorrectly go to our homepage. Here&#8217;s an example along with the solution</p>
<p><strong>The Goal</strong><br />
The goal was to redirect any request to <a href="http://CampusLIVE.com/home/%28anything" class="linkification-ext" title="Linkification: http://CampusLIVE.com/home/(anything">CampusLIVE.com/home/(anything</a>) to <a href="http://CampusLIVE.com/%28anything" class="linkification-ext" title="Linkification: http://CampusLIVE.com/(anything">CampusLIVE.com/(anything</a>) so that all links in Google would work again.</p>
<p><strong>Example of Old Url</strong><br />
<a href="http://www.campuslive.com/home/umass/restaurants" class="linkification-ext" title="Linkification: http://www.campuslive.com/home/umass/restaurants">http://www.campuslive.com/home/umass/restaurants</a></p>
<p><strong>Example of New Url</strong><br />
<a href="http://www.campuslive.com/umass/restaurants" class="linkification-ext" title="Linkification: http://www.campuslive.com/umass/restaurants">http://www.campuslive.com/umass/restaurants</a></p>
<p><strong>The Solution</strong><br />
Open up you .htaccess file in any text editor. My code can be substituted to work with your domain/folders.</p>
<hr />
<pre>
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^home/(.*)$ <a href="http://www.campuslive.com/$1" class="linkification-ext" title="Linkification: http://www.campuslive.com/$1">http://www.campuslive.com/$1</a> [R=301,L]</pre>
<hr />
<p><strong>Summary</strong></p>
<p>The above code will successfully redirect permanently any requested to /home/(anything) to /(anything).By using the 301 redirect, you are telling the search engines to permanently use the new address.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaredstenquist.com/2008/08/08/using-htaccess-to-remove-redirect-a-folder-in-a-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
