<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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" version="2.0">

<channel>
	<title>Douglas Jarquin</title>
	
	<link>http://douglasjarquin.com</link>
	<description>A web professional</description>
	<pubDate>Mon, 13 Oct 2008 02:40:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/douglasjarquin" type="application/rss+xml" /><item>
		<title>How to add a CakePHP book to Coda</title>
		<link>http://douglasjarquin.com/articles/how-to-add-a-cakephp-book-to-coda/</link>
		<comments>http://douglasjarquin.com/articles/how-to-add-a-cakephp-book-to-coda/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 20:44:58 +0000</pubDate>
		<dc:creator>Douglas</dc:creator>
		
		<category><![CDATA[Tutorials]]></category>

		<category><![CDATA[cakephp]]></category>

		<category><![CDATA[coda]]></category>

		<guid isPermaLink="false">http://douglasjarquin.com/?p=75</guid>
		<description><![CDATA[I have to use PHP at work so I have been eyeing the CakePHP framework. Although it is nowhere near Rails in my opinion is does have some documentation and a big enough community. As my PHP development tool of choice I use Coda, from Panic. I know one of the latest features of Coda [...]]]></description>
			<content:encoded><![CDATA[<p>I have to use PHP at work so I have been eyeing the <a href="http://cakephp.org/">CakePHP</a> framework. Although it is nowhere near Rails in my opinion is does have some documentation and a big enough community. As my PHP development tool of choice I use <a href="http://www.panic.com/coda/">Coda</a>, from <a href="http://www.panic.com/">Panic</a>. I know one of the latest features of Coda 1.5 was the ability to add your own Books so I thought I would write about how I setup a CakePHP book.</p>
<h3>The assets</h3>
<p>First, lets download the CakePHP Book logo I threw together. It took me awhile to get the image to align correctly in Coda, but if you have a better one leave a comment.</p>
<ul>
<li><a href="http://static.douglasjarquin.com/files/cake-book-logo.png.zip">cake-book-logo.png.zip</a></li>
</ul>
<p>My inspiration came from the small CakePHP book on the &#8220;Learn&#8221; tab of the homepage.</p>
<p><a href="http://static.douglasjarquin.com/images/screenshot-of-cakephp-book-inspiration-1.png"><img src="http://static.douglasjarquin.com/images/screenshot-of-cakephp-book-inspiration-1-small.png" /></a></p>
<h3>Settings</h3>
<p>Now in Coda, click &quot;Books&quot;&#8221; and then the &quot;+&quot; sign at the bottom to add a new book. Make sure your settings match this:</p>
<p><a href="http://static.douglasjarquin.com/images/screenshot-of-cakephp-book-settings-2.png"><img src="http://static.douglasjarquin.com/images/screenshot-of-cakephp-book-settings-2-small.png" /></a></p>
<p><strong>NOTE:</strong> You have to click and drag the image into the  &quot;Cover Image&quot; box to apply the graphic.</p>
<h3>Results</h3>
<p>Hit &quot;Ok&quot; and voila. Your very own CakePHP Book right in Coda.</p>
<p><a href="http://static.douglasjarquin.com/images/screenshot-of-cakephp-coda-book-3.png"><img src="http://static.douglasjarquin.com/images/screenshot-of-cakephp-coda-book-3-small.png" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://douglasjarquin.com/articles/how-to-add-a-cakephp-book-to-coda/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Why Google Chrome is great for Safari</title>
		<link>http://douglasjarquin.com/articles/why-google-chrome-is-great-for-safari/</link>
		<comments>http://douglasjarquin.com/articles/why-google-chrome-is-great-for-safari/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 01:48:52 +0000</pubDate>
		<dc:creator>Douglas</dc:creator>
		
		<category><![CDATA[News]]></category>

		<category><![CDATA[chrome]]></category>

		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://douglasjarquin.com/?p=73</guid>
		<description><![CDATA[Google Chrome is the new browser on the block, and boy is it getting all the neighborhood girls excited. I am sure you can find some entertaining article about why Google Chrome will rule the world, but I am going to tell you why I like it. Webkit. Yes, Google Chrome uses the exact same [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.google.com/chrome/">Google Chrome</a> is the new browser on the block, and boy is it getting all the neighborhood girls excited. I am sure you can find some entertaining article about why Google Chrome will rule the world, but I am going to tell you why I like it. <a href="http://webkit.org/">Webkit</a>. Yes, Google Chrome uses the exact same rendering engine as <a href="http://www.apple.com/safari/">Safari</a> which is my browser of choice, <a href="http://www.apple.com/iphone/features/safari.html">mobile Safari</a>, and <a href="http://code.google.com/android/">Android</a>. This means that any site that renders well in Safari will look the same in Google Chrome.</p>
<p>What this also means is that if the adoption of Google Chrome is high enough, which <a href="http://www.pcmag.com/article2/0,2817,2329521,00.asp?kc=PCRSS03069TX1K0001121">it will be</a>, web designers all over the world can finally give IE the boot. I see the signs already, &#8220;This site works fine in Firefox, Safari, Opera, or Chrome.&#8221; That&#8217;s four choices other than IE.</p>
]]></content:encoded>
			<wfw:commentRss>http://douglasjarquin.com/articles/why-google-chrome-is-great-for-safari/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Backup your Mac to S3 in 5 minutes</title>
		<link>http://douglasjarquin.com/articles/backup-your-mac-to-s3-in-5-minutes/</link>
		<comments>http://douglasjarquin.com/articles/backup-your-mac-to-s3-in-5-minutes/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 15:52:56 +0000</pubDate>
		<dc:creator>Douglas</dc:creator>
		
		<category><![CDATA[Tutorials]]></category>

		<category><![CDATA[backup]]></category>

		<category><![CDATA[ruby]]></category>

		<category><![CDATA[s3]]></category>

		<guid isPermaLink="false">http://douglasjarquin.com/?p=70</guid>
		<description><![CDATA[There are many tutorials out there on how to back up your Mac to Amazon S3, but over time this process has been simplified.
Requisites
Before we get started we will need a few things. Also, make sure you have your Amazon S3 access identifiers at hand. You can get those from your AWS account.

Amazon S3 account
Mac [...]]]></description>
			<content:encoded><![CDATA[<p>There are many tutorials out there on how to back up your Mac to <a href="http://www.amazon.com/s3/">Amazon S3</a>, but over time this process has been simplified.</p>
<h3>Requisites</h3>
<p>Before we get started we will need a few things. Also, make sure you have your Amazon S3 access identifiers at hand. You can get those from your <a href="http://aws.amazon.com/">AWS</a> account.</p>
<ul>
<li>Amazon S3 account</li>
<li>Mac OS X Leopard</li>
<li>Terminal Skills</li>
</ul>
<h3>Back it up</h3>
<p>In order to keep this under five minutes I am simply going to list the steps required and not going to really go into any major detail. If you have any questions feel free to leave a comment.</p>
<h3>1</h3>
<p>Install the <a href="http://rubyforge.org/projects/s3sync/">S3Sync Ruby Gem</a>. Read more about Ruby Gems <a href="http://www.rubygems.org/">here</a>.</p>
<p><code>
<pre>sudo gem install s3sync</pre>
<p></code></p>
<h3>2</h3>
<p>Add your Amazon access identifiers to the top of your <code>.bash_login</code> file.</p>
<p><code>
<pre>export AWS_ACCESS_KEY_ID="XXXXXXXXXXXXXXXXXXXX"
export AWS_SECRET_ACCESS_KEY="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"</pre>
<p></code></p>
<h3>3</h3>
<p>Execute the command to backup where &quot;my_backup_bucket&quot; is the name of your bucket.</p>
<p><code>
<pre>s3sync -v -r --progress --exclude=".svn" --exclude=".DS_Store" --exclude="Library/Caches" --delete ~/ my_backup_bucket:/</pre>
<p></code></p>
<p>I personally do not like to schedule the backups with a cron because every time it runs I am doing something important. I suggest you create an alias for the command in your <code>.bash_login</code> file like this:</p>
<p><code>
<pre>alias backup='s3sync -v -r --progress --exclude=".svn" --exclude=".DS_Store" --exclude="Library/Caches" --delete ~/ my_backup_bucket:/'</pre>
<p></code></p>
<p>Then all you have to do is type &quot;<code>backup</code>&quot; whenever you want to run this command. Easy.</p>
<p>If the Terminal is not your kind of interface or your just want to backup a few folders of important files, I suggest you go with a full blown S3 file manager. Here are some of the applications I have used.</p>
<h3>Applications</h3>
<ul>
<li><a href="http://extendmac.com/flow/">Flow</a></li>
<li><a href="http://www.binarynights.com/">Forklift</a></li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/3247">S3Fox</a></li>
<li><a href="http://www.panic.com/transmit/">Transmit</a></li>
</ul>
<h3>References</h3>
<ul>
<li><a href="http://www.macosxhints.com/article.php?story=2008020123070799">Use Amazon S3 to automatically backup your mac</li>
<li><a href="http://vallery.net/2008/02/01/using-amazon-s3-to-automatically-backup-your-mac/">Automatically backup you Mac to Amazon S3</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://douglasjarquin.com/articles/backup-your-mac-to-s3-in-5-minutes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Stones brings Go to the iPhone</title>
		<link>http://douglasjarquin.com/articles/stones-brings-go-to-the-iphone/</link>
		<comments>http://douglasjarquin.com/articles/stones-brings-go-to-the-iphone/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 15:14:00 +0000</pubDate>
		<dc:creator>Douglas</dc:creator>
		
		<category><![CDATA[Reviews]]></category>

		<category><![CDATA[go]]></category>

		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://douglasjarquin.com/?p=58</guid>
		<description><![CDATA[
  
    
  

Exactly a month ago I read an article on Rails Spikes titled &#8220;Why programmers should play Go&#8221;. If you found that article interesting, and own an iPhone or iPod Touch with version 2.0 of the firmware, you will love Stones.
Right now Stones is for two players only, [...]]]></description>
			<content:encoded><![CDATA[<p>
  <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=286525013&#038;mt=8"><br />
    <img src="http://static.douglasjarquin.com/images/screenshot-go-small.jpg" alt="Go on the iPhone" /><br />
  </a>
</p>
<p>Exactly a month ago I read an article on <a href="http://railspikes.com/">Rails Spikes</a> titled <a href="http://railspikes.com/2008/7/14/why-programmers-should-play-go">&#8220;Why programmers should play Go&#8221;</a>. If you found that article interesting, and own an iPhone or iPod Touch with version 2.0 of the firmware, you will love <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=286525013&#038;mt=8">Stones</a>.</p>
<p>Right now <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=286525013&#038;mt=8">Stones</a> is for two players only, which means there is no AI, but it is still very fun. Plus, like chess, the best way to master Go is to play yourself.</p>
<h3>Resources</h3>
<ul>
<li><a href="http://unkx80.netfirms.com/weiqi/howtoplaygo/">How to play Go</a></li>
<li><a href="http://www.pandanet.co.jp/English/learning_go/learning_go_1.html">Learning Go</a></li>
<li><a href="http://en.wikipedia.org/wiki/Go_(board_game)">Go on Wikipedia</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://douglasjarquin.com/articles/stones-brings-go-to-the-iphone/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quickbooks Online is retarded</title>
		<link>http://douglasjarquin.com/articles/quickbooks-online-is-retarded/</link>
		<comments>http://douglasjarquin.com/articles/quickbooks-online-is-retarded/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 23:58:24 +0000</pubDate>
		<dc:creator>Douglas</dc:creator>
		
		<category><![CDATA[Tips]]></category>

		<category><![CDATA[quickbooks]]></category>

		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://douglasjarquin.com/?p=41</guid>
		<description><![CDATA[So I have recently decided to get my act together, and start up my business ventures again. It has been a few years though, so I need to get my hands on some new accounting software. &#8220;So much has changed&#8221;, I though to myself. &#8220;There is going to be a lot of really cool accounting [...]]]></description>
			<content:encoded><![CDATA[<p>So I have recently decided to get my act together, and start up my business ventures again. It has been a few years though, so I need to get my hands on some new accounting software. &#8220;So much has changed&#8221;, I though to myself. &#8220;There is going to be a lot of really cool accounting software to choose from.&#8221; Man was I wrong.</p>
<p>I searched for days only to be left with sore fingers and a mild headache. There is nothing out there for a Mac using business owner. I mean nothing. Apparently, I am not the only business owner with this dilemma. <a href="http://www.luclatulippe.com/2007/08/23/small-business-accounting/">Luc Latulippe</a> wrote about the exact same problem over a year ago. I will write more about my research and which product I finally decide on in a few days, but one thing has my blood boiling right now.</p>
<p><a href="http://www.intuit.com/">Quickbooks</a>, the long time leader of business accounting software, offers an <a href="https://accounting.quickbooks.com/c1/v22.147/0/login?redirect=true">online version</a> of their application for $9.95 a month. That&#8217;s half the price of its nearest competitor, <a href="http://lessaccounting.com/">Less Accounting</a>. While Less Accounting is very cool, and not intended to compete with Quickbooks, I find it hard to pay more for less. Remember, I am going into business here and rule number one is to be cheap. Quickbooks Online has more features, is very well priced, and my accountant does not need to learn anything new since all accountants know Quickbooks. As a matter of fact, Quickbooks Online offers a completely separate login account for specifically for accountants. Cool, huh?</p>
<h3>Stupid</h3>
<p>I usually will refrain from calling anyone stupid. It is unprofessional, usually hard to prove, and will put me in the line of fire. But the guys at Intuit are stupid. You see, you can only use Quickbooks Online from two web browsers.</p>
<ol>
<li><a href="http://www.microsoft.com/windows/products/winfamily/ie/default.mspx">Internet Explorer</a></li>
<li><a href="http://www.apple.com/iphone/features/">Mobile Safari</a></li>
</ol>
<p>Yes, Quickbooks online has an iPhone interface, but you can not use Safari for Mac. Over 25% of iPhone users own a Mac. Firefox, what&#8217;s that? Intuit is sitting on the best web based accounting software available at the moment, and then blocking tons of users because of browser compatibility. What the hell? It is nearly 2009, and you can not push out a cross browser web application? Wait, you can. You have the iPhone interface, but what about the Mac you dummies.</p>
<p>Sure, the web interface of Quickbooks Online will probably suck. Yes, there will be dozens of usability issues. Okay, it is probably extremely ugly. But remember it will do everything a small business will need for $10 a month, or it would if I could actually use it.</p>
]]></content:encoded>
			<wfw:commentRss>http://douglasjarquin.com/articles/quickbooks-online-is-retarded/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Java and Tomcat on Ubuntu Hardy</title>
		<link>http://douglasjarquin.com/articles/java-and-tomcat-on-ubuntu-hardy/</link>
		<comments>http://douglasjarquin.com/articles/java-and-tomcat-on-ubuntu-hardy/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 19:55:38 +0000</pubDate>
		<dc:creator>Douglas</dc:creator>
		
		<category><![CDATA[Tutorials]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[tomcat]]></category>

		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://douglasjarquin.com/?p=30</guid>
		<description><![CDATA[I just spent my entire morning trying to figure out how to install Tomcat on one of my servers. I needed it to demo a business intelligence application, and boy oh boy was it a pain. There is a lot of talk out there about this particular install, but nothing specifically for Ubuntu 8.04 Hardy.
What [...]]]></description>
			<content:encoded><![CDATA[<p>I just spent my entire morning trying to figure out how to install Tomcat on one of my servers. I needed it to demo a business intelligence application, and boy oh boy was it a pain. There is a lot of <a href="http://www.theodorenguyen-cao.com/2008/01/20/installing-java-sdk-to-ubuntu-feisty/">talk out there</a> about this <a href="http://www.ubuntugeek.com/tomcat-6-installation-on-ubuntu-feisty.html">particular install</a>, but nothing specifically for Ubuntu 8.04 Hardy.</p>
<p>What follows is a quick guide on how to setup <a href="http://www.java.com/en/">Java 1.6.0</a> and <a href="http://tomcat.apache.org/">Tomcat 5.5</a> on a &#8220;new&#8221; <a href="http://www.ubuntu.com/">Ubuntu 8.04 Hardy Heron</a> server. We will be using <code>apt-get</code> to install everything, since I hate having to remember to update compiled code.</p>
<h3>First things first</h3>
<p>First make sure Ubuntu is all up to date:</p>
<pre><code>sudo apt-get update &#038;&#038; sudo apt-get upgrade</code></pre>
<h3>Java</h3>
<p>It was a little hidden, but Ubuntu does have a very detailed how-to for installing Java <a href="https://help.ubuntu.com/community/Java">here</a>. Okay, so it is not very detailed at all. I missed it a few times, but the install steps are there.</p>
<pre><code>sudo apt-get install openjdk-6-jre openjdk-6-jdk</code></pre>
<p><a href="http://openjdk.java.net/">OpenJDK</a> is an open-source Java SDK implementation with support for <a href="http://openjdk.java.net/install/">Ubuntu 8.04 Hardy</a>. Tomcat needs both the JRE and the JDK so make sure to install both if you have not already.</p>
<h3>Check on Java</h3>
<p>Just to make sure we are all good, run this command to verify that Java installed correctly:</p>
<pre><code>java -version</code></pre>
<p>The output should look something like this:</p>
<pre><code>java version "1.6.0"
OpenJDK Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)</code></pre>
<h3>Tomcat</h3>
<p>Tomcat was the hard part. There really is not much on the topic, since all Java Web developers are moving to Rails ;), but here is what I put together. There is a package available for Tomcat 5.5, and once installed successfully it will be running on port 8180 of your server. Let&#8217;s get to it.</p>
<pre><code>sudo apt-get install apache2 tomcat5.5 tomcat5.5-webapps tomcat5.5-admin</code></pre>
<p>Okay, I kind of let you down here, because the install will fail. Bare with me, it is all part of my plan. If you look carefully at the output you will see why Tomcat&#8217;s install failed so miserably.</p>
<pre><code>Setting up tomcat5.5 (5.5.25-5ubuntu1) ...
 * no JDK found - please set JAVA_HOME</code></pre>
<p>Don&#8217;t you just love helpful error messages. And I welcome you to the part of the installation that took me hours to figure out. What is required for Tomcat to finish its installation is a simple environment variable. A single line of code that will tell Tomcat where to find our Java install. I tried putting this in the <code>/root/.bashrc</code>, <code>.bash_login</code>, <code>.bash_profile</code>, and <code>~/.bashrc</code> with no success. I kept thinking there was something wrong with my syntax, but nothing worked. Luckily, I ran into <a href="http://www.giannistsakiris.com/index.php/2007/11/28/tomcat-55-no-jdk-found/">this blog post</a> when doing a Google search for the terms &#8220;No JDK found&#8221;.</p>
<p>As it turns out, Tomcat has its own place to set this environment variable. Jackpot! Oh, this is why we needed to let the install fail, to create this file for us.
<p><code>
<pre>sudo nano /etc/default/tomcat5.5</pre>
<p></code></p>
<p>Then look for this line</p>
<p><code>
<pre>#JAVA_HOME=/usr/lib/jvm/java-6-sun</pre>
<p></code></p>
<p>And make it look like this</p>
<p><code>
<pre>JAVA_HOME=/usr/lib/jvm/java-6-openjdk</pre>
<p></code></p>
<p>Check the newly set JAVA_HOME with:</p>
<p><code>
<pre>echo $JAVA_HOME</pre>
<p></code></p>
<p>We did two things. First we uncommented the line, so Tomcat can parse the environment variable set here. Next, we corrected the path to our Java installation. You can check the Java path yourself by typing <code>sudo update-alternatives --config java</code>. Running <code>which java</code> or <code>whereis java</code> will only display symlinks.</p>
<p>So now we run our Tomcat installation command again. Run the whole command again just to make sure all of the packages get installed. If they were installed successfully they will be skipped, so no harm can come from doing this.</p>
<pre><code>sudo apt-get install apache2 tomcat5.5 tomcat5.5-webapps tomcat5.5-admin</code></pre>
<p>Java and Tomcat are now successfully installed! Visit http://localhost:8180 to see how all of my hard work has paid off. Just in case, here are a few useful Tomcat commands:</p>
<pre><code># Check Tomcat's status
sudo /etc/init.d/tomcat5.5 status

# Start Tomcat
sudo /etc/init.d/tomcat5.5 start

# Stop Tomcat
sudo /etc/init.d/tomcat5.5 stop</code></pre>
<h3>References</h3>
<ul>
<li><a href="http://wiki.slicehost.com/doku.php?id=get_started_with_your_new_ubuntu_slice">Setting up Ubuntu by Slicehost</a></li>
<li><a href="http://openjdk.java.net/install/">OpenJDK</a></li>
<li><a href="http://www.theodorenguyen-cao.com/2008/01/20/installing-java-sdk-to-ubuntu-feisty/">Java SDK on Feisty</a></li>
<li><a href="http://www.theodorenguyen-cao.com/2008/01/21/installing-java-sdktomcat-to-ubuntu-feisty-part-2/">Java SDK on Feisty Part 2</a></li>
<li><a href="http://www.giannistsakiris.com/index.php/2007/11/28/tomcat-55-no-jdk-found/">No JDK Found</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://douglasjarquin.com/articles/java-and-tomcat-on-ubuntu-hardy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Git on Media Temple</title>
		<link>http://douglasjarquin.com/articles/git-on-media-temple/</link>
		<comments>http://douglasjarquin.com/articles/git-on-media-temple/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 01:04:04 +0000</pubDate>
		<dc:creator>Douglas</dc:creator>
		
		<category><![CDATA[Tutorials]]></category>

		<category><![CDATA[git]]></category>

		<category><![CDATA[leopard]]></category>

		<category><![CDATA[media temple]]></category>

		<guid isPermaLink="false">http://douglasjarquin.com/?p=26</guid>
		<description><![CDATA[Unless you have been sleeping under a rock, which I hear is good for your health, you have come to hear about Git. Originally created by Linus Torvalds, Git is an open source version control system that has quickly gained a lot of traction with Rails developers. This could be credited to the great Github, [...]]]></description>
			<content:encoded><![CDATA[<p>Unless you have been sleeping under a rock, which I hear is good for your health, you have come to hear about <a href="http://git.or.cz/">Git</a>. Originally created by <a href="http://en.wikipedia.org/wiki/Linus_Torvalds">Linus Torvalds</a>, Git is an open source version control system that has quickly gained a lot of traction with Rails developers. This could be credited to the great <a href="http://github.com/">Github</a>, but I think it is because of Git&#8217;s feature set. Visit the <a href="http://git.or.cz/">official Git Website</a> to learn more.</p>
<p>At $20 a month Media-Temples Grid-Service is an incredible bargain. I make extensive use of all of it features, including the recently added ability to host Git repositories. What follows is a tutorial on how to host your Git repositories on <a href="http://www.mediatemple.net/webhosting/gs/">Media Temple&#8217;s Grid-Service</a> from Mac OS Leopard.</p>
<h3>Prerequisites</h3>
<ol>
<li>Git 1.5.6.2</li>
<li>Mac OS X Leopard</li>
<li>Terminal Skills</li>
</ol>
<p>There are binaries available for installing Git on Mac OS X. Visit the <a href="http://code.google.com/p/git-osx-installer/downloads/list?can=3">git-osx-installer</a> project on Google Code.<br />
<h4>Domain</h4>
<p>In order to be able to clone your repositories from the Grid over HTTP you need to create a domain specifically for Git. You can setup <code>git.domain.com</code>, but any domain will do. Remember to setup the domain in your Grid account. Without this you will only be able to clone Git repositories over <code>ssh</code> which is a pain.<br />
<h4>The project</h4>
<p>We are going to setup an example project called icecream-man. Change into a directory that is safe to work in and let&#x27;s get to it. If you already have a Git project setup you can skip this section.</p>
<p><code>
<pre># This is where I keep all of my projects
cd Sites/
mkdir icecream-man
cd icecream-man
git init
touch .gitignore
git status
git add .
git commit -v -a</pre>
<p></code></p>
<h3>Attack of the Clones</h3>
<p>Before we can push our local Git repositories to the Grid we have to create a bare clone. A short aside about what git means by bare: A default git repository assumes that you’ll be using it as your working directory, so git stores the actual bare repository files in a .git directory alongside all the project files. Remote repositories don’t need copies of the files on the filesystem unlike working copies, all they need are the deltas and binary what-nots of the repository itself. This is what “bare” means to git. Just the repository itself.<sup><a href="#fn1">1</a></sup></p>
<p><code>
<pre>cd Sites/
git clone --bare icecream-man icecream-man.git
touch icecream-man.git/git-daemon-export-ok</pre>
<p></code></p>
<h4>Upload the repository</h4>
<p>To get the project on our Grid I use <code>scp</code>, but you could just as easily FTP the icecream-man.git directory into your Grid account.</p>
<p><code>
<pre>scp -r icecream-man.git serveradmin%s#####.gridserver.com@s#####.gridserver.com:domains/git.domain.com/html/icecream-man.git</pre>
<p></code></p>
<p>Now we have to <code>ssh</code> into our Grid account and finalize the setup.</p>
<p><code>
<pre>ssh serveradmin%s#####.gridserver.com@s#####.gridserver.com
cd domains/git.domain.com/html/icecream-man.git
git --bare update-server-info
chmod a+x hooks/post-update</pre>
<p></code></p>
<h4>Pulling</h4>
<p>Now we are ready to clone our Git repository from our Grid account. We are able to clone using a pretty URL thanks to our Git specific domain. Yeah!</p>
<p><code></pre>
<p>git clone http://git.domain.com/icecream-man.git</pre>
<p></code></p>
<h4>Pushing</h4>
<p>Once you have made some local commits that you want to push to the Grid you can use this command:</p>
<p><code>
<pre>git push ssh://serveradmin%s#####.gridserver.com@s#####.gridserver.com/home/#####/domains/git.domain.com/html/icecream-man.git master</pre>
<p></code></p>
<p>Here is what I do so that I do not have to type in that long command every time I want to push my changes to the remote Git repository. Git allows for each project to have multiple tracked repositories. Since we cloned our project from &#8220;http://git.domain.com/icecream-man.git&#8221; Git thinks it can push there to. Let&#x27;s add another remote repository and tell Git to push our changes there.</p>
<p><code>
<pre>cd Sites/icecream-man/
git remote add grid ssh://serveradmin%s#####.gridserver.com@s#####.gridserver.com/home/#####/domains/git.domain.com/html/icecream-man.git</pre>
<p></code></p>
<p>Now we can push changes to our Grid account using &#8220;<code>git push grid master</code>&#8220;. Git knows that the remote reposotory named &#8220;grid&#8221; corresponds to the Grid&#x27;s push URL. Much better, I know. We can take this even further and create an alias for the command in our &#8220;<code>.bash_login</code>&#8221; file. To view the available remote locations type &#8220;<code>git remote</code>&#8221; from inside the project directory. Then you can view the details of a remote repository by typing &#8220;<code>git remote show grid</code>&#8220;. I use this very heavily, and am successfully hosting six active Git repositories on my Grid account. Without this tiny shortcut I do not think I would be able to do it, and I would be <a href="http://github.com/">GitHub</a> bound.</p>
<h3>References</h3>
<ul>
<li><a href="http://kb.mediatemple.net/questions/873/Using+Git+on+the+%28gs%29+Grid-Service">Using Git on the (gs) Grid-Server</a></li>
<li><a href="http://git.or.cz/gitwiki/GitDocumentation">Git Documentation</a></li>
<li id="fn1"><sup>1</sup><a href="http://toolmantim.com/article/2007/12/5/setting_up_a_new_remote_git_repository">Setting up a new remote git repository</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://douglasjarquin.com/articles/git-on-media-temple/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tim Ferris talks with some great minds</title>
		<link>http://douglasjarquin.com/articles/tim-ferris-talks-with-some-great-minds/</link>
		<comments>http://douglasjarquin.com/articles/tim-ferris-talks-with-some-great-minds/#comments</comments>
		<pubDate>Sat, 31 May 2008 03:19:30 +0000</pubDate>
		<dc:creator>Douglas</dc:creator>
		
		<category><![CDATA[News]]></category>

		<category><![CDATA[4hww]]></category>

		<category><![CDATA[audio]]></category>

		<category><![CDATA[sxsw]]></category>

		<guid isPermaLink="false">http://douglasjarquin.com/?p=24</guid>
		<description><![CDATA[Tim Ferris just posted the audio to a talk from SXSW on his blog. If you have an hour to kill I highly recommend you give &#8220;The Art of Speed: Conversations with Monster Makers&#8221; a listen. It was an extremely intelligent talk with a very high quality panel of speakers.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.fourhourworkweek.com/">Tim Ferris</a> just posted the audio to a talk from <a href="http://sxsw.com/">SXSW</a> on his <a href="http://www.fourhourworkweek.com/blog/2008/05/29/the-art-of-speed-conversations-with-monster-makers/">blog</a>. If you have an hour to kill I highly recommend you give &#8220;The Art of Speed: Conversations with Monster Makers&#8221; a listen. It was an extremely intelligent talk with a very high quality panel of speakers.</p>
]]></content:encoded>
			<wfw:commentRss>http://douglasjarquin.com/articles/tim-ferris-talks-with-some-great-minds/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ripped: digg.com</title>
		<link>http://douglasjarquin.com/articles/ripped-diggcom/</link>
		<comments>http://douglasjarquin.com/articles/ripped-diggcom/#comments</comments>
		<pubDate>Thu, 29 May 2008 19:21:49 +0000</pubDate>
		<dc:creator>Douglas</dc:creator>
		
		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[digg]]></category>

		<category><![CDATA[ripped]]></category>

		<guid isPermaLink="false">http://douglasjarquin.com/?p=25</guid>
		<description><![CDATA[This is the first in a series of posts where I single out design rips from all over the web. Todays crook is Tech Support Guy who shamelessly copied Digg&#8217;s design.
I am all for being inspired by someone else&#8217;s design, but this is not inspiration. Even the login Javascript behaviors were copied. Petty Tech Support [...]]]></description>
			<content:encoded><![CDATA[<p>This is the first in a series of posts where I single out design rips from all over the web. Todays crook is <a href="http://www.techguy.org/">Tech Support Guy</a> who shamelessly copied <a href="http://digg.com/">Digg&#8217;s</a> design.</p>
<p>I am all for being inspired by someone else&#8217;s design, but this is not inspiration. Even the login Javascript behaviors were copied. Petty Tech Support Guy, just petty.</p>
]]></content:encoded>
			<wfw:commentRss>http://douglasjarquin.com/articles/ripped-diggcom/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The most useful Ruby Gem</title>
		<link>http://douglasjarquin.com/articles/the-most-useful-ruby-gem/</link>
		<comments>http://douglasjarquin.com/articles/the-most-useful-ruby-gem/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 00:15:45 +0000</pubDate>
		<dc:creator>Douglas</dc:creator>
		
		<category><![CDATA[Tips]]></category>

		<category><![CDATA[gems]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://douglasjarquin.com/?p=21</guid>
		<description><![CDATA[One of my favorite features of Ruby is Ruby Gems, the powerful package manager. There are tons of Ruby libraries available as gems such as Rails, Mongrel, and even one for Twitter. The gem I find the most useful nowadays is called cheat. Cheat basically puts tons of cheat sheets inside of your command line, [...]]]></description>
			<content:encoded><![CDATA[<p>One of my favorite features of <a href="http://www.ruby-lang.org/en/">Ruby</a> is <a href="http://rubygems.org/">Ruby Gems</a>, the powerful package manager. There are tons of Ruby libraries available as gems such as <a href="http://www.rubyonrails.org/">Rails</a>, <a href="http://mongrel.rubyforge.org/">Mongrel</a>, and even one for <a href="http://twitter.rubyforge.org/">Twitter</a>. The gem I find the most useful nowadays is called <a href="http://cheat.errtheblog.com/">cheat</a>. Cheat basically puts tons of cheat sheets inside of your command line, so that you have quick access to the information you need without resorting to those hard to read man pages.</p>
<h3>Install</h3>
<p><code>sudo gem install cheat</code></p>
<h3>Props</h3>
<p>Cheat is made available by the guys over at <a href="http://errfree.com/">Err free</a>, the geniuses behind both <a href="http://famspam.com/">FamSpam</a> and <a href="http://github.com/">GitHub</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://douglasjarquin.com/articles/the-most-useful-ruby-gem/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
