<?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>Excursus &#187; version control</title>
	<atom:link href="http://markelikalderon.com/category/version-control/feed/" rel="self" type="application/rss+xml" />
	<link>http://markelikalderon.com</link>
	<description>Philosophy and Text</description>
	<lastBuildDate>Fri, 09 Apr 2010 19:35:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Git Users Survey 2009</title>
		<link>http://markelikalderon.com/2009/07/17/git-users-survey-2009/</link>
		<comments>http://markelikalderon.com/2009/07/17/git-users-survey-2009/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 20:11:46 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=660</guid>
		<description><![CDATA[The Git Users Survey 2009 is out. If you are a Git user, take the time to fill it out.]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.survs.com/survey?id=2PIMZGU0&amp;channel=Q0EKJ3NF54">Git Users Survey 2009</a> is out. If you are a Git user, take the time to fill it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2009/07/17/git-users-survey-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flashbake or Git Gateway Technology?</title>
		<link>http://markelikalderon.com/2009/05/14/flashbake-or-git-gateway-technology/</link>
		<comments>http://markelikalderon.com/2009/05/14/flashbake-or-git-gateway-technology/#comments</comments>
		<pubDate>Thu, 14 May 2009 01:55:37 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=656</guid>
		<description><![CDATA[Flashbake aims to bring version control to writers&#8212;or at least writers who have harnessed the power of plain text. Flahsbake is a simplified front end to Git that runs in the background automatically committing changes and recording various ambient information as you write (such as what you were listening to when the commit was made). [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://github.com/commandline/flashbake/tree/master">Flashbake</a> aims to bring version control to writers&#8212;or at least writers who have harnessed <a href="http://markelikalderon.com/blog/blog/2006/10/25/plain-text/">the power of plain text</a>. Flahsbake is a simplified front end to <a href="http://git-scm.com/" title="Git - Fast Version Control System">Git</a> that runs in the background automatically committing changes and recording various ambient information as you write (such as what you were listening to when the commit was made).</p>

<p>Written by <a href="http://github.com/commandline">commandline</a> (aka Thomas Gideon) at the request (behest?) of <a href="http://craphound.com/">Cory Doctorow</a>, Flahsbake was meant to address the problem of retaining an archival record of the production of digital texts. <a href="http://craphound.com/?p=2171">Cory Doctorow</a> explains:</p>

<blockquote>
  <p>I was prompted to do this after discussions with several digital archivists who complained that, prior to the computerized era, writers produced a series complete drafts on the way to publications, complete with erasures, annotations, and so on. These are archival gold, since they illuminate the creative process in a way that often reveals the hidden stories behind the books we care about. By contrast, many writers produce only a single (or a few) digital files that are modified right up to publication time, without any real systematic records of the interim states between the first bit of composition and the final draft.</p>
</blockquote>

<p>The problem is genuine, I have written about it <a href="http://markelikalderon.com/blog/2008/03/29/archival-formats-the-third-way/">before</a>. Moreover, I agree that version control has a role to play in its solution. However, I have doubts about the utility of Flashbake. It&#8217;s simplicity is its virtue, but it is <em>too</em> simple. No commit messages? A record of ambient information is no real substitute. And Flahsbake&#8217;s users are supposed to be geeky enough to use a command line tool, but not geeky enough to master the following simplified workflow?:</p>

<pre class="textmate-source"><span class="source source_shell">$ git init
$ git add mynovel.txt
$ git commit -m <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>initial commit<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>
write write write
$ git commit -a -m <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>new commit message<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span></span></pre>

<p>I am not sure I get it. Still, any version control is better than none. And maybe Flahsbake will function as a Git gateway technology. If you are interested in a less puzzled reaction to Flashbake see the Lifehacker <a href="http://lifehacker.com/5232049/flashbake-automates-version-control-for-nerdy-writers">article</a>. But if you want to be a really nerdy writer, just use Git neat.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2009/05/14/flashbake-or-git-gateway-technology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dirty Prompts</title>
		<link>http://markelikalderon.com/2009/01/16/dirty-prompts/</link>
		<comments>http://markelikalderon.com/2009/01/16/dirty-prompts/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 02:47:47 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[UNIX]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=616</guid>
		<description><![CDATA[Playing with your bash prompt can seem like nothing more than an idle diversion. It is an idle diversion, it is just the &#8220;nothing more&#8221; bit that I would argue with. In a previous post I discussed how the bash prompt can reflect what git branch you are on. Now that&#8217;s useful. Seriously. But what [...]]]></description>
			<content:encoded><![CDATA[<p>Playing with your bash prompt can seem like nothing more than an idle diversion. It <em>is</em> an idle diversion, it is just the &#8220;nothing more&#8221; bit that I would argue with. In a previous <a href="http://markelikalderon.com/blog/2008/06/11/bash-prompt-redux/">post</a> I discussed how the bash prompt can reflect what git branch you are on. Now that&#8217;s useful. Seriously. But what about the &#8220;dirty state&#8221; of the branch&#8212;whether or not there is any uncommitted changes. I have gotten into the habit of running <code>git status</code> before I do anything in large part to check the dirty status of the branch. Couldn&#8217;t this reflex be automated? And reflected in the bash prompt? Yes, yes it can. Inspired by this <a href="http://www.simplisticcomplexity.com/2008/03/13/show-your-git-branch-name-in-your-prompt/">post</a> and <a href="http://henrik.nyh.se/2008/12/git-dirty-prompt">this</a>, I decided to update my bash prompt once again.</p>

<script src="http://gist.github.com/47772.js"></script>

<p>Here is a screenshot illustrating the clean and then dirty state of the development branch.</p>

<a href="http://markelikalderon.com/wp-content/uploads/2009/01/dirty_prompt.jpg"><img src="http://markelikalderon.com/wp-content/uploads/2009/01/dirty_prompt.jpg" alt="Dirty prompt" title="dirty_prompt" width="505" height="343" class="size-full wp-image-620" /></a>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2009/01/16/dirty-prompts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gist-ing from TextMate</title>
		<link>http://markelikalderon.com/2008/11/26/gist-ing-from-textmate/</link>
		<comments>http://markelikalderon.com/2008/11/26/gist-ing-from-textmate/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 17:40:58 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Text]]></category>
		<category><![CDATA[TextMate]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=584</guid>
		<description><![CDATA[Well that didn&#8217;t take long. In an earlier post, I remarked that with command line support for Gist, the git powered pastebin service, TextMate support for Gist was now within reach. There is now a gist command in the GitHub bundle. You can either post private or public gists. The gist that figured in the [...]]]></description>
			<content:encoded><![CDATA[<p>Well <a href="http://github.com/blog/233-gist-support-for-textmate">that</a> didn&#8217;t take long. In an earlier <a href="http://markelikalderon.com/blog/2008/10/11/command-line-gist/">post</a>, I remarked that with command line support for Gist, the git powered pastebin service, <a href="http://macromates.com/">TextMate</a> support for Gist was now within reach. There is now a gist command in the <a href="http://github.com/drnic/github-tmbundle/tree/master">GitHub bundle</a>. You can either post private or public gists. The gist that figured in the previous <a href="http://markelikalderon.com/blog/2008/11/23/latex-todo/">post</a> was posted from within TextMate.</p>

<p>To install the GitHub bundle do the following:</p>

<pre class="textmate-source"><span class="source source_shell">$ sudo gem install git
$ cd <span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/<span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>Library/Application Support/TextMate/Bundles/<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>
$ git clone git://github.com/drnic/github-tmbundle.git <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>GitHub.tmbundle<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span>
$ osascript -e <span class="string string_quoted string_quoted_single string_quoted_single_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">'</span>tell app "TextMate" to reload bundles<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">'</span></span></span></pre>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/11/26/gist-ing-from-textmate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Command Line Gist</title>
		<link>http://markelikalderon.com/2008/10/11/command-line-gist/</link>
		<comments>http://markelikalderon.com/2008/10/11/command-line-gist/#comments</comments>
		<pubDate>Sat, 11 Oct 2008 15:49:19 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[git]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=552</guid>
		<description><![CDATA[As I posted earlier, gist is a Git powered pastebin service. Very handy. Handier still would be a command line interface to gist. Thanks to Github&#8217;s own Chris Wanstrath, aka defunkt, a command line interface with gist is now a reality. To install: curl http://github.com/defunkt/gist/tree/master%2Fgist.rb?raw=true &#62; gist &#38;&#38; chmod 755 gist &#38;&#38; sudo mv gist [...]]]></description>
			<content:encoded><![CDATA[<p>As I <a href="http://markelikalderon.com/blog/2008/07/22/the-gist-of-latex/">posted</a> earlier, <a href="http://gist.github.com/">gist</a> is a <a href="http://git.or.cz/" title="Git - Fast Version Control System">Git</a> powered <a href="http://en.wikipedia.org/wiki/Pastebin">pastebin</a> service. Very handy. Handier still would be a command line interface to gist. Thanks to <a href="http://github.com/" title="Secure Git hosting and collaborative development &mdash; GitHub">Github</a>&#8217;s own Chris Wanstrath, aka defunkt, a command line interface with gist is now a <a href="http://github.com/defunkt/gist/tree/master">reality</a>.</p>

<p>To install:</p>

<pre class="textmate-source"><span class="source source_shell">curl http://github.com/defunkt/gist/tree/master%2Fgist.rb?raw=true <span class="keyword keyword_operator keyword_operator_redirect keyword_operator_redirect_shell">&gt;</span> gist <span class="keyword keyword_operator keyword_operator_list keyword_operator_list_shell">&amp;&amp;</span>
chmod 755 gist <span class="keyword keyword_operator keyword_operator_list keyword_operator_list_shell">&amp;&amp;</span>
sudo mv gist /usr/local/bin/gist</span></pre>

<p>Some usage examples:</p>

<pre class="textmate-source"><span class="source source_shell">cat file.txt <span class="keyword keyword_operator keyword_operator_pipe keyword_operator_pipe_shell">|</span> gist
echo hi <span class="keyword keyword_operator keyword_operator_pipe keyword_operator_pipe_shell">|</span> gist
gist 1234 <span class="keyword keyword_operator keyword_operator_redirect keyword_operator_redirect_shell">&gt;</span> something.txt</span></pre>

<p>Using gist from within <a href="http://macromates.com/" title="TextMate — The Missing Editor for Mac OS X">TextMate</a> should now be trivial.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/10/11/command-line-gist/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Great Wall of China</title>
		<link>http://markelikalderon.com/2008/10/10/great-wall-of-china/</link>
		<comments>http://markelikalderon.com/2008/10/10/great-wall-of-china/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 01:08:30 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[git]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=549</guid>
		<description><![CDATA[China has blocked access to GitHub. See here]]></description>
			<content:encoded><![CDATA[<p>China has blocked access to GitHub. See <a href="http://groups.google.com/group/github/browse_thread/thread/1d2852ef3a49f3c1/1d07fe64eb2a7eca?show_docid=1d07fe64eb2a7eca">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/10/10/great-wall-of-china/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git Survey</title>
		<link>http://markelikalderon.com/2008/09/01/git-survey/</link>
		<comments>http://markelikalderon.com/2008/09/01/git-survey/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 08:56:48 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=524</guid>
		<description><![CDATA[The annual Git survey is out. If you are a Git user, here is a chance to give the maintainers your feedback.]]></description>
			<content:encoded><![CDATA[<p>The annual <a href="http://www.survs.com/survey?id=M3PIVU72&amp;channel=2WXE4BVTW8">Git survey</a> is out. If you are a Git user, here is a chance to give the maintainers your feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/09/01/git-survey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pushing and Tracking Remote Branches with Git</title>
		<link>http://markelikalderon.com/2008/08/26/pushing-and-tracking-remote-branches-with-git/</link>
		<comments>http://markelikalderon.com/2008/08/26/pushing-and-tracking-remote-branches-with-git/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 21:46:31 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/08/26/pushing-and-tracking-remote-branches-with-git/</guid>
		<description><![CDATA[I write at home and at work, so it is natural for me to use a remote repository to keep track of my work&#8212;even with Git. Distributed version control may not force this workflow on you the way subversion does, but the cool thing about Git is that it doesn&#8217;t force any particular workflow&#8212;it can [...]]]></description>
			<content:encoded><![CDATA[<p>I write at home and at work, so it is natural for me to use a remote repository to keep track of my work&#8212;even with <a href="http://git.or.cz/" title="Git - Fast Version Control System">Git</a>. Distributed version control may not force this workflow on you the way subversion does, but the cool thing about Git is that it doesn&#8217;t force any particular workflow&#8212;it can be adapted to your needs.</p>

<p>The best thing about Git is branching. However, there is a hiccup in pushing a branch to a remote repository that always makes me pause when doing it. So this post is nothing earth shattering. Just a brain dump in the hope that the procedure will become hardwired so that I don&#8217;t have to anxiously glance at a man page each time a create a remote branch.</p>

<p>Creating a branch in your local repository is easy enough:</p>

<pre class="textmate-source"><span class="source source_shell">$ git branch <span class="keyword keyword_operator keyword_operator_redirect keyword_operator_redirect_shell">&lt;</span>local branch name<span class="keyword keyword_operator keyword_operator_redirect keyword_operator_redirect_shell">&gt;</span></span></pre>

<p>And pushing the branch to the remote repository is easy as well:</p>

<pre class="textmate-source"><span class="text text_plain"><span class="meta meta_paragraph meta_paragraph_text">$ git push origin &lt;local branch name&gt;</span></span></pre>

<p>So what&#8217;s the problem? The problem is that your local branch isn&#8217;t automatically tracking the remote branch. You could edit the git config, but that is a hassle. There is an easier way, though. You can delete the local branch a create a new local branch from the remote one. Fortunately, this can be done in a line:</p>

<pre class="textmate-source"><span class="text text_plain"><span class="meta meta_paragraph meta_paragraph_text">$ git branch -f &lt;local branch name&gt; origin/&lt;remote branch name&gt;</span></span></pre>

<p>The key is the <code>-f</code> option&#8212;it forces the creation of a new branch even if one of that name already exists. And the second argument specifies the remote branch from which the local branch is created. Creating a new local branch in this way causes it to automatically track the remote branch, so that you can, for example, use <code>git pull</code> without further arguments.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/08/26/pushing-and-tracking-remote-branches-with-git/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Post Commit Hooks</title>
		<link>http://markelikalderon.com/2008/08/12/post-commit-hooks/</link>
		<comments>http://markelikalderon.com/2008/08/12/post-commit-hooks/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 13:46:43 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=494</guid>
		<description><![CDATA[Commit hooks, scripts run when you commit to your repository, can be handy and are readily adaptable to a variety of workflows. Here is a quick and dirty post commit hook that I use for my dotfiles, remind files, and my todo list. These are kept in lightweight git repositories. Moreover, I want to push [...]]]></description>
			<content:encoded><![CDATA[<p>Commit hooks, scripts run when you commit to your repository, can be handy and are readily adaptable to a variety of workflows. Here is a quick and dirty post commit hook that I use for my dotfiles, remind files, and my todo list. These are kept in lightweight git repositories. Moreover, I want to push any changes that are committed immediately. Easily done:</p>

<pre class="textmate-source"><span class="source source_shell">$ cd my_git_repository
$ echo <span class="string string_quoted string_quoted_single string_quoted_single_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">'</span>git push<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">'</span></span> <span class="keyword keyword_operator keyword_operator_redirect keyword_operator_redirect_shell">&gt;</span> .git/hooks/post-commit
$ chmod 755 .git/hooks/post-commit</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/08/12/post-commit-hooks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keeping your LaTeX Preamble in a Git Submodule</title>
		<link>http://markelikalderon.com/2008/07/31/keeping-your-latex-preamble-in-a-git-submodule/</link>
		<comments>http://markelikalderon.com/2008/07/31/keeping-your-latex-preamble-in-a-git-submodule/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 02:58:07 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=481</guid>
		<description><![CDATA[One of the much vaunted conceptual advantages of structural markup is the separation of form and content. In LaTeX, the preamble determines the the form of the document, how it is to be typeset, while the main body determines the content of the document and should contain only structural markup, markup that specifies the logical [...]]]></description>
			<content:encoded><![CDATA[<p>One of the much vaunted conceptual advantages of structural markup is the separation of form and content. In <a href="http://www.latex-project.org/" title="LaTeX project: LaTeX &ndash; A document preparation system">LaTeX</a>, the preamble determines the the form of the document, how it is to be typeset, while the main body determines the content of the document and should contain only structural markup, markup that specifies the logical structure of the content.</p>

<p>As I explained in an earlier <a href="http://markelikalderon.com/blog/2008/07/22/the-gist-of-latex/">post</a>, it is useful to independently maintain any LaTeX preambles you may have in version control. Independently, that is, of your present LaTeX project. The rationale is simple. If you discover some heretofore overlooked need requiring a change to the preamble, it would be useful if this change were made available to any other LaTeX document that uses that preamble.</p>

<p>Here is how to do this with <a href="http://git.or.cz/" title="Git - Fast Version Control System">Git</a> and Git submodules. (Something similar could be achieved with <a href="http://subversion.tigris.org/" title="subversion.tigris.org">Subversion</a> and Subversion externals.)</p>

<p>First, let&#8217;s create a Git repository for our LaTeX project:</p>

<pre class="textmate-source"><span class="source source_shell"><span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span> $ mkdir myproject
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span> $ cd <span class="keyword keyword_operator keyword_operator_pipe keyword_operator_pipe_shell">!</span>$
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ touch mytex.tex
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git init
Initialized empty Git repository <span class="keyword keyword_control keyword_control_shell">in</span> /Users/markelikalderon/myproject/.git/
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git add .
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git commit -m <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span>Initial commit<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span></span></pre>

<p><code>mytex.tex</code> is just an empty file so far. Here is the template LaTeX file that I am currently using:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="comment comment_line comment_line_percentage comment_line_percentage_directive comment_line_percentage_directive_texshop comment_line_percentage_directive_texshop_tex">%!TEX TS-program = xelatex </span>
<span class="comment comment_line comment_line_percentage comment_line_percentage_directive comment_line_percentage_directive_texshop comment_line_percentage_directive_texshop_tex">%!TEX TS-options = -output-driver="xdvipdfmx -q -E"</span>
<span class="comment comment_line comment_line_percentage comment_line_percentage_directive comment_line_percentage_directive_texshop comment_line_percentage_directive_texshop_tex">%!TEX encoding = UTF-8 Unicode</span>
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>  my_title
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>  Created by my_name on date.
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>  Copyright (c) year. All rights reserved.
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>
</span>
<span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>documentclass</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">[</span><span class="variable variable_parameter variable_parameter_latex">12pt</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">]</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">article</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span> 

<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Definitions
</span><span class="storage storage_type storage_type_function storage_type_function_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>newcommand</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>mykeywords</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{}</span></span> 
<span class="storage storage_type storage_type_function storage_type_function_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>newcommand</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>myauthor</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{}</span></span> 
<span class="storage storage_type storage_type_function storage_type_function_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>newcommand</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>mytitle</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{}</span></span>
<span class="storage storage_type storage_type_function storage_type_function_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>newcommand</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>mybib</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{}</span></span>

<span class="meta meta_include meta_include_latex"><span class="keyword keyword_control keyword_control_include keyword_control_include_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>input</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">preamble/preamble</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>

<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>%% BEGIN DOCUMENT
</span><span class="meta meta_function meta_function_begin-document meta_function_begin-document_latex"><span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>begin</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">document</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>

<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Title Page
</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>maketitle</span>
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> \begin{abstract} % optional
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> \end{abstract} 
</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>vskip</span><span class="meta meta_space-after-command meta_space-after-command_latex"> </span>2em <span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>hrule</span><span class="meta meta_space-after-command meta_space-after-command_latex"> </span>height 0.4pt <span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>vskip</span><span class="meta meta_space-after-command meta_space-after-command_latex"> </span>2em
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> \epigraph{text of epigraph}{\textsc{author of epigraph}} % optional; make sure to uncomment \usepackage{epigraph}
</span>
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Layout Settings
</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>setlength</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>parindent</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>1em<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>

<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Main Content
</span>


<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Bibligography
</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>bibliographystyle</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>plainnat<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span> 
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>bibliography</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>mybib</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span> 

<span class="meta meta_function meta_function_end-document meta_function_end-document_latex"><span class="support support_function support_function_be support_function_be_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>end</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">document</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span></span></pre>

<p>A couple of observations about this. First, I am assuming that the included preamble is called <code>preamble.tex</code> and is in a subdirectory called <code>preamble</code>. This is required since we will be keeping our preamble in a Git submodule, and submodules are always subdirectories of the superproject. Second, I have defined some commands, <code>\mytitle</code>, <code>\myauthor</code>, etc. Basically these are all the elements of the preamble that could change from one LaTeX project to another. (So, in the preamble, we have <code>\title{\mytitle}</code>.) This was done to generalize the preamble so it can remain constant from project to project. Also, with a template, it is useful to pull, in this way, all the bits you would need to fill in to the top of the document so that you don&#8217;t need to hunt through the code. Once you have added content to <code>mytex.tex</code>, you will, of course, need to  commit these changes.</p>

<p>Next we want to push to a remote repository. I will assume that your remote repository is hosted by GitHub (they provide free accounts for publically availbale repositories). So create a repository, &#8220;myproject&#8221;, on GitHub and then:</p>

<pre class="textmate-source"><span class="source source_shell"><span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git remote add origin git@github.com:myname/myproject.com
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git push origin master</span></pre>

<p>(where &#8220;myname&#8221; is your GitHub username).</p>

<p>Now for something mysterious, but it&#8217;s required for Git submodules to work. We are going to delete our local Git repository and clone the remote repository:</p>

<pre class="textmate-source"><span class="source source_shell"><span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ cd ..
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span> $ rm -rf myproject/
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span> $ git clone git@github.com:myname/myproject.com</span></pre>

<p>Now we are going to create a Git submodule. Your preamble, call it <code>preamble.tex</code>, needs to be in a git repository. For the sake of illustration, we will use <a href="http://gist.github.com/835">the preamble I am hosting on GitHub</a>:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Packages
</span><span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">geometry</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span> <span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>geometry</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>a4paper<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span> 
<span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">url</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>
<span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">pdfsync</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span> 
<span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">txfonts</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>
<span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">color</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>definecolor</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>gray<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>rgb<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>0.459,0.438,0.471<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> \usepackage{setspace}
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> \doublespace % Uncomment for doublespacing if necessary
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> \usepackage{epigraph} % optional
</span> 
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> XeTeX
</span><span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">[</span><span class="variable variable_parameter variable_parameter_latex">cm-default</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">]</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">fontspec</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>
<span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">xltxtra,xunicode</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>defaultfontfeatures</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>Scale=MatchLowercase,Mapping=tex-text<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>setmainfont</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>Hoefler Text<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>setsansfont</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>Gill Sans<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>setmonofont</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>Inconsolata<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
 
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Section Formatting
</span><span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">[</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">]</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">titlesec</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>titleformat</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>section</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">[</span>hang<span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">]</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>fontsize</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>14<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>14<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>scshape</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>S</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>thesection</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>.5em<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{}{}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>titleformat</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>subsection</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">[</span>hang<span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">]</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>fontsize</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>12<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>12<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>scshape</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>S</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>thesubsection</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>.5em<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{}{}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>titleformat</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>subsubsection</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">[</span>hang<span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">]</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>fontsize</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>12<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>12<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>scshape</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>S</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>thesubsubsection</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>.5em<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{}{}</span></span>
 
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Headers and Footers
</span><span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">fancyhdr</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>pagestyle</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>fancy<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>pagenumbering</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span>arabic<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>lhead</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>thepage</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>chead</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{}</span></span>
<span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>rhead</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>itshape</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>nouppercase</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>leftmark</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
 
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Bibliography
</span><span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">[</span><span class="variable variable_parameter variable_parameter_latex">round</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">]</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">natbib</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span> 
 
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> Title Information
</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>title</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>mytitle</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span> <span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> For thanks comment this line and uncomment the line below
</span><span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span>\title{\mytitle\thanks{}}% 
</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>author</span><span class="meta meta_group meta_group_braces meta_group_braces_tex"><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">{</span><span class="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>myauthor</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span> 
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> \date{} % Leave blank for no date, comment out for most recent date
</span> 
<span class="comment comment_line comment_line_percentage comment_line_percentage_tex"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_tex">%</span> PDF Stuff
</span><span class="meta meta_preamble meta_preamble_latex"><span class="keyword keyword_control keyword_control_preamble keyword_control_preamble_latex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_latex">\</span>usepackage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">[</span><span class="variable variable_parameter variable_parameter_latex">plainpages=false, pdfpagelabels, bookmarksnumbered, backref, pdftitle={\mytitle}, pagebackref, pdfauthor={\myauthor}, pdfkeywords={\mykeywords}, xetex, dvipdfmx, colorlinks=true, citecolor=gray, linkcolor=gray, urlcolor=gray</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">]</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_begin punctuation_definition_arguments_begin_latex">{</span><span class="support support_class support_class_latex">hyperref</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_end punctuation_definition_arguments_end_latex">}</span></span> 
</span></pre>

<p>Here is what we need to do to create the submodule:</p>

<pre class="textmate-source"><span class="source source_shell"><span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span> $ cd myproject/
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git submodule add git://gist.github.com/835.git preamble
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git submodule init
<span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/myproject $ git submodule update</span></pre>

<p>Now, if we want to make a change to our preamble and make it available to all our LaTeX projects that use that particular preamble, you need only commit these changes to the Git repository where your preamble lives.</p>

<p>For more information about git submodules, see this <a href="http://git.or.cz/gitwiki/GitSubmoduleTutorial">tutorial</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/07/31/keeping-your-latex-preamble-in-a-git-submodule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BitBucket</title>
		<link>http://markelikalderon.com/2008/07/25/bitbucket/</link>
		<comments>http://markelikalderon.com/2008/07/25/bitbucket/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 15:10:03 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=473</guid>
		<description><![CDATA[BitBucket is providing mercurial hosting: Bitbucket is a place for you and your team to host and follow your Mercurial projects. Mercurial is a so-called DVCS, or Distributed Version Control System, a new paradigm in version control, rapidly substituting the likes of Subversion and CVS. We have plans for several purposes, including an extremely generous [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bitbucket.org/">BitBucket</a> is providing <a href="http://www.selenic.com/mercurial/" title="Mercurial - Mercurial">mercurial</a> hosting:</p>

<blockquote>
  <p>Bitbucket is a place for you and your team to host and follow your Mercurial projects. Mercurial is a so-called DVCS, or Distributed Version Control System, a new paradigm in version control, rapidly substituting the likes of Subversion and CVS.</p>
  
  <p>We have plans for several purposes, including an extremely generous free plan. If you want to host an open source project with us, we are happy to grant sponsorships and give out free professional plans. We rely on open source software, and are always happy to give something back to the community!</p>
</blockquote>

<p>The screenshots they provide make the site look <em>very</em> similar to <a href="http://github.com/" title="Secure Git hosting and collaborative development &mdash; GitHub">GitHub</a>&#8212;even down to the coloring of the diffs. If mercurial is your distributed version control of choice, you might check them out.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/07/25/bitbucket/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git Resource</title>
		<link>http://markelikalderon.com/2008/07/25/git-resource/</link>
		<comments>http://markelikalderon.com/2008/07/25/git-resource/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 00:42:29 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=467</guid>
		<description><![CDATA[Scott Chacon is maintaining this site, a useful compendium of git resources.]]></description>
			<content:encoded><![CDATA[<p>Scott Chacon is maintaining <a href="http://git-scm.com/">this site</a>, a useful compendium of git resources.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/07/25/git-resource/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Gist of LaTeX</title>
		<link>http://markelikalderon.com/2008/07/22/the-gist-of-latex/</link>
		<comments>http://markelikalderon.com/2008/07/22/the-gist-of-latex/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 13:46:20 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/07/22/the-gist-of-latex/</guid>
		<description><![CDATA[GitHub has just launched Gist, a Git driven pastebin service. It is very handy to have a lightweight public (or private) repository. From the GitHub blog (see also here), Bryan Liles demos Gist: BryanL demos Gist: A Super Hot Pastebin from Bryan Liles on Vimeo. In the spirit of sharing, I have posted my LaTeX [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://github.com/" title="Secure Git hosting and collaborative development &mdash; GitHub">GitHub</a> has just launched <a href="http://www.gistworld.com/" title="">Gist</a>, a Git driven <a href="http://en.wikipedia.org/wiki/Pastebin">pastebin</a> service. It is very handy to have a lightweight public (or private) repository. From the GitHub <a href="http://github.com/blog/119-intro-to-gist-video">blog</a> (see also <a href="http://github.com/blog/118-here-s-the-gist-of-it">here</a>), Bryan Liles demos Gist:</p>

<p><object width="400" height="300">   <param name="allowfullscreen" value="true" />   <param name="allowscriptaccess" value="always" />   <param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1381658&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" />   <embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1381658&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object><br /><a href="http://www.vimeo.com/1381658?pg=embed&#038;sec=1381658">BryanL demos Gist: A Super Hot Pastebin</a> from <a href="http://www.vimeo.com/user472736?pg=embed&#038;sec=1381658">Bryan Liles</a> on <a href="http://vimeo.com?pg=embed&#038;sec=1381658">Vimeo</a>.</p>

<p>In the spirit of <a href="http://markelikalderon.com/blog/2008/06/17/gitting-bibtex/">sharing</a>, I have posted my <a href="http://gist.github.com/835">LaTeX preamble and associated files</a>. Feel free to download or clone these files, or better yet, post your own!</p>

<p>It is useful to independently maintain any LaTeX preambles you may use. Suppose, for example, you discover some need and make a corresponding change to your preamble. You might want that change available to some of your other LaTeX documents. Next time I will explain how to do this with include statements and git submodules.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/07/22/the-gist-of-latex/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cornerstone</title>
		<link>http://markelikalderon.com/2008/07/01/cornerstone/</link>
		<comments>http://markelikalderon.com/2008/07/01/cornerstone/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 00:49:05 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Hybrid Application]]></category>
		<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/07/01/cornerstone/</guid>
		<description><![CDATA[Previewing at 1.0, Cornerstone, a GUI Subversion front end has been released. Daring Fireball, as ever, with the wry commentary: It strikes me as an odd coincidence that two serious Subversion clients would debut at a time when many developers are starting to switch away from Subversion to distributed revision control systems such as Git [...]]]></description>
			<content:encoded><![CDATA[<p>Previewing at 1.0, <a href="http://www.zennaware.com/cornerstone/">Cornerstone</a>, a GUI <a href="http://subversion.tigris.org/" title="subversion.tigris.org">Subversion</a> front end has been released.</p>

<p><a href="http://daringfireball.net/" title="Daring Fireball">Daring Fireball</a>, as ever, with the wry commentary:</p>

<blockquote>
  <p>It strikes me as an odd coincidence that two serious Subversion clients would debut at a time when many developers are starting to switch away from Subversion to distributed revision control systems such as <a href="http://git.or.cz/" title="Git - Fast Version Control System">Git</a> and <a href="http://www.selenic.com/mercurial/" title="Mercurial - Mercurial">Mercurial</a>.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/07/01/cornerstone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Viva La Revolución</title>
		<link>http://markelikalderon.com/2008/06/29/viva-la-revolucion/</link>
		<comments>http://markelikalderon.com/2008/06/29/viva-la-revolucion/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 21:24:44 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Academic Publishing]]></category>
		<category><![CDATA[BibTeX]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/06/29/viva-la-revolucion/</guid>
		<description><![CDATA[Kieran Healey has followed my lead and posted his sociology BibTeX files on GitHub. I could only be happier if someone forked me. C&#8217;mon, baby, fork me, fork me! Update Kieran posts about it here.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.kieranhealy.org/blog/">Kieran Healey</a> has followed <a href="http://markelikalderon.com/blog/2008/06/17/gitting-bibtex/">my lead</a> and <a href="http://github.com/kjhealy/socbibs/tree/master">posted</a> his sociology <a href="http://www.bibtex.org/" title="BibTeX">BibTeX</a> files on <a href="http://github.com/" title="Secure Git hosting and collaborative development &mdash; GitHub">GitHub</a>. I could only be happier if someone forked me. C&#8217;mon, baby, fork me, fork me!</p>

<p><strong>Update</strong> Kieran posts about it <a href="http://orgtheory.wordpress.com/2008/06/29/git-bibs/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/06/29/viva-la-revolucion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Subversion 1.5</title>
		<link>http://markelikalderon.com/2008/06/25/subversion-15/</link>
		<comments>http://markelikalderon.com/2008/06/25/subversion-15/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 23:39:02 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[subversion]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/06/25/subversion-15/</guid>
		<description><![CDATA[Subversion 1.5 is out. This is a major release that promised to address many of the problems with merging. New features include: Merge tracking (foundational) Sparse checkouts (via new &#8211;depth option) Interactive conflict resolution Changelist support Relative URLs, peg revisions in svn:externals Cyrus SASL support for ra_svn and svnserve Improved support for large deployments on [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://subversion.tigris.org/" title="subversion.tigris.org">Subversion</a> 1.5 is <a href="http://subversion.tigris.org/svn_1.5_releasenotes.html">out</a>. This is a major release that promised to address many of the <a href="http://markelikalderon.com/blog/2007/08/02/the-problem-with-merging/">problems with merging</a>. New features include:</p>

<ul>
<li>Merge tracking (foundational)</li>
<li>Sparse checkouts (via new &#8211;depth option)</li>
<li>Interactive conflict resolution</li>
<li>Changelist support</li>
<li>Relative URLs, peg revisions in svn:externals</li>
<li>Cyrus SASL support for ra_svn and svnserve</li>
<li>Improved support for large deployments on FSFS, via sharding</li>
<li>Improved FSFS optimizability, via immutable file isolation</li>
<li>WebDAV transparent write-through proxy</li>
<li>Improvements to copy and move</li>
<li>Speed improvements, cancellation response improvements</li>
<li>Easier to try experimental ra_serf DAV access module</li>
<li>API changes, improvements, and much language bindings work</li>
<li>More than 150 new bug fixes, enhancements</li>
</ul>

<p>If you are still using subversion, or if subversion suits your needs better than distributed alternatives, then this is a must have release.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/06/25/subversion-15/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gitting BibTeX</title>
		<link>http://markelikalderon.com/2008/06/17/gitting-bibtex/</link>
		<comments>http://markelikalderon.com/2008/06/17/gitting-bibtex/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 21:15:32 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[BibTeX]]></category>
		<category><![CDATA[Bibliography]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[diff]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/06/17/gitting-bibtex/</guid>
		<description><![CDATA[Academics tend to be pretty good at sharing resources. For example, most publish their research online. This is really helpful since it can take a year or two after submission to finally see its way into print. One useful thing that academics share, though less often than their research, is their bibliographies. LaTeX is predominant [...]]]></description>
			<content:encoded><![CDATA[<p>Academics tend to be pretty good at sharing resources. For example, most publish their research online. This is really helpful since it can take a year or two after submission to finally see its way into print.</p>

<p>One useful thing that academics share, though less often than their research, is their bibliographies. <a href="http://www.latex-project.org/" title="LaTeX project: LaTeX &ndash; A document preparation system">LaTeX</a> is predominant in academia, though not universally so. So many of these online bibliographies are <a href="http://www.bibtex.org/" title="BibTeX">BibTeX</a> files. See <a href="http://individual.utoronto.ca/benj/">Benj Hellie</a>&#8217;s <a href="http://individual.utoronto.ca/benj/mind.bib">BibTeX file</a> as an example.</p>

<p>Sometimes, these have been converted to HTML. Sometimes, as in Benj&#8217;s case, the author simply posts the text file (BibTeX is a flat file database kept in plain text). This has some limitations. One problem is that the author has to periodically export to HTML, and even if he is posting the text file, it still needs to be uploaded to the server. Unlikely that this is done after each change to the bibliography.</p>

<p>From the users side, there are problems too. Suppose I have downloaded Benj&#8217;s BibTeX file. Some time passes, and I want to take advantage of Benj&#8217;s hard work. Some of the entries I already have, some are new. Some of the new entries may overlap with entries that I have made independently. Manually merging this material can be a pain, even with <a href="http://markelikalderon.com/blog/2007/02/15/diff-programs-diffed/">diff</a> tools.</p>

<p>All of this would be a lot easier if academics used distributed version control to share their bibliographies. Suppose the distributed version control system in question is <a href="http://git.or.cz/" title="Git - Fast Version Control System">Git</a>. When an author makes a change to his bibliography, then all he need do is to commit the change and push to the remote repository:</p>

<pre class="textmate-source"><span class="source source_shell">$ git commit mybibtexfile.bib
$ git push</span></pre>

<p>From the users side, to download the bibliography all he need do is clone the git repository:</p>

<pre class="textmate-source"><span class="source source_shell">$ git clone git@github.com:PhilGeek/bib.git</span></pre>

<p>After that, fetching and merging new changes is easy as:</p>

<pre class="textmate-source"><span class="source source_shell">$ git pull</span></pre>

<p>Well, I am putting my money where my mouth is and publishing my BibTeX file in an open Git repository hosted at <a href="http://github.com/" title="Secure Git hosting and collaborative development &mdash; GitHub">GitHub</a>&#8212;<a href="http://github.com/PhilGeek/bib/tree/master">http://github.com/PhilGeek/bib/tree/master</a>. To clone this repository:</p>

<pre class="textmate-source"><span class="source source_shell">$ git clone git@github.com:PhilGeek/bib.git</span></pre>

<p>Even if you are not a Git user and are shy about adopting new technology, the file can be viewed and downloaded <a href="http://github.com/PhilGeek/bib/tree/master/Philosophy.bib">here</a>.</p>

<p>There is not as much in it as there should be. Before becoming a plain text Geek, I kept my bibliography in <a href="http://www.endnote.com/" title="EndNote - Bibliographies Made Easy">EndNote</a>. Unfortunately, my EndNote file, a proprietary binary format, became corrupted before I could convert it to BibTeX. Yet another cautionary tale speaking in favor of the <a href="http://markelikalderon.com/blog/2006/10/25/plain-text/">Power of Plain Text</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/06/17/gitting-bibtex/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Code Swarm</title>
		<link>http://markelikalderon.com/2008/06/13/code-swarm/</link>
		<comments>http://markelikalderon.com/2008/06/13/code-swarm/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 17:27:55 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=414</guid>
		<description><![CDATA[From Information Aesthetics, a link to code_swarm: This visualization, called code_swarm, shows the history of commits in a software project. A commit happens when a developer makes changes to the code or documents and transfers them into the central project repository. Both developers and files are represented as moving elements. When a developer commits a [...]]]></description>
			<content:encoded><![CDATA[<p>From <a href="http://infosthetics.com/archives/2008/06/code_swarm_organic_software_visualization.html">Information Aesthetics</a>, a link to <a href="http://vis.cs.ucdavis.edu/~ogawa/codeswarm/">code_swarm</a>:</p>

<blockquote>
  <p>This visualization, called code_swarm, shows the history of commits in a software project. A commit happens when a developer makes changes to the code or documents and transfers them into the central project repository. Both developers and files are represented as moving elements. When a developer commits a file, it lights up and flies towards that developer. Files are colored according to their purpose, such as whether they are source code or a document. If files or developers have not been active for a while, they will fade away. A histogram at the bottom keeps a reminder of what has come before.</p>
</blockquote>

<p>Here is the video representing <a href="http://www.python.org/" title="Python Programming Language -- Official Website">Python</a>&#8217;s development:</p>

<p><object width="400" height="302">   <param name="allowfullscreen" value="true" />   <param name="allowscriptaccess" value="always" />   <param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1093745&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" />   <embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1093745&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="302"></embed></object><br /><a href="http://www.vimeo.com/1093745?pg=embed&#038;sec=1093745">code_swarm - Python</a> from <a href="http://www.vimeo.com/user485826?pg=embed&#038;sec=1093745">Michael Ogawa</a> on <a href="http://vimeo.com?pg=embed&#038;sec=1093745">Vimeo</a>.</p>

<p><strong>Update</strong>: code_swarm has been <a href="http://developers.slashdot.org/article.pl?sid=08/06/16/1855209&amp;from=rss">Slashdotted</a> by <a href="http://cmdrtaco.net/rob.shtml">CmdrTaco</a> himself.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/06/13/code-swarm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash Prompt Redux</title>
		<link>http://markelikalderon.com/2008/06/11/bash-prompt-redux/</link>
		<comments>http://markelikalderon.com/2008/06/11/bash-prompt-redux/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 19:09:14 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[UNIX]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/06/11/bash-prompt-redux/</guid>
		<description><![CDATA[OK, so you know a meeting is boring when you would rather redo your bash prompt. (And, yes, as a consequence, I have come to appreciate the point of running a headless meeting.) I wanted my bash prompt to tell me a number of things: Who am I? Where am I? Which branch of a [...]]]></description>
			<content:encoded><![CDATA[<p>OK, so you know a meeting is boring when you would rather <a href="http://markelikalderon.com/blog/2007/11/24/full-paths-and-the-multiline-shell-prompt/">redo</a> your bash prompt. (And, yes, as a consequence, I have come to appreciate the point of running a headless meeting.) I wanted my bash prompt to tell me a number of things:</p>

<ol>
<li>Who am I?</li>
<li>Where am I?</li>
<li>Which branch of a <a href="http://git.or.cz/" title="Git - Fast Version Control System">Git</a> repository am I on?</li>
</ol>

<p>I wanted color. I wanted a multiline prompt. I wanted it all!</p>

<p>Actually it was pretty easy. Here it is, explanation to follow:</p>

<pre class="textmate-source"><span class="source source_shell">source <span class="keyword keyword_operator keyword_operator_tilde keyword_operator_tilde_shell">~</span>/.git-completion.sh

<span class="storage storage_modifier storage_modifier_shell">export</span> PS1=<span class="string string_quoted string_quoted_single string_quoted_single_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">'</span>\[\e[0;32m\]\w\[\e[1;33m\]$(__git_ps1 "(%s)")\[\e[0m\]\n\u $ <span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">'</span></span></span></pre>

<p>The first line loads .git-completion.sh a script distributed with Git that provides autocompletion for Git. Cool! But it also provides the function at work in:</p>

<pre class="textmate-source"><span class="source source_shell"><span class="string string_interpolated string_interpolated_dollar string_interpolated_dollar_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">$(</span>__git_ps1 <span class="string string_quoted string_quoted_double string_quoted_double_shell"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_shell">"</span> (%s)<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">"</span></span><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_shell">)</span></span></span></pre>

<p>This will display the branch currently checked out when you are in a Git repository.</p>

<p>The characters:</p>

<pre class="textmate-source"><span class="source source_shell"><span class="constant constant_character constant_character_escape constant_character_escape_shell">\[</span> <span class="constant constant_character constant_character_escape constant_character_escape_shell">\]</span></span></pre>

<p>wrap nonprinting characters, in this case, the color codes:</p>

<pre class="textmate-source"><span class="source source_shell"><span class="constant constant_character constant_character_escape constant_character_escape_shell">\e</span>[0<span class="keyword keyword_operator keyword_operator_list keyword_operator_list_shell">;</span>32m
<span class="constant constant_character constant_character_escape constant_character_escape_shell">\e</span>[1<span class="keyword keyword_operator keyword_operator_list keyword_operator_list_shell">;</span>33m
<span class="constant constant_character constant_character_escape constant_character_escape_shell">\e</span>[1<span class="keyword keyword_operator keyword_operator_list keyword_operator_list_shell">;</span>33m</span></pre>

<p>Finally:</p>

<pre class="textmate-source"><span class="source source_shell"><span class="constant constant_character constant_character_escape constant_character_escape_shell">\w</span>
<span class="constant constant_character constant_character_escape constant_character_escape_shell">\n</span>
<span class="constant constant_character constant_character_escape constant_character_escape_shell">\u</span></span></pre>

<p>gives you the name of the current directory, a new line, and your user name, respectively.</p>

<p>Well a picture is worth a thousand words:
<img src="http://markelikalderon.com/wp-content/uploads/2008/06/bash-prompt.png" alt="Bash Prompt" /></p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/06/11/bash-prompt-redux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Versions Not Vaporware After All</title>
		<link>http://markelikalderon.com/2008/06/05/versions-not-vaporware-after-all/</link>
		<comments>http://markelikalderon.com/2008/06/05/versions-not-vaporware-after-all/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 00:50:40 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Versions]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=408</guid>
		<description><![CDATA[Check it out. Will try to review it later. But one interesting feature is its integration with Beanstalk that provides one 20MB Subversion repository for free. Smart move for the casual user who might still be intimidated by the command line interface.]]></description>
			<content:encoded><![CDATA[<p>Check it <a href="http://www.versionsapp.com/">out</a>.</p>

<p>Will try to review it later. But one interesting feature is its integration with <a href="http://beanstalkapp.com/">Beanstalk</a> that provides one 20MB <a href="http://subversion.tigris.org/">Subversion</a> repository for free. Smart move for the casual user who might still be intimidated by the command line interface.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/06/05/versions-not-vaporware-after-all/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
