<?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>Joel Gerard</title>
	<atom:link href="http://www.joelgerard.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.joelgerard.com</link>
	<description>Life is good</description>
	<lastBuildDate>Thu, 24 Jan 2013 22:02:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Elastic Load Balancer SSL Setup Guide – PEM encoded CSR</title>
		<link>http://www.joelgerard.com/2013/01/24/elastic-load-balancer-ssl-setup-guide-%e2%80%93-pem-encoded-csr/</link>
		<comments>http://www.joelgerard.com/2013/01/24/elastic-load-balancer-ssl-setup-guide-%e2%80%93-pem-encoded-csr/#comments</comments>
		<pubDate>Thu, 24 Jan 2013 22:02:39 +0000</pubDate>
		<dc:creator>joelgerard</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.joelgerard.com/?p=266</guid>
		<description><![CDATA[This is a repost from http://cloudarch.co.uk/2011/10/elastic-load-balancer-ssl-setup-guide-pem-encoded-csr. That site is either gone or down. James posted the original and the credit goes to him. &#160; Elastic Load Balancer SSL Setup Guide – PEM encoded CSR Posted on October 9, 2011 by james &#160; Amazon Elastic Load Balancers have the nice feature of being able to do SSL termination, but what]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>This is a repost from <a href="http://cloudarch.co.uk/2011/10/elastic-load-balancer-ssl-setup-guide-pem-encoded-csr/#comment-561" rel="nofollow">http://cloudarch.co.uk/2011/10/elastic-load-balancer-ssl-setup-guide-pem-encoded-csr</a>. That site is either gone or down. James posted the original and the credit goes to him.</p>
<p>&nbsp;</p>
<header>
<h1>Elastic Load Balancer SSL Setup Guide – PEM encoded CSR</h1>
<div>Posted on <a title="12:52 pm" href="http://web.archive.org/web/20121119020725/http://cloudarch.co.uk/2011/10/elastic-load-balancer-ssl-setup-guide-pem-encoded-csr/" rel="bookmark"><time datetime="2011-10-09T12:52:39+00:00" pubdate="">October 9, 2011</time></a> by <a title="View all posts by james" href="http://web.archive.org/web/20121119020725/http://cloudarch.co.uk/author/james/" rel="author">james</a></div>
</header>
<p>&nbsp;</p>
<div>
<p>Amazon Elastic Load Balancers have the nice feature of being able to do SSL termination, but what does that mean? Usually when using SSL you have to configure each server to have your SSL certificate installed to provide HTTPS. Using Amazon ELB means that you only have to install you SSL certificate in one place and Amazon do everything for you. This also has the benefit of taking load off of your server by taking out the overhead of SSL encryption.</p>
<p>Setting up SSL on Amazon ELB is a bit different from configuring SSL in Apache and is a bit tricky, so I wanted to create a guide on how to do this. This guide is for when using GoDaddy as the SSL provider but this could by any SSL provider using a normal CSR process.</p>
<p>The reason why this is different from a normal CSR process is that Amazon require your keys to be PEM encoded instead of the normal format GoDaddy or other SSL providers generate.</p>
<p><strong>I. Getting a GoDaddy SSL Certificate (Part I)</strong></p>
<p>1. Purchase a GoDaddy Standard SSL Certificate</p>
<p><em>GoDaddy sells Standard SSL Certificates for anywhere from $12.99/year to $49.99/year.  I highly recommend you do a search for ‘cheap ssl’ on Google and see if there are any advertisements for discounted GoDaddy Standard SSL Certificates.  I was able to buy my certificate for $12.99/year this way.</em></p>
<p>2. After you complete your purchase, GoDaddy will give you a credit that you can trade for a certificate.  Make the trade and click on ‘Manage Certificate’ next to your new certificate.  This will bring you to a Credits control panel where we will click ‘Request Certificate’ next to your new certificate later on when we are ready to setup your certificate.</p>
<p>&nbsp;</p>
<p><strong>II. Creating a Certificate Signing Request (CSR)</strong></p>
<p><em>Note: To create an SSL certificate, you must first generate and submit a Certificate Signing Request (CSR) to the Certification Authority (CA) (i.e. GoDaddy). The CSR contains your certificate-application information, including your public key. The CSR will also create your public/private key pair used for encrypting and decrypting secure transactions.</em></p>
<p>These instructions are based on generating the CSR on Ubuntu.</p>
<p>Steps to create a CSR:</p>
<p>1. Make a new directory to hold your project’s SSL-related stuff.  It doesn’t really matter where you put this, but I recommend putting this somewhere safe and should not be in your web directory.</p>
<p><strong>mkdir ssl-cert</strong></p>
<p>2. Move to your newly created folder</p>
<p><strong>cd ssl-cert</strong></p>
<p>3. Use OpenSSL to generate an RSA host key (‘host.key’) using the triple DES encryption, with a 2,048-bit key length (as required by GoDaddy).  Triple DES is just DES times three, but is more secure against brute force attacks because of its longer length.</p>
<p><strong>openssl genrsa -des3 -out host.key 2048</strong></p>
<p>It will ask you for a pass phrase.  This should be a secret password.  Don’t forget the pass phrase you set, as we will need it later.</p>
<p>4. Use OpenSSL to generate a new self-signed certificate (‘host.csr’) using the host key we just created.  This is what you’ll be sending to GoDaddy to model your new SSL after.</p>
<p><strong>openssl req -new -key host.key -out host.csr</strong></p>
<p>You will be prompted with a bunch of questions.  Answer all of them, except the last two ‘extra’ attributes are optional.  Here are example responses:</p>
<p><strong>Country Name (2 letter code) [AU]:</strong><strong>UK</strong></p>
<p><strong>State or Province Name (full name) [Some-State]:</strong><strong>Warwickshire</strong></p>
<p><strong>Locality Name (eg, city) []:Leamington Spa</strong></p>
<p><strong>Organization Name (eg, company) [Internet Widgits Pty Ltd]:</strong><strong>Your Company Name</strong></p>
<p><strong>Organizational Unit Name (eg, section) []:</strong><strong>secure.yourdomain.com</strong></p>
<p><strong>Common Name (eg, YOUR name) []:</strong><strong>secure.yourdomain.com</strong></p>
<p><strong>Email Address []:</strong><strong>contact@yourdomain.com</strong></p>
<p><strong>Please enter the following ‘extra’ attributes</strong></p>
<p><strong>to be sent with your certificate request</strong></p>
<p><strong>A challenge password []:</strong></p>
<p><strong>An optional company name []:</strong></p>
<p>It is very important you don’t mistype anything here, as you can’t change this information without buying a new SSL certificate.  ’Organizational Unit Name’ and ‘Common Name’ must be the hostname you are using for your domain.</p>
<p><strong>III. Getting a GoDaddy’s SSL Certificate (Part II)</strong></p>
<p>1. Return to where we left off with GoDaddy.  You should have clicked ‘Request Certificate’ and see a form where you need to answer the following questions:</p>
<p><strong>Where is your certificate going to be hosted? </strong><strong>Third Party</strong></p>
<p><strong>Enter your Certificate Signing Request (CSR) below: </strong><strong>[copy the text contents of 'host.csr' here]</strong></p>
<p><strong>Select your certificate issuing organization: </strong><strong>GoDaddy</strong></p>
<p><strong>Is this certificate for Intel vPro? </strong><strong>No</strong></p>
<p>2. Verify everything and then click through to finish.  You should now be able to view and download your GoDaddy SSL certificate from GoDaddy from the ‘Manage Certificates’ section.</p>
<p><strong>IV. Prepare SSL Certificate for Heroku</strong></p>
<p>1. Download your new SSL certificate from GoDaddy’s website into your ‘ssl-cert’ directory that we created in step I.  You will get two files from GoDaddy: ‘secure.yourdomain.com.crt’ and ‘gd_bundle.crt’.  ’secure.yourdomain.com.crt’ is your new SSL certificate.  ’gd_bundle.crt’ contains the SSL issuing certificate chain back to the root SSL certificate.</p>
<p>2. Combine ‘secure.yourdomain.com.crt’ and ‘host.key’:</p>
<p><strong>cat secure.yourdomain.com.crt host.key &gt; host.pem</strong></p>
<p>3. Remove pass phrase from the public key certificate (required by Amazon)</p>
<p><strong>openssl rsa -in host.pem -out nopassphrase.pem</strong></p>
<p><strong>openssl x509 -in host.pem &gt;&gt;nopassphrase.pem</strong></p>
<p>You will be asked for the pass phrase you set in step I.</p>
<p>4. Open ‘nopassphrase.pem’ in a text editor and delete the ‘private key’ section:</p>
<p><strong>—–BEGIN RSA PRIVATE KEY—–</strong></p>
<p><strong>…</strong></p>
<p><strong>—–END RSA PRIVATE KEY—–</strong></p>
<p>5. Combine ‘gd_bundle.crt’ and ‘nopassphrase.pem’:</p>
<p><strong>cat nopassphrase.pem gd_bundle.crt &gt; public.pem</strong></p>
<p>‘gd_bundle.crt’ is a chain file that links your certificate to a original trusted host certificate that GoDaddy owns.</p>
<p>6. Remove pass phrase from the private key certificate (required by Amazon)</p>
<p><strong>openssl rsa -in host.key -out private.key</strong></p>
<p>You will be asked for the pass phrase you set in step I.</p>
<p><strong><em>You might be asking yourself: What do all of these file extensions mean?  Well, here you go:</em></strong></p>
<p><strong><em>*.csr</em></strong><em> — Certificate Signing Request used for submission to signing authorities that issue SSL certificates</em></p>
<p><strong><em>*.crt</em></strong><em> — Public key of a certificate (same as a *.pem file, but with different extension).  May include a chain of certificates back to the host certificate.  This is what you’ll get from GoDaddy when you download a purchased certificate.</em></p>
<p><strong><em>*.pem</em></strong><em> — Public key of a certificate (same as a *.crt file, but with different extension).  May include a chain of certificates back to the host certificate.  This is what you’ll get from GoDaddy when you download a purchased certificate. </em></p>
<p><strong><em>*.key</em></strong><em> — Private key of a certificate</em></p>
<p><strong>V. Configure on Amazon ELB</strong></p>
<p>You are now ok to to take the key files you have just generated and copy and paste them onto your Elastic Load Balancer configuration. When applying SSL you need to create a new ELB. When setting up the load you can make your server config easy by passing the HTTPS traffic from the ELB to port 80 on your server.</p>
<p>Thats it, you now have HTTPS/SSL on your site.</p>
</div>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.joelgerard.com/2013/01/24/elastic-load-balancer-ssl-setup-guide-%e2%80%93-pem-encoded-csr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parsing Query Strings in Java and accessing values by key</title>
		<link>http://www.joelgerard.com/2012/09/14/parsing-query-strings-in-java-and-accessing-values-by-key/</link>
		<comments>http://www.joelgerard.com/2012/09/14/parsing-query-strings-in-java-and-accessing-values-by-key/#comments</comments>
		<pubDate>Fri, 14 Sep 2012 22:02:37 +0000</pubDate>
		<dc:creator>joelgerard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joelgerard.com/?p=258</guid>
		<description><![CDATA[First, you require http://hc.apache.org/, specifically httpclient-4.1.3.jar and httpcore-4.1.3.jar. Then two classes: NameValuePairComparator.java import java.util.Comparator; import org.apache.http.NameValuePair; public class NameValuePairComparator implements Comparator { @Override public int compare(NameValuePair arg0, NameValuePair arg1) { return arg0.getName().compareTo(arg1.getName()); } } QueryParamList.java import java.util.Collections; import java.util.Comparator; import java.util.List; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; public class QueryParamList { private List params; private boolean sorted = false; NameValuePairComparator]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>First, you require http://hc.apache.org/, specifically httpclient-4.1.3.jar and httpcore-4.1.3.jar. Then two classes:</p>
<p>NameValuePairComparator.java</p>
<pre>import java.util.Comparator;
import org.apache.http.NameValuePair;

public class NameValuePairComparator implements Comparator
{

    @Override
    public int compare(NameValuePair arg0, NameValuePair arg1)
    {
        return arg0.getName().compareTo(arg1.getName());
    }

}</pre>
<p>QueryParamList.java</p>
<pre>import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;

public class QueryParamList
{
    private List params;
    private boolean sorted = false;
    NameValuePairComparator comparator = new NameValuePairComparator();

    public QueryParamList(List params)
    {
        setParams(params);
    }

    protected void sort()
    {
        Collections.sort(params,comparator);
        sorted=true;
    }

    @SuppressWarnings({ "unchecked", "rawtypes" })
    public String get(String key)
    {
        if (!sorted)
        {
            sort();
        }
        int index = Collections.binarySearch((List&lt;NameValuePair&gt;) getParams(), (Object) new BasicNameValuePair(key,null) , (Comparator) comparator);
        if (index &lt;= 0)
        {
            return params.get(index).getValue();
        }
        else
        {
            return null;
        }
    }

    public List getParams()
    {
        return params;
    }

    public void setParams(List params)
    {
        this.params = params;
    }
}</pre>
<p>Example:</p>
<pre>URI uri = new URI("http://go.com?a=1");
QueryParamList params = new QueryParamList(URLEncodedUtils.parse(uri, "UTF-8"));
String a = params.get("a");</pre>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.joelgerard.com/2012/09/14/parsing-query-strings-in-java-and-accessing-values-by-key/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neon Canyon &amp; The Golden Cathedral</title>
		<link>http://www.joelgerard.com/2011/04/14/neon-canyon-the-golden-cathedral/</link>
		<comments>http://www.joelgerard.com/2011/04/14/neon-canyon-the-golden-cathedral/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 12:00:27 +0000</pubDate>
		<dc:creator>joelgerard</dc:creator>
				<category><![CDATA[Outdoors]]></category>

		<guid isPermaLink="false">http://www.joelgerard.com/2011/04/14/neon-canyon-the-golden-cathedral/</guid>
		<description><![CDATA[I guess it must be me, but I can never understand why people fly to the South West and just hit up Vegas. It&#8217;s glitzy, I&#8217;ll give you that, but a mere 300 miles to the North-East, in Utah, is a small town called Escalante. It sometimes has a shortage of fresh fruit and veg,]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p><img style="margin: 5px;" src="http://www.joelgerard.com/wp-content/uploads/2011/04/IMG_9810.jpg" alt="" width="240" height="360" align="right" />I guess it must be me, but I can never understand why people fly to the South West and just hit up Vegas. It&#8217;s glitzy, I&#8217;ll give you that, but a mere 300 miles to the North-East, in Utah, is a small town called Escalante. It sometimes has a shortage of fresh fruit and veg, but the people are awesome friendly, and the town itself sits on the edge of the <a href="http://en.wikipedia.org/wiki/Grand_Staircase-Escalante_National_Monument">Escalante Grand Staircase</a> (note: not an actual staircase but 1.9 million acres of protected land). At any rate, we passed through there in 2010, and discovered one of the highlights of our trip, Neon Canyon. A short trip to the BLM Office in Escalante will get you directions. You find your own way across the desert, drop down into a canyon cut by a river, and after a while you&#8217;ll hit Neon Canyon, a side canyon. Probably one of the most amazing hikes of my life. Trust me, forget about Vegas. See this place instead.</p>
<p>Just a few notes though:</p>
<ul>
<li>Take plenty of water (obviously)</li>
<li>Consider long pants. You have to navigate down the river for a while, and the horse flies are vicious. They&#8217;re like aliens running around in the space ship air ducts, busting through the walls, and eating the crew alive &#8211; vicious. They&#8217;re not in the canyon though.</li>
<li>I did it in my shoes. Man, I wish I had done it in my sandals.</li>
<li>We had a GPS as a safe guard to our map navigation skills.</li>
</ul>
<div id="attachment_234" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.joelgerard.com/?attachment_id=234"><img class="size-full wp-image-234" title="The Golden Cathedral, Utah" src="http://www.joelgerard.com/wp-content/uploads/2011/04/goldencathedral.jpg" alt="The Golden Cathedral, Utah" width="400" height="600" /></a><p class="wp-caption-text">The Golden Cathedral @ the end of Neon Canyon, Utah</p></div>
<hr/>
<div>
<h4>Map</h4>
<div style="margin:auto;width:425px"><iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.ca/?ie=UTF8&amp;t=h&amp;ll=37.615166,-111.16235&amp;spn=0.002711,0.003449&amp;z=18&amp;output=embed"></iframe><br /><small><a href="http://maps.google.ca/?ie=UTF8&amp;t=h&amp;ll=37.615166,-111.16235&amp;spn=0.002711,0.003449&amp;z=18&amp;source=embed" style="color:#0000FF;text-align:left">View Larger Map</a></small></div>
</div>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.joelgerard.com/2011/04/14/neon-canyon-the-golden-cathedral/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MySQL Access Denied on OSX 10.6.6</title>
		<link>http://www.joelgerard.com/2011/03/18/mysql-access-denied-on-osx-10-6-6/</link>
		<comments>http://www.joelgerard.com/2011/03/18/mysql-access-denied-on-osx-10-6-6/#comments</comments>
		<pubDate>Sat, 19 Mar 2011 00:19:01 +0000</pubDate>
		<dc:creator>joelgerard</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.joelgerard.com/?p=201</guid>
		<description><![CDATA[Man, this drove me nuts. I have a native setup of MySQL and PHP. I followed the detailed steps defined by Jerome here, but I kept getting: Access denied for user 'root'@'localhost' (using password: YES) So I could connect, but access was denied, and I was positive, 100% sure that the password was correct. So]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Man, this drove me nuts. I have a native setup of MySQL and PHP. I followed the detailed steps defined by Jerome <a href="http://maestric.com/doc/mac/apache_php_mysql_snow_leopard" target="_blank">here</a>, but I kept getting:</p>
<pre>Access denied for user 'root'@'localhost' (using password: YES)</pre>
<p>So I could connect, but access was denied, and I was positive, 100% sure that the password was correct. So I tried creating another user. The code was pretty simple</p>
<pre>&lt;?php
error_reporting(E_ALL);
mysql_connect('localhost', 'jgerard', 'password') or die(mysql_error());
echo 'No errors';
?&gt;</pre>
<p>I checked everything, and it was good. Then I tried not using localhost, or 127.0.0.1 and everything passed. No problem. The problem was using the wildcard in the mysql account setup. So this does **not** work:</p>
<p><a rel="attachment wp-att-203" href="http://www.joelgerard.com/2011/03/18/mysql-access-denied-on-osx-10-6-6/wildcard/"><img class="alignnone size-full wp-image-203" title="wildcard" src="http://www.joelgerard.com/wp-content/uploads/2011/03/wildcard.png" alt="" width="1007" height="237" /></a></p>
<p>But this does:</p>
<p><a rel="attachment wp-att-204" href="http://www.joelgerard.com/2011/03/18/mysql-access-denied-on-osx-10-6-6/local/"><img class="alignnone size-full wp-image-204" title="local" src="http://www.joelgerard.com/wp-content/uploads/2011/03/local.png" alt="" width="1019" height="219" /></a></p>
<p>So basically, make sure you list localhost specifically for the user, and you&#8217;re set. Otherwise, you have to use the external IP address of the machine, and not the loopback.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.joelgerard.com/2011/03/18/mysql-access-denied-on-osx-10-6-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>#1 Reason we weren&#8217;t allowed into the Hilton?</title>
		<link>http://www.joelgerard.com/2011/01/19/1-reason-we-werent-allowed-into-the-hilton/</link>
		<comments>http://www.joelgerard.com/2011/01/19/1-reason-we-werent-allowed-into-the-hilton/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 02:04:39 +0000</pubDate>
		<dc:creator>joelgerard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joelgerard.com/?p=192</guid>
		<description><![CDATA[The next day we parked in the Bellevue Hilton&#8217;s forecourt. Perhaps not surprisingly, there were no rooms. Personally, I think the it was the ply-wood with too much camping gear strapped to it. ;)]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>The next day we parked in the Bellevue Hilton&#8217;s forecourt. Perhaps not surprisingly, there were no rooms. Personally, I think the it was the ply-wood with too much camping gear strapped to it. ;)<br />
<a rel="attachment wp-att-193" href="http://www.joelgerard.com/2011/01/19/1-reason-we-werent-allowed-into-the-hilton/dsc02602/"><img class="alignnone size-large wp-image-193" title="DSC02602" src="http://www.joelgerard.com/wp-content/uploads/2011/01/DSC02602-1024x768.jpg" alt="" width="574" height="430" /></a></p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.joelgerard.com/2011/01/19/1-reason-we-werent-allowed-into-the-hilton/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Vertical Sunset &#8211; All the way to the stars</title>
		<link>http://www.joelgerard.com/2011/01/14/vertical-sunset-all-the-way-to-the-stars/</link>
		<comments>http://www.joelgerard.com/2011/01/14/vertical-sunset-all-the-way-to-the-stars/#comments</comments>
		<pubDate>Fri, 14 Jan 2011 19:29:39 +0000</pubDate>
		<dc:creator>joelgerard</dc:creator>
				<category><![CDATA[Outdoors]]></category>

		<guid isPermaLink="false">http://www.joelgerard.com/?p=182</guid>
		<description><![CDATA[From: View Hawaii in a larger map]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p><a rel="attachment wp-att-185" href="http://www.joelgerard.com/2011/01/14/vertical-sunset-all-the-way-to-the-stars/verticalsunset/"><img class="alignnone size-large wp-image-185" title="verticalsunset" src="http://www.joelgerard.com/wp-content/uploads/2011/01/verticalsunset-400x1024.jpg" alt="" width="400" height="1024" /></a></p>
<p>From:</p>
<p><iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.ca/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;ll=19.743439,-155.983887&amp;spn=1.26022,0.883026&amp;msid=213755193915453071827.000499d3681fb0a04c139&amp;output=embed"></iframe><br /><small>View <a href="http://maps.google.ca/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;ll=19.743439,-155.983887&amp;spn=1.26022,0.883026&amp;msid=213755193915453071827.000499d3681fb0a04c139&amp;source=embed" style="color:#0000FF;text-align:left">Hawaii</a> in a larger map</small></p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.joelgerard.com/2011/01/14/vertical-sunset-all-the-way-to-the-stars/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to make a high quality HD MP4 iPhoto Slideshow</title>
		<link>http://www.joelgerard.com/2010/12/23/how-to-make-a-high-quality-hd-mp4-iphoto-slideshow/</link>
		<comments>http://www.joelgerard.com/2010/12/23/how-to-make-a-high-quality-hd-mp4-iphoto-slideshow/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 22:30:21 +0000</pubDate>
		<dc:creator>joelgerard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joelgerard.com/?p=161</guid>
		<description><![CDATA[For some reason, with iPhoto &#8217;11, I just couldn&#8217;t get high quality MP4 slideshows to play on my PS3. The quality was terrible, especially in the cross-fade. I also recently wrote an article on how to convert MOV, which comes out great, to MP4 using iMovieHD, but again, either the file was too big, or]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>For some reason, with iPhoto &#8217;11, I just couldn&#8217;t get high quality MP4 slideshows to play on my PS3. The quality was terrible, especially in the cross-fade. I also recently wrote an article on how to convert MOV, which comes out great, to MP4 using iMovieHD, but again, either the file was too big, or the quality was too bad. You also may have noticed that on some converters, your cross-fade disappears. This is because the MOV has some crazy JPEG/Crossfade filter that nobody else recognizes. I messed around with just about every setting in the Custom Export screen, and finally gave up. So here&#8217;s how to create an HD, high quality MP4 from iPhoto that&#8217;s super easy.</p>
<ol>
<li>First, download, compile and install ffmpeg. <a href="http://stephenjungels.com/jungels.net/articles/ffmpeg-howto.html" target="_blank">This article</a> by Stephen Jungels is invaluable. I added a few more options to the configure command though: &#8211;enable-avfilter &#8211;enable-swscale (I have a backup of these instructions. Contact me if the page by Stephen is unavailable).</li>
<li>First of all, you want to do a custom export to a QuickTime Movie.<a rel="attachment wp-att-170" href="http://www.joelgerard.com/2010/12/23/how-to-make-a-high-quality-hd-mp4-iphoto-slideshow/customexport/"><img class="alignnone size-full wp-image-170" title="CustomExport" src="http://www.joelgerard.com/wp-content/uploads/2010/12/CustomExport.jpg" alt="" width="534" height="395" /></a></li>
<li><a rel="attachment wp-att-170" href="http://www.joelgerard.com/2010/12/23/how-to-make-a-high-quality-hd-mp4-iphoto-slideshow/customexport/"></a>Click &#8220;Options&#8221; and set the &#8220;Size&#8221; of the movie. This&#8217;ll make it pretty big. It might tell you that you need several gigs, but the size will come down.<a rel="attachment wp-att-171" href="http://www.joelgerard.com/2010/12/23/how-to-make-a-high-quality-hd-mp4-iphoto-slideshow/movsettings/"><img class="alignnone size-full wp-image-171" title="MovSettings" src="http://www.joelgerard.com/wp-content/uploads/2010/12/MovSettings.jpg" alt="" width="654" height="452" /></a></li>
<li>Now pick your poison for the compression settings. I used these, and the quality was good.<a rel="attachment wp-att-169" href="http://www.joelgerard.com/2010/12/23/how-to-make-a-high-quality-hd-mp4-iphoto-slideshow/compressionsettings/"><img class="alignnone size-full wp-image-169" title="CompressionSettings" src="http://www.joelgerard.com/wp-content/uploads/2010/12/CompressionSettings.jpg" alt="" width="765" height="574" /></a></li>
<li>Once you have the MOV or M4V, you&#8217;ll need to flip it to MP4 using ffmpeg. I did ffmpeg -i &#8220;Tree&amp;JoelSlideShow-HD.mov&#8221; -sameq -ab 262144   TreeJoelSlideShow-HD.mp4</li>
</ol>
<p>Voila. A high quality MP4. My 3.5 minute slideshow came to about 175MB. Not too bad.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.joelgerard.com/2010/12/23/how-to-make-a-high-quality-hd-mp4-iphoto-slideshow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HostGator and CloudFlare Speed Tests</title>
		<link>http://www.joelgerard.com/2010/11/23/hostgator-and-cloudflare-speed-tests/</link>
		<comments>http://www.joelgerard.com/2010/11/23/hostgator-and-cloudflare-speed-tests/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 20:45:04 +0000</pubDate>
		<dc:creator>joelgerard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joelgerard.com/?p=145</guid>
		<description><![CDATA[I recently added CloudFlare CDN to a few of my HostGator sites, and the results were a little surprising. Here are some tests I did on various sites: # Domain name Size Load Time Average Speed per KB Type 1 www.franceshamm.com 4.43 KB 0.21 seconds 0.05 seconds Vanilla HostGator 2 www.kudusoftware.com 4.22 KB 2.39 seconds]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>I recently added CloudFlare CDN to a few of my HostGator sites, and the results were a little surprising. Here are some tests I did on various sites:</p>
<table>
<tbody>
<tr>
<td align="center"><strong>#</strong></td>
<td><strong>Domain name</strong></td>
<td align="center"><strong>Size</strong></td>
<td align="center"><strong>Load Time</strong></td>
<td align="center"><strong>Average Speed per KB</strong></td>
<td align="center"><strong>Type</strong></td>
</tr>
<tr>
<td align="center">1</td>
<td><a class="nou" href="http://www.franceshamm.com/content/credentials.php" target="_blank">www.franceshamm.com</a></td>
<td align="center">4.43 KB</td>
<td align="center">0.21 seconds</td>
<td align="center"><strong>0.05 seconds</strong></td>
<td align="center"><strong>Vanilla HostGator</strong></td>
</tr>
<tr>
<td align="center">2</td>
<td><a href="http://www.kudusoftware.com/CTA/rescue.php" target="_blank">www.kudusoftware.com</a></td>
<td align="center">4.22 KB</td>
<td align="center">2.39 seconds</td>
<td align="center"><strong>0.57 seconds</strong></td>
<td align="center"><strong>CloudFlare + HostGator</strong></td>
</tr>
<tr>
<td align="center">3</td>
<td><a href="http://www.joelgerard.com" target="_blank">www.joelgerard.com</a></td>
<td align="center">35.88 KB</td>
<td align="center">2.69 seconds</td>
<td align="center"><strong>0.08 seconds</strong></td>
<td align="center"><strong>CloudFlare + HostGator</strong></td>
</tr>
<tr>
<td align="center">4</td>
<td><a href="http://www.bravurasoftware.com" target="_blank">www.bravurasoftware.com</a></td>
<td align="center">7.19 KB</td>
<td align="center">0.61 seconds</td>
<td align="center"><strong>0.08 seconds</strong></td>
<td align="center"><strong>Dedicated Colo (Not HG)</strong></td>
</tr>
<tr>
<td align="center">5</td>
<td><a href="http://www.microsoft.com" target="_blank">www.microsoft.com</a></td>
<td align="center">1 KB</td>
<td align="center">0.59 seconds</td>
<td align="center"><strong>0.59 seconds</strong></td>
<td align="center"><strong>?</strong></td>
</tr>
</tbody>
</table>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.joelgerard.com/2010/11/23/hostgator-and-cloudflare-speed-tests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert MOV to MP4 with Mac iMovie HD</title>
		<link>http://www.joelgerard.com/2010/11/14/convert-mov-to-mp4-with-mac-imovie-hd/</link>
		<comments>http://www.joelgerard.com/2010/11/14/convert-mov-to-mp4-with-mac-imovie-hd/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 04:38:28 +0000</pubDate>
		<dc:creator>joelgerard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joelgerard.com/?p=134</guid>
		<description><![CDATA[Here&#8217;s how to convert a QuickTime MOV video to MP4 so that it will work on other devices like your PS3. Open iMovie HD, and create a new project. Import the MOV file. Export the MOV file as a QuickTime file, but choose Expert Settings. Click share and then, and when the save dialog comes]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Here&#8217;s how to convert a QuickTime MOV video to MP4 so that it will work on other devices like your PS3.</p>
<ol>
<li>Open iMovie HD, and create a new project.</li>
<li>Import the MOV file.</li>
<li>Export the MOV file as a QuickTime file, but choose Expert Settings.<a rel="attachment wp-att-141" href="http://www.joelgerard.com/2010/11/14/convert-mov-to-mp4-with-mac-imovie-hd/imovieexport/"><img class="aligncenter size-full wp-image-141" title="iMovieExport" src="http://www.joelgerard.com/wp-content/uploads/2010/11/iMovieExport.png" alt="" width="559" height="330" /></a></li>
<li>Click share and then, and when the save dialog comes up, from the export menu, choose &#8220;Movie to MPEG-4&#8243;</li>
<li>Select the Options button.</li>
<li>Select the following settings. You can go auto, but I used the following for high quality settings. You&#8217;ll probably need to experiment though.</li>
</ol>
<p><a rel="attachment wp-att-139" href="http://www.joelgerard.com/2010/11/14/convert-mov-to-mp4-with-mac-imovie-hd/imoviehd/"><img class="aligncenter size-full wp-image-139" title="IMovieHD" src="http://www.joelgerard.com/wp-content/uploads/2010/11/IMovieHD.png" alt="" width="592" height="564" /></a></p>
<p style="text-align: center;">
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.joelgerard.com/2010/11/14/convert-mov-to-mp4-with-mac-imovie-hd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fins n Things</title>
		<link>http://www.joelgerard.com/2010/11/11/fins-n-things/</link>
		<comments>http://www.joelgerard.com/2010/11/11/fins-n-things/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 06:23:29 +0000</pubDate>
		<dc:creator>joelgerard</dc:creator>
				<category><![CDATA[Outdoors]]></category>

		<guid isPermaLink="false">http://www.joelgerard.com/?p=103</guid>
		<description><![CDATA[About to do a drop on Fins n Things, Moab, Utah. Suzuki with a 3&#8243; Calmini lift, RockCrawler gear set, and some other things. View Larger Map]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><div>
<p>About to do a drop on Fins n Things, Moab, Utah. Suzuki with a 3&#8243; Calmini lift, RockCrawler gear set, and some other things.</p>
<p style="text-align: center;"><a href="http://www.joelgerard.com/wp-content/uploads/2010/11/IMG_8298.jpg"><img class="aligncenter size-large wp-image-108" title="About to drop on Fins n Things" src="http://www.joelgerard.com/wp-content/uploads/2010/11/IMG_8298-1024x682.jpg" alt="" width="573" height="382" /></a></p>
</div>
<hr/>
<br/><br/><br />
<iframe class="aligncenter" width="573" height="400" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=+38%C2%B034'47.49%22N,+109%C2%B029'50.90%22W&amp;sll=37.0625,-95.677068&amp;sspn=62.958411,56.513672&amp;ie=UTF8&amp;ll=38.579858,-109.497472&amp;spn=0.123727,0.110378&amp;t=h&amp;z=13&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=+38%C2%B034'47.49%22N,+109%C2%B029'50.90%22W&amp;sll=37.0625,-95.677068&amp;sspn=62.958411,56.513672&amp;ie=UTF8&amp;ll=38.579858,-109.497472&amp;spn=0.123727,0.110378&amp;t=h&amp;z=13" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.joelgerard.com/2010/11/11/fins-n-things/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
