<?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>Likesalmon Design</title>
	<atom:link href="http://www.likesalmondesign.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.likesalmondesign.com</link>
	<description>Open Source Web Design from Scratch</description>
	<lastBuildDate>Fri, 26 Feb 2010 02:33:45 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Bash aliases: create your own bash shortcuts!</title>
		<link>http://www.likesalmondesign.com/bash-aliases-create-your-own-bash-shortcuts/</link>
		<comments>http://www.likesalmondesign.com/bash-aliases-create-your-own-bash-shortcuts/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 02:13:12 +0000</pubDate>
		<dc:creator>Ammon</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Solutions]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.likesalmondesign.com/?p=286</guid>
		<description><![CDATA[When I&#8217;m building websites especially, I have to work with a lot of deeply nested files.  But typing cd ~/public_html/websitename/wp-content/themes/themename/ in the terminal every time is giving me carpal tunnel, so I found a better way:
First open ~/.barshrc in a text editor and uncomment lines 73 through 75 so they look like this:
if [ [...]]]></description>
			<content:encoded><![CDATA[<p>When I&#8217;m building websites especially, I have to work with a lot of deeply nested files.  But typing <code>cd ~/public_html/websitename/wp-content/themes/themename/</code> in the terminal every time is giving me carpal tunnel, so I found a better way:</p>
<p>First open ~/.barshrc in a text editor and uncomment lines 73 through 75 so they look like this:</p>
<p><code>if [ -f ~/.bash_aliases ]; then<br />
. ~/.bash_aliases<br />
fi</code></p>
<p>Then create a file called <code>.bash_aliases</code> in your home directory (if it doesn&#8217;t already exist).  Edit that file like so:</p>
<p><code>alias themename="cd ~/public_html/websitename/wp-content/themes/themename/"<br />
</code></p>
<p>Restart terminal, type in <code>themename</code> and press enter.  Voila!  Your are cd&#8217;ed all the way into that deeply nested file without having to type the whole thing.  This works great for lots of other common commands that are a little too verbose:</p>
<p><code>alias ins="sudo apt-get install"<br />
</code></p>
<p>Once those lines are added to your <code>.bash_aliases</code> file and you restart terminal, you will be able to install new packages like so:</p>
<p><code>ins <em>packagename</em></code></p>
<p>Handy eh?  (That last suggestion is courtesy of the always useful <a title="Go to the Lifehacker website" href="http://lifehacker.com/270799/create-terminal-shortcuts">Lifehacker</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.likesalmondesign.com/bash-aliases-create-your-own-bash-shortcuts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to configure Apache virtual hosting in Ubuntu Karmic 9.10</title>
		<link>http://www.likesalmondesign.com/how-to-configure-apache-virtual-hosting-in-ubuntu-karmic-9-10/</link>
		<comments>http://www.likesalmondesign.com/how-to-configure-apache-virtual-hosting-in-ubuntu-karmic-9-10/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 03:38:56 +0000</pubDate>
		<dc:creator>Ammon</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Solutions]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Virtual Hosts]]></category>

		<guid isPermaLink="false">http://www.likesalmondesign.com/?p=283</guid>
		<description><![CDATA[Before you do anything, back up your original config files.  I used to just create a copy of the files with the suffix &#8220;.bak&#8221; (sudo cp example.conf example.conf.bak), which works, but creates a lot of clutter.  Now I use a great little utility called etckeeper which automatically places all files in /etc under [...]]]></description>
			<content:encoded><![CDATA[<p>Before you do anything, back up your original config files.  I used to just create a copy of the files with the suffix &#8220;.bak&#8221; (<code>sudo cp example.conf example.conf.bak</code>), which works, but creates a lot of clutter.  Now I use a great little utility called <em>etckeeper</em> which automatically places all files in /etc under version control using Bazaar.  It also automatically performs a commit each day if you forget to.  You can get etckeeper by typing this in the terminal: <code>sudo apt-get install etckeeper</code>.  </p>
<p>Now on to virtual hosts.  The first thing you need to do is edit /etc/hosts so your computer knows where to look for your website:</p>
<ol>
<li>In the terminal, enter: <code>$ sudo gedit /etc/hosts</code></li>
<li>In gedit, add the following line to the hosts file: <code>127.0.0.1 mysite.dev</code>
<ul>
<li>Note: you can use whatever name you want for your virtual hosted site.  I like to use the suffix <em>.dev</em> because it won&#8217;t conflict with sites on the actual internet.</li>
<li>Note: 127.0.0.1 is the same ip address that is assigned to localhost in that file.  If yours is different, use that one.</li>
</ul>
</li>
</ol>
<p>Next add your site to /etc/apache2/sites-available/ and then link to that file in /etc/apache2/sites-enabled/:</p>
<ol>
<li>In the terminal, cd to <code>/etc/apache2/sites-available/</code></li>
<li>Create a new file with: <code>$ sudo touch mysite.dev</code></li>
<li>Open that file in gedit: <code>$ sudo gedit mysite.dev</code></li>
<li>Add following to that file:<br />
&lt;VirtualHost *:80&gt;<br />
ServerName 	mysite.dev<br />
ServerAlias 	mysite.dev<br />
ServerAdmin 	myaddress@email.com<br />
DocumentRoot /home/<em>yourusername</em>/public_html/mysite/<br />
&lt;/VirtualHost&gt;</li>
</ol>
<p>Add a pseudo link to that file in /etc/apache2/sites-enabled/:</p>
<ol>
<li>cd over to <code>/etc/apache2/sites-enabled/</code></li>
<li>In the terminal, enter: <code>$ sudo ln -s /etc/apache2/sites-enabled/mysite.dev mysite.dev</code>
<ul>
<li>Note: <code>$ ln -s <em>target</em> <em>linkname</em></code></li>
</ul>
</li>
</ol>
<p>Finally, restart Apache:</p>
<ol>
<li>$ sudo service apache2 restart</li>
<li>You&#8217;re done!</li>
</ol>
<p>See!  Not so bad&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.likesalmondesign.com/how-to-configure-apache-virtual-hosting-in-ubuntu-karmic-9-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add Mootools to a Wordpress child theme</title>
		<link>http://www.likesalmondesign.com/add-mootools-to-a-wordpress-child-theme/</link>
		<comments>http://www.likesalmondesign.com/add-mootools-to-a-wordpress-child-theme/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 04:00:35 +0000</pubDate>
		<dc:creator>Ammon</dc:creator>
				<category><![CDATA[Solutions]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.likesalmondesign.com/?p=279</guid>
		<description><![CDATA[The following code, when included in the functions.php file in your Wordpress child theme, will correctly load Mootools and a custom script.  This is the only way I am able make custom scripts work, but you hear a lot of stuff out there on the interweb&#8230;

&#60;?php
function add_js() {
    $stylesheet_dir = get_bloginfo('stylesheet_directory');
 [...]]]></description>
			<content:encoded><![CDATA[<p>The following code, when included in the functions.php file in your Wordpress child theme, will correctly load Mootools and a custom script.  This is the <em>only</em> way I am able make custom scripts work, but you hear a lot of stuff out there on the interweb&#8230;</p>
<p><code><br />
&lt;?php<br />
function add_js() {<br />
    $stylesheet_dir = get_bloginfo('stylesheet_directory');<br />
    $myscript = $stylesheet_dir . '/js/myscript.js';<br />
    $mootools = $stylesheet_dir . '/js/mootools.js';<br />
    wp_enqueue_script('mootools', $mootools, '', '1.2.4', false);<br />
    wp_enqueue_script('myscript', $myscript, array('mootools'), '1.0', false);<br />
}<br />
add_js();<br />
?&gt;<br />
</code></p>
<p>Notice how every parameter is used in the <code>&lt; ?php wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer ); ?&gt;</code> function <em>even though</em> all but the first one is supposed to be optional.  Maybe its a PHP thing.  Whatever.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.likesalmondesign.com/add-mootools-to-a-wordpress-child-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m switching to Chrome (on a trail basis)</title>
		<link>http://www.likesalmondesign.com/im-switching-to-chrome-on-a-trail-basis/</link>
		<comments>http://www.likesalmondesign.com/im-switching-to-chrome-on-a-trail-basis/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 20:19:17 +0000</pubDate>
		<dc:creator>Ammon</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[Software I use]]></category>

		<guid isPermaLink="false">http://www.likesalmondesign.com/?p=277</guid>
		<description><![CDATA[I thought I would be a Firefox user till I died, but holy crap Chrome is fast!  I can launch Firefox, go make a sandwich, launch Chrome and be browsing before Firefox loads. This is particularly nice on our crappy Windows machines at work. JavaScript is noticeably faster.  Chrome seems more stable and [...]]]></description>
			<content:encoded><![CDATA[<p>I thought I would be a Firefox user till I died, but holy crap Chrome is fast!  I can launch Firefox, go make a sandwich, launch Chrome and be browsing before Firefox loads. This is particularly nice on our crappy Windows machines at work. JavaScript is noticeably faster.  Chrome seems more stable and doesn&#8217;t do that occasional temporary freeze thing on slow computers. As much.  Well, at least the whole thing doesn&#8217;t freeze, just the one tab that is having trouble.</p>
<h3>Extensions</h3>
<p>The Dev and Beta version of Chrome work with extensions (like LastPass, worlds greatest password manager).  The dev version has been very stable for me:</p>
<p><a title="Google Chrome dev channel" href="http://dev.chromium.org/getting-involved/dev-channel">http://dev.chromium.org/getting-involved/dev-channel</a></p>
<h3>Developer Tools! Eeeee!</h3>
<p>The thing that sealed the deal is the built-in developer tools.  Seems they&#8217;ve shipped Chrome with a built-in Firebug-like JavaScript debugger and inspector (press ctrl-shift-j).  Its not installed automatically on Linux machines, so apt-get it:</p>
<p><code>sudo apt-get install chromium-browser-inspector</code></p>
<p>I haven&#8217;t used it enough to form an opinion yet, but it <em>looks</em> great.  I&#8217;m going to finish out the current site I&#8217;m developing with Firefox and Firebug, but I&#8217;ve got another one in the pipe that is going to be all Chrome.</p>
<h3>Fantastic UI</h3>
<p>Best user interface of any browser I&#8217;ve used.</p>
<p>The teeny tiny branding means I get at least a quarter inch of screen real estate that would normally be full of dialog.  Page loading info is shown in a tiny pop-up at the bottom, so I get more space there too.  Its overlaid on top of the horizontal scroll bar, taking up no room at all. The combo address/search bar means the horizontal space is more usable too.  I  can usually see the whole url even when I&#8217;m using Chrome in a small window.</p>
<p>I love love love the tabs at the very top.  It reinforces the idea that each tab is its own process doing its own thing (dialogs like preferences are also displayed in a tab, just like web pages).  Tabs are arguably the most important feature of the browser dialog, they tell you where you are, and I definitely click on them more than anything else.  Making them a big target right at the top where they are the most obvious thing in the whole interface is genius.</p>
<p>Way to go Google!  Can&#8217;t wait for Chrome OS!</p>
<h3>Update, 2/25/2010</h3>
<p>Well, I tried.  Turns out that the Chrome developer tools has some usability issues that make it very hard to use effectively.  The number one problem is that the font is too small.  I get a headache just glancing at it.  I&#8217;m also annoyed by the checkboxes that pop up when you mouse over a css property.  I&#8217;m sure that one sounded really great on paper, but in practice its horrible.  The major thing it lacks is the &#8220;Larger Command Line&#8221; option that Firebug has, which allows you to put multi-line indented code in the console and run it.  It&#8217;s really nice and I use it all the time.</p>
<p>I still really like Chrome and I use it more and more (even though it doesn&#8217;t work with Netflix) for my non-development browsing pleasure.  Its still a young project and I&#8217;m hopeful that Google will improve the developer tools soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.likesalmondesign.com/im-switching-to-chrome-on-a-trail-basis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress Error: Unable to create directory / Is its parent directory writable by the server?</title>
		<link>http://www.likesalmondesign.com/wordpress-error-unable-to-create-directory-is-its-parent-directory-writable-by-the-server/</link>
		<comments>http://www.likesalmondesign.com/wordpress-error-unable-to-create-directory-is-its-parent-directory-writable-by-the-server/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 05:54:35 +0000</pubDate>
		<dc:creator>Ammon</dc:creator>
				<category><![CDATA[Musings]]></category>

		<guid isPermaLink="false">http://www.likesalmondesign.com/?p=270</guid>
		<description><![CDATA[If you get this error when you try to upload an image to your WordPress blog, there are two things you can do:

Go to Settings &#62; Miscellaneous in your Wordpress admin area and make sure that &#8216;Store uploads in this folder&#8217; is set to the default: wp-content/uploads (notice there is no &#8216;/&#8217; before wp-content/uploads).  Try [...]]]></description>
			<content:encoded><![CDATA[<p>If you get this error when you try to upload an image to your WordPress blog, there are two things you can do:</p>
<ol>
<li>Go to Settings &gt; Miscellaneous in your Wordpress admin area and make sure that &#8216;Store uploads in this folder&#8217; is set to the default: <code>wp-content/uploads</code> (notice there is no &#8216;/&#8217; before wp-content/uploads).  Try to upload again and see if it works.</li>
<li>If that didn&#8217;t work, open up a terminal and navigate to the wp-content directory.  If wp-content does not contain sub-directory called &#8216;uploads&#8217;, create one and then change its permissions to wide open (<code>sudo chmod 777 uploads/</code>).  Try to upload the image again.  If this works, navigate to the <code>wp-content/uploads/</code> directory and check the <em>owner</em> of the image you just uploaded (<code>ls -l</code>).  It will probably be something weird you&#8217;ve never seen before (mine was &#8216;www-data&#8217;).  Navigate up a directory and change the owner of the <code>uploads</code> folder to the one WordPress want to use: <code>sudo chown www-data:www:data</code>.  Then revert the permissions back to something a little safer: <code>sudo chmod 755 uploads/</code> and you&#8217;re done.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.likesalmondesign.com/wordpress-error-unable-to-create-directory-is-its-parent-directory-writable-by-the-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use your user&#8217;s public_html directory to serve webpages</title>
		<link>http://www.likesalmondesign.com/use-your-users-public_html-directory-to-serve-webpages/</link>
		<comments>http://www.likesalmondesign.com/use-your-users-public_html-directory-to-serve-webpages/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 03:59:53 +0000</pubDate>
		<dc:creator>Ammon</dc:creator>
				<category><![CDATA[Musings]]></category>

		<guid isPermaLink="false">http://www.likesalmondesign.com/?p=268</guid>
		<description><![CDATA[Using a public_html file in your home directory is much more convenient than /var/www for a local website development environment.  The following commands create a file called public_html in your home directory and enable the UserDir module in Apache.
From the command line, enter:

$ mkdir ~/public_html
$ cd /etc/apache2/mods-enabled
$ sudo ln -s ../mods-available/userdir.conf userdir.conf
$ sudo ln [...]]]></description>
			<content:encoded><![CDATA[<p>Using a public_html file in your home directory is much more convenient than /var/www for a local website development environment.  The following commands create a file called public_html in your home directory and enable the UserDir module in Apache.</p>
<p>From the command line, enter:</p>
<ul>
<li><code>$ mkdir ~/public_html</code></li>
<li><code>$ cd /etc/apache2/mods-enabled</code></li>
<li><code>$ sudo ln -s ../mods-available/userdir.conf userdir.conf</code></li>
<li><code>$ sudo ln -s ../mods-available/userdir.load userdir.load</code></li>
<li><code>$ sudo /etc/init.d/apache2 restart</code></li>
<li><code>$ sudo service apache2 restart</code></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.likesalmondesign.com/use-your-users-public_html-directory-to-serve-webpages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu Karmic LAMP stack installation</title>
		<link>http://www.likesalmondesign.com/ubuntu-karmic-lamp-stack-installation/</link>
		<comments>http://www.likesalmondesign.com/ubuntu-karmic-lamp-stack-installation/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 04:55:40 +0000</pubDate>
		<dc:creator>Ammon</dc:creator>
				<category><![CDATA[Solutions]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.likesalmondesign.com/?p=262</guid>
		<description><![CDATA[In the terminal, type:

$ sudo apt-get install apache2
$ sudo apt-get install php5 libapache2-mod-php5 php5-mysql
$ sudo apt-get install mysql-server
$ sudo apt-get install phpmyadmin

Just agree when it asks you stuff.
]]></description>
			<content:encoded><![CDATA[<p>In the terminal, type:</p>
<ul>
<li><code>$ sudo apt-get install apache2</code></li>
<li><code>$ sudo apt-get install php5 libapache2-mod-php5 php5-mysql</code></li>
<li><code>$ sudo apt-get install mysql-server</code></li>
<li><code>$ sudo apt-get install phpmyadmin</code></li>
</ul>
<p>Just agree when it asks you stuff.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.likesalmondesign.com/ubuntu-karmic-lamp-stack-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use &#8217;service&#8217; to start, stop and restart Apache in Ubuntu Karmic</title>
		<link>http://www.likesalmondesign.com/use-service-to-start-stop-and-restart-apache-in-ubuntu-karmic/</link>
		<comments>http://www.likesalmondesign.com/use-service-to-start-stop-and-restart-apache-in-ubuntu-karmic/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 04:42:29 +0000</pubDate>
		<dc:creator>Ammon</dc:creator>
				<category><![CDATA[Solutions]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.likesalmondesign.com/?p=258</guid>
		<description><![CDATA[The service service_name command command can be used to start, stop, or restart anything in your /etc/init.d directory. From the command line, use it like this:

$ sudo service apache2 start
$ sudo service apache2 stop
$ sudo service apache2 restart

]]></description>
			<content:encoded><![CDATA[<p>The <code>service <em>service_name command</em></code> command can be used to start, stop, or restart anything in your <code>/etc/init.d</code> directory. From the command line, use it like this:</p>
<p><code><br />
$ sudo service apache2 start<br />
$ sudo service apache2 stop<br />
$ sudo service apache2 restart<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.likesalmondesign.com/use-service-to-start-stop-and-restart-apache-in-ubuntu-karmic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The difference between a working tree, repository, branch, and checkout in the Bazaar version control system</title>
		<link>http://www.likesalmondesign.com/the-difference-between-a-working-tree-repository-branch-and-checkout-in-the-bazaar-version-control-system/</link>
		<comments>http://www.likesalmondesign.com/the-difference-between-a-working-tree-repository-branch-and-checkout-in-the-bazaar-version-control-system/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 07:17:07 +0000</pubDate>
		<dc:creator>Ammon</dc:creator>
				<category><![CDATA[Musings]]></category>

		<guid isPermaLink="false">http://www.likesalmondesign.com/?p=250</guid>
		<description><![CDATA[I wish this was in huge type on the front page of the Bazaar web site because it is essential to understanding just what the heck is going on when you place you files under version control.
I&#8217;m going to use an example to explain this.  These events are listed in the order that they [...]]]></description>
			<content:encoded><![CDATA[<p>I wish this was in huge type on the front page of the <a href="http://bazaar-vcs.org/en/">Bazaar web site</a> because it is essential to understanding just what the heck is going on when you place you files under version control.</p>
<p>I&#8217;m going to use an example to explain this.  These events are listed in the order that they usually occur, at least when I use Bazaar. If you want to understand this at all, you better read the <a href="http://doc.bazaar-vcs.org/latest/en/mini-tutorial/" title="">Bazaar in five minutes</a> tutorial first.</p>
<h3>Working Tree</h3>
<p>When I start a new project I usually create a folder named after my project, say &#8216;foo/&#8217;, and in folder &#8216;foo/&#8217; I might put my first file I&#8217;ll be working on called, say, &#8216;bar.py&#8217;, and a file to hold some data called &#8216;data.py&#8217;.  So as soon as I initialise Bazaar, &#8216;bar.py&#8217; and &#8216;data.py&#8217; will make up my working tree &#8211; <em>the files I actually edit</em>.</p>
<h3>Branch</h3>
<p>The next thing I do is initialise Bazaar by typing the command &#8216;bzr init&#8217; in the terminal, which creates a hidden folder in the &#8216;foo/&#8217; directory called &#8216;.bzr/&#8217;.  This hidden folder and its contents is a branch &#8211; <em>the state of a project including all its history</em>.  </p>
<p>A branch usually includes a working tree too, but it doesn&#8217;t have to.  If you get a branch and it doesn&#8217;t have a working tree, you can run &#8216;bzr update&#8217; to make one.</p>
<h3>Repository</h3>
<p> Among other things, &#8216;.bzr/&#8217; contains a folder called &#8216;repository&#8217;.  This, not surprisingly, is your repository &#8211; <em>the place where all commited changes to your working tree are stored</em>.</p>
<p>There isn&#8217;t much to a repository until you run &#8216;bzr add&#8217;, which adds all the files and folders in your project to the branch, and &#8216;bzr commit&#8217; which records all the changes to your working tree in your repository.</p>
<p>Your repository works like a database.  Each file you put under version control gets a unique identifier and each commit is numbered so you can go back to any revision and see what you did. A common thing to do if you have more than one person working on your project is to use the same <em>repository</em> for everyone.  The command &#8216;bzr init-repo&#8217; (as opposed to just plain old &#8216;bzr init&#8217;) creates a shared repository.</p>
<h3>Checkout</h3>
<p>So I created a folder and put some files in it, then initialised Bazaar which made my project a <em>branch</em>.  Then I ran &#8216;bzr add&#8217; and &#8216;bzr commit&#8217; to add the files in my working tree and revisions therein to my branch.  Now suppose someone else wanted to add code to my project?  That is where checkout comes in.</p>
<p>If the hobo living behind the Safeway wants a stand-alone version of my branch that he can stare at or create a competing project that has nothing to do with mine, he can run &#8216;bzr branch [BRANCH_LOCATION] [TO_LOCATION]&#8216;.  This will create a copy of my branch on his computer, but his commits will not effect my branch.</p>
<p>But if Sally Smartypants and I are friends and she wants to contribute to my project, she would run &#8216;bzr checkout [BRANCH_LOCATION] [TO_LOCATION]&#8216;, which would create a copy of my branch on her computer just like the hobo, with the major difference that Sally and my branches <em>share the same repository</em>.  So when Sally runs &#8216;bzr commit&#8217;, the changes that she made would be reflected in the branch I have.  I won&#8217;t see them right away though.  If I want Sally&#8217;s changes to show up in my working tree, I have to run &#8216;bzr update&#8217; to sync my working tree with our shared repository.</p>
<p>But what if a storm hits and Sally&#8217;s Internet goes down? No prob, her commits will just go on her local repository (since she has a full branch that works all by itself) until she&#8217;s back online and runs &#8216;bzr merge&#8217; to sync up her local repository with the main branch.</p>
<p>Hope that clears things up.  I know I&#8217;ve learned a lot.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.likesalmondesign.com/the-difference-between-a-working-tree-repository-branch-and-checkout-in-the-bazaar-version-control-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixed my site</title>
		<link>http://www.likesalmondesign.com/fixed-my-site/</link>
		<comments>http://www.likesalmondesign.com/fixed-my-site/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 06:05:51 +0000</pubDate>
		<dc:creator>Ammon</dc:creator>
				<category><![CDATA[Musings]]></category>

		<guid isPermaLink="false">http://www.likesalmondesign.com/?p=248</guid>
		<description><![CDATA[LastPass, my fave password manager, was doing funny things with WordPress, reposting and deleting my blog posts.  Weird.  Fixed now.
]]></description>
			<content:encoded><![CDATA[<p><a href="https://lastpass.com/" title="">LastPass</a>, my fave password manager, was doing funny things with WordPress, reposting and deleting my blog posts.  Weird.  Fixed now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.likesalmondesign.com/fixed-my-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
