<?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</title>
	<atom:link href="http://markelikalderon.com/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>On the Cognitive Utility of Typography</title>
		<link>http://markelikalderon.com/2009/03/07/on-the-cognitive-utility-of-typography/</link>
		<comments>http://markelikalderon.com/2009/03/07/on-the-cognitive-utility-of-typography/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 23:47:27 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Typography]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2009/03/07/on-the-cognitive-utility-of-typography/</guid>
		<description><![CDATA[For art in printing is not the way Of wild extravagance, weird display, But rather the unobtrusive thrall Of type that gives you no shock at all, But draws your eye to the page with zest And holds your mind to the thought expressed; We must keep ourselves to this simple creed, Type was made [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
  <p>For art in printing is not the way<br />
  Of wild extravagance, weird display,<br />
  But rather the unobtrusive thrall<br />
  Of type that gives you no shock at all,<br />
  But draws your eye to the page with zest<br />
  And holds your mind to the thought expressed;<br />
  We must keep ourselves to this simple creed,<br />
  Type was made - and is meant - to READ!</p>
</blockquote>

<p>Unfortunately, the <a href="http://www.typography.org.uk/type.htm">source</a> provided no citation.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2009/03/07/on-the-cognitive-utility-of-typography/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On a Need to Know Basis</title>
		<link>http://markelikalderon.com/2009/01/25/on-a-need-to-know-basis/</link>
		<comments>http://markelikalderon.com/2009/01/25/on-a-need-to-know-basis/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 22:00:22 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Markup]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=630</guid>
		<description><![CDATA[Advanced features of LaTeX are best learned on a need to know basis. The LaTeX Companion can be daunting in its length. If you thought you needed to master all of that material before writing a LaTeX document you would never do so. So start simple, and learn how to do more advanced things as [...]]]></description>
			<content:encoded><![CDATA[<a href="http://markelikalderon.com/wp-content/uploads/2008/12/logo.gif"><img src="http://markelikalderon.com/wp-content/uploads/2008/12/logo.gif" alt="John Cook Wilson" title="John Cook Wilson" width="177" height="209" class="size-full wp-image-598" /></a>

<p>Advanced features of LaTeX are best learned on a need to know basis. <a href="http://www.amazon.com/LaTeX-Companion-Techniques-Computer-Typesetting/dp/0201362996/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1232913794&amp;sr=8-1">The LaTeX Companion</a> can be daunting in its length. If you thought you needed to master <em>all</em> of that material before writing a LaTeX document you would never do so. So start simple, and learn how to do more advanced things as and when you need to.</p>

<p>Learn on a need to know basis, and when you do learn, hack. Don&#8217;t feel like you need to know whether the code will work before running it. The worst thing that will happen is that LaTeX will throw an error. LaTeX errors are instructive. Learn to love them.</p>

<p>These reflections arose today when I needed to do something which should have been simple. It <em>was</em> simple&#8212;once I learned how to do it. I was preparing a handout for my seminar. On the handout is a summary of the material that I presented on Cook Wilson and the nature of representation and notes on the ensuing discussion. It would be useful if these were visually distinguished.</p>

<p>My first thought was to use the color package. It has a command <code>\colorbox</code> that specifies the <em>background</em> color of a box. However, the results were suboptimal&#8212;small strips of white separate the colored lines. Disappointed, I thought, well, perhaps I can just color the relevant text with <code>\textcolor</code>. The discussion however could run for several paragraphs and it turns out that <code>\textcolor</code> chokes when it wraps multiple paragraphs. It was obvious to me, then, that there was no straightforward, out of the box, solution.</p>

<p>I decided to define a new environment, <code>discussion</code>:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="meta meta_function meta_function_environment meta_function_environment_general meta_function_environment_general_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_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">discussion</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span>
    <text>
<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_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">discussion</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span></span></span></pre>

<p>It requires the <code>color</code> package, and you need to define a color that will be used for the background. I used <code>\definecolor{myblue}{rgb}{0.8,0.8,1}</code>. (Readers of the wonderful Tikz Pgf manual will recognize this as the background color of the code blocks.) The strategy was simple&#8212;wrap a <code>minipage</code> in a box. The <code>minipage</code> environment defines, well, a small page:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="meta meta_function meta_function_environment meta_function_environment_general meta_function_environment_general_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_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">minipage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span><span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">[</span>position<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>width<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
  <text>
<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_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">minipage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span></span></span></pre>

<p>The <code>minipage</code> is wrapped in a box. Boxes are usually created by commands, but there is a box environment <code>lrbox</code>:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><span class="meta meta_function meta_function_environment meta_function_environment_general meta_function_environment_general_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_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">lrbox</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</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><cmd><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span>
    <text>
<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_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">lrbox</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</span></span></span></pre>

<p>The text within this environment is saved in the box <code>&lt;cmd&gt;</code>. Here is the <code>discussion</code> environment with all the bells and whistles.</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><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>makeatletter<span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>newenvironment</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>discussion<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</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="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>noindent</span><span class="meta meta_function meta_function_environment meta_function_environment_general meta_function_environment_general_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_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">lrbox</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</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>@tempboxa</span><span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span><span class="meta meta_function meta_function_environment meta_function_environment_general meta_function_environment_general_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_latex">{</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_latex">minipage</span><span class="punctuation punctuation_definition punctuation_definition_arguments punctuation_definition_arguments_latex">}</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>columnwidth</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>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="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>end</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>minipage<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>end</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>lrbox<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>
</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>colorbox</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>myblue<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>usebox</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>@tempboxa</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="support support_function support_function_general support_function_general_tex"><span class="punctuation punctuation_definition punctuation_definition_function punctuation_definition_function_tex">\</span>makeatother</span></span></span></span></span></pre>

<p>Here&#8217;s the gist:</p>

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

<p>(Sorry for the duplication, but embedded gists are not showing up in some news readers.)</p>

<p>Two comments. The initial <code>\noindent</code> is required otherwise the entire box will be indented&#8212;which would be awkward since the width of the <code>minipage</code> is set to the width of the column. Another issue is that there is no paragraph indentation within the <code>minipage</code> environment. In effect, within that environment, LaTeX sets <code>\parindent</code> to 0. This, however, can be overridden with the <code>\setlength</code> command:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><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></pre>

<p>Here is the result:
<a href="http://markelikalderon.com/wp-content/uploads/2009/01/discussion.jpg"><img src="http://markelikalderon.com/wp-content/uploads/2009/01/discussion.jpg" alt="Discussion Environment" title="discussion" width="597" height="790" class="size-full wp-image-634" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2009/01/25/on-a-need-to-know-basis/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The “Blog” of “Unnecessary” Quotation Marks</title>
		<link>http://markelikalderon.com/2009/01/18/the-%e2%80%9cblog%e2%80%9d-of-%e2%80%9cunnecessary%e2%80%9d-quotation-marks/</link>
		<comments>http://markelikalderon.com/2009/01/18/the-%e2%80%9cblog%e2%80%9d-of-%e2%80%9cunnecessary%e2%80%9d-quotation-marks/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 03:36:12 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Typography]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=623</guid>
		<description><![CDATA[More evidence of typographic rage: The “Blog” of “Unnecessary” Quotation Marks. I have posted on this phenomenon before, here, here, here, and here. Perhaps I need a new tag for this issue. However, it&#8217;s the difference wherein the interest lies. Unlike obsessing about straight versus typographic quotes this is more straightforwardly a &#8220;semantic&#8221; issue about [...]]]></description>
			<content:encoded><![CDATA[<p>More evidence of <a href="http://markelikalderon.com/blog/2008/03/15/typographic-rage-and-cognitive-therapy/">typographic rage</a>: <a href='http://quotation-marks.blogspot.com/'>The “Blog” of “Unnecessary” Quotation Marks</a>. I have posted on this phenomenon before, <a href="http://markelikalderon.com/blog/2008/03/13/zombies-are-dumb/">here</a>, <a href="http://markelikalderon.com/blog/2008/04/02/typographic-rage-redux/">here</a>, <a href="http://markelikalderon.com/blog/2008/07/17/typographic-snoot-gone-gangsta/">here</a>, and <a href="http://markelikalderon.com/blog/2008/08/19/real-men-dont-use-semicolons/">here</a>. Perhaps I need a new tag for this issue.</p>

<p>However, it&#8217;s the difference wherein the interest lies. Unlike <a href="http://apostropheatrophy.com/">obsessing</a> about straight versus typographic quotes this is more straightforwardly a &#8220;semantic&#8221; issue about the significance of embedding material within quotations. But the actual usage of quotation is quite <a href="http://markelikalderon.com/blog/2007/10/23/what-is-direct-quotation/">complex</a> as anyone familiar with the recent philosophical literature on quotation will attest. Far more complex than the simple semantics implicit in the charge of rampant use/mention conflation. Personally I abhor the use of quotation marks for emphasis, but the my distaste for it is simply that, distaste. It&#8217;s vulgar and largely confined to cheap marketing.</p>

<p>Semantic drift is a reality. Don&#8217;t fear change. It will only result in needless rage.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2009/01/18/the-%e2%80%9cblog%e2%80%9d-of-%e2%80%9cunnecessary%e2%80%9d-quotation-marks/feed/</wfw:commentRss>
		<slash:comments>2</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>Font Restrictions</title>
		<link>http://markelikalderon.com/2009/01/04/font-restrictions/</link>
		<comments>http://markelikalderon.com/2009/01/04/font-restrictions/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 18:45:06 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Academic Publishing]]></category>
		<category><![CDATA[Font]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[Typography]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=613</guid>
		<description><![CDATA[As I have remarked before, good typography does not merely have aesthetic virtue. Importantly, it has cognitive virtue as well. Good typesetting makes your work easier to understand. A good font is but one element of typesetting, and a font may be appropriate to one context but not others. Still, font choice is one of [...]]]></description>
			<content:encoded><![CDATA[<p>As I have remarked before, good typography does not merely have aesthetic virtue. Importantly, it has cognitive virtue as well. Good typesetting makes your work easier to understand. A good font is but one element of typesetting, and a font may be appropriate to one context but not others. Still, font choice is one of those important decisions in typesetting your documents that you are forced to make.</p>

<p>Legislation that has not kept abreast of changing technology can make the choice difficult.</p>

<p>As a philosopher, I write research papers, drafts of which are distributed on the web as PDFs. Open access to evolving research is important, and I am committed to it. Since I want to give my work the best chance of being understood, I take the time to properly typeset the PDFs with <a href="http://scripts.sil.org/xetex" title="The XeTeX typesetting system">XeLaTeX</a>. There is a problem, however, with distributing PDFs over the web.</p>

<p>PDF files can contain font information in a way that is easily extractable from the file. While the licensing of some type foundries allow embedded fonts in PDFs, many (especially smaller type foundries) do not. Indeed the ones that did probably did so at Adobe&#8217;s urging when PDF distribution on the web was relatively small and so not that great of a risk.</p>

<p>I would like to support small type foundries by buying their fonts. There are some brilliant type designers out there, and they should be rewarded. Unfortunately, since the main thing I want these fonts for is for web distributed PDFs, I can&#8217;t do that without violating licensing restrictions. And that&#8217;s not support.</p>

<p>There are of course open source fonts. Some of them are fine pieces of work. But the choice is limited, and important design decisions should not be so constrained.</p>

<p>DRM is not the answer, as the recent history of music distribution online sadly reveals.</p>

<p>I don&#8217;t know how to resolve this problem. It is partly technological, partly, legal. But I thought I would highlight for other academics who distribute their work online.</p>

<p>Upon finishing this post, I came across this <a href="http://www.letterror.com/content/embedding/index.html">essay</a> that has more information about the legal and technological obstacles with some discussion of potential solutions.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2009/01/04/font-restrictions/feed/</wfw:commentRss>
		<slash:comments>2</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>LaTeX TODO</title>
		<link>http://markelikalderon.com/2008/11/23/latex-todo/</link>
		<comments>http://markelikalderon.com/2008/11/23/latex-todo/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 02:19:19 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Text]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=576</guid>
		<description><![CDATA[The Problem One of the great features of using TextMate to produce LaTeX documents is the TODO Bundle. The TODO Bundle let&#8217;s you to insert TODOs into comments and display these in a nicely formatted HTML window with links to the lines where the TODOs occurred.12 There are two limitations with the TODO Bundle, however, [...]]]></description>
			<content:encoded><![CDATA[<h1>The Problem</h1>

<p>One of the great features of using <a href="http://macromates.com/" title="TextMate — The Missing Editor for Mac OS X">TextMate</a> to produce LaTeX documents is the TODO Bundle. The TODO Bundle let&#8217;s you to insert TODOs into comments and display these in a nicely formatted HTML window with links to the lines where the TODOs occurred.<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup><sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup></p>

<p>There are two limitations with the TODO Bundle, however, which made me look for an alternative (I still use the TODO Bundle, the alternative is merely a supplement):</p>

<ol>
<li>While I try to proof my documents as much as I can onscreen, sometimes I need to proofread the hardcopy. Proofreading hardcopy is easier, and any incremental decrease in distraction is a real boon in proofreading since it requires a lot of attention. </li>
<li>Suppose you are collaborating on a LaTeX document and your collaborator isn&#8217;t using TextMate. Of course, they can still follow the TODOs in the comments, but it would be great if these could be made more salient.</li>
</ol>

<h1>The Solution</h1>

<p>The solution to both of these problems is to use LaTeX to generate the TODO list for you. To do this, I used the <a href="http://tug.ctan.org/tex-archive/macros/latex/contrib/index/">index package</a>. The index package reimplements the internal LaTeX index macros adding functionality. Of particular interest is its support for multiple indexes. Add the following to your preamble:</p>

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

<p>The first line loads the <code>color</code> package (since our TODOs will be colored to make them stand out from the surrounding text). The second line loads the <code>index</code> package. The next two lines:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><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>newindex</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>todo<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>tod<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>tnd<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>TODO List<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> start todo list
</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>newindex</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>fixme<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>fix<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>fnd<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>FIXME List<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> start fixme list</span></span></pre>

<p>define two indexes. The <code>\newindex</code> command takes four arguments. These arguments correspond to the four pieces of information required to generate the index:</p>

<ol>
<li>A short, unique tag that identifies the index. </li>
<li>The extension of the output file where the raw index information will be put 
by LaTeX. </li>
<li>The extension of the input file where the processed information created by 
MakeIndex will be stored to be read in later by LaTeX. </li>
<li>The title of the index. </li>
</ol>

<p>The next two lines:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><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="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>todo</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>1<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>textcolor</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>blue<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>TODO: #1<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>index</span><span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">[</span>todo<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>#1<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> macro for todo entries
</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="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>fixme</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>1<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>textcolor</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>red<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>FIXME: #1<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>index</span><span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">[</span>fixme<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>#1<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> macro for fixme entries</span></span></pre>

<p>define two new commands: <code>\todo</code> and <code>fixme</code>. To add a TODO simply add the following at the appropriate place in the text:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><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>todo</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>My TODO entry<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}</span></span></span></pre>

<p>Similarly, for FIXMEs.</p>

<p>New commands can be added on a similar pattern. So, for example, suppose you want to add a CHANGE command. To do this, be sure to also define a new index:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><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>newindex</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>change<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>chg<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>cnd<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>CHANGE List<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> start change list
</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="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>change</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>1<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>textcolor</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>green<span class="punctuation punctuation_section punctuation_section_group punctuation_section_group_tex">}{</span>CHANGE: #1<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>index</span><span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">[</span>change<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>#1<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> macro for change entries</span></span></pre>

<p>Notice, that the commands are color coded, so be sure to change the color. Since the previous two commands were blue and red, I made the CHANGE command green.</p>

<p>If you want to generate a list of the TODOs, FIXMEs, etc, at the end of your document you need to use the <code>\printindex</code> command. This takes as an option the name of the index, so for TODOs and FIXMEs we would use:</p>

<pre class="textmate-source"><span class="text text_tex text_tex_latex"><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>printindex</span><span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">[</span>todo<span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_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>printindex</span><span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">[</span>change<span class="punctuation punctuation_definition punctuation_definition_brackets punctuation_definition_brackets_tex">]</span></span></pre>

<p>Before we typeset these indexes, we need to run the <code>makeindex</code> command. Suppose that the name of your LaTeX document is <code>foo.tex</code>. Then, in the terminal we would run:</p>

<pre class="textmate-source"><span class="source source_shell">$ makeindex -o foo.tnd foo.tod
$ makeindex -o foo.fnd foo.fix</span></pre>

<p>The <code>-o</code> option is used to specify the name of the file generated by <code>makeindex</code> that is used, in turn, by LaTeX to typeset the index. Having run <code>makeindex</code>, if we now typeset the document, the indexes will be printed at the end of the document after a pagebreak. And if you are using the <code>hyperref</code> package, these will have links to the pages where the TODOs and FIXMEs are inserted. This step can be automated with a makefile such as <code>Latexmk.pl</code>.</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p><a href="http://warpspire.com/tipsresources/web-production/using-textmates-todo-bundle/">http://warpspire.com/tipsresources/web-production/using-textmates-todo-bundle/</a>&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:2">
<p><a href="http://www.bitwiese.de/2007/04/ignoring-folders-with-todo-bundle-in.html">http://www.bitwiese.de/2007/04/ignoring-folders-with-todo-bundle-in.html</a>&#160;<a href="#fnref:2" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/11/23/latex-todo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iPhone Blogging</title>
		<link>http://markelikalderon.com/2008/11/19/iphone-blogging/</link>
		<comments>http://markelikalderon.com/2008/11/19/iphone-blogging/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 02:16:34 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/11/19/iphone-blogging/</guid>
		<description><![CDATA[Would you really want to blog from your iPhone? While Twitter apps really come into their own on mobile devices, blogging is a longer form not well suited for text input on an iPhone. Nevertheless, part of me is glad that it can be done. This post is being written on my iPhone thanks to [...]]]></description>
			<content:encoded><![CDATA[<p>Would you really want to blog from your iPhone? While Twitter apps really come into their own on mobile devices, blogging is a longer form not well suited for text input on an iPhone. Nevertheless, part of me is glad that it can be done. This post is being written on my iPhone thanks to the WordPress app. It seems well designed, but, you know, I need a keyboard for my thoughts to flow. So I can&#8217;t say that I will be doing this too often. I miss my text editor too much and the power it invests in me.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/11/19/iphone-blogging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Progress</title>
		<link>http://markelikalderon.com/2008/11/09/progress/</link>
		<comments>http://markelikalderon.com/2008/11/09/progress/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 21:15:25 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Text]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=568</guid>
		<description><![CDATA[Git commits by day and hour on the Philosophy BibTeX project. Been working on some scripts to clean up the BibTeX file, to normalize cite keys, to render consistent author and journal names, to strip out local URLs, etc. So look forward to a new development branch and a directory of utilities.]]></description>
			<content:encoded><![CDATA[<p>Git commits by day and hour on the <a href="http://github.com/PhilGeek/bib/tree/master">Philosophy BibTeX project</a>.</p>

<p><a href="http://markelikalderon.com/wp-content/uploads/2008/11/chart.png"><img src="http://markelikalderon.com/wp-content/uploads/2008/11/chart.png" alt="" title="chart" width="500" height="187" class="alignnone size-full wp-image-569" /></a></p>

<p>Been working on some scripts to clean up the BibTeX file, to normalize cite keys, to render consistent author and journal names, to strip out local URLs, etc. So look forward to a new development branch and a directory of utilities.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/11/09/progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Donald Knuth no Ringo Starr</title>
		<link>http://markelikalderon.com/2008/10/31/donald-knuth-no-ringo-starr/</link>
		<comments>http://markelikalderon.com/2008/10/31/donald-knuth-no-ringo-starr/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 21:02:45 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[TeX]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/10/31/donald-knuth-no-ringo-starr/</guid>
		<description><![CDATA[Donald Knuth is renowned for offering a bounty for bugs found in TeX. Many of these checks remain forever uncashed, the recipients rightly regarding the signed check an honor greater than the money it represents. Sadly, this practice has come to an end. No Donald Kuth has not died, nor is he, like Ringo Starr, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www-cs-staff.stanford.edu/~uno/" title="Don Knuth's Home Page">Donald Knuth</a> is renowned for offering a bounty for bugs found in <a href="http://en.wikipedia.org/wiki/TeX" title="TeX - Wikipedia, the free encyclopedia">TeX</a>. Many of these checks remain forever uncashed, the recipients rightly regarding the signed check an honor greater than the money it represents. Sadly, this practice has come to an end. No Donald Kuth has not died, nor is he, like Ringo Starr, refusing to respond further to inquiries. Rather, the relative ease of financial fraud and the fact that he has been the victim of such fraud has forced him to give way to prudence and <a href="http://www-cs-faculty.stanford.edu/~knuth/news08.html">end the tradition</a>. The bounty still exists, but signed checks will no longer be forthcoming.</p>

<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/pUsBqDfnIzk&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/pUsBqDfnIzk&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/10/31/donald-knuth-no-ringo-starr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Book Search</title>
		<link>http://markelikalderon.com/2008/10/29/google-book-search/</link>
		<comments>http://markelikalderon.com/2008/10/29/google-book-search/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 03:04:36 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Academic Publishing]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=565</guid>
		<description><![CDATA[Google Book Search, a surprisingly controversial if welcome Google app, has reached a ground breaking settlement. See here. A highlight: US users&#8212;alas not me, an expatriate American&#8212;will have access to out of print but not out of copyright books as well as the ability to buy these. Of course there is more. See also the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://books.google.com/" title="Google Book Search">Google Book Search</a>, a surprisingly controversial if welcome Google app, has reached a ground breaking settlement. See <a href="http://www.google.com/intl/en/press/pressrel/20081027_booksearchagreement.html">here</a>. A highlight: US users&#8212;alas not me, an expatriate American&#8212;will have access to out of print but not out of copyright books as well as the ability to buy these. Of course there is more. See also the Google <a href="http://googleblog.blogspot.com/2008/10/new-chapter-for-google-book-search.html">blog</a>. Google Book Search has been a tremendous boon for scholars. Even though the preview has been crippled (something that will improve under the new agreement), just being able to get a glimpse at some material has been a real benefit. This is huge. We can only hope that this is but a first step to wider access to our literary heritage.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/10/29/google-book-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Akismet Stats</title>
		<link>http://markelikalderon.com/2008/10/20/akismet-stats/</link>
		<comments>http://markelikalderon.com/2008/10/20/akismet-stats/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 11:23:18 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=562</guid>
		<description><![CDATA[Akismet, Matt Mullenweg&#8217;s anti-spam WordPress plugin, now provides statistics. These statistics are displayed in useful graphics. In checking them out, I was struck by the following graph: That&#8217;s a sharp downturn in spam. I know that this is a little read technical blog by an academic, but there has been no corresponding downturn in traffic [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://akismet.com/">Akismet</a>, Matt Mullenweg&#8217;s anti-spam WordPress plugin, now provides statistics. These statistics are displayed in useful graphics. In checking them out, I was struck by the following graph:</p>

<img src="http://markelikalderon.com/wp-content/uploads/2008/10/spam.gif" alt="Spam Graph" title="spam" width="500" height="135" class="size-full wp-image-563" />

<p>That&#8217;s a sharp downturn in spam. I know that this is a little read technical blog by an academic, but there has been no corresponding downturn in traffic that would explain this. Could times be tough, not only for investment bankers, but for spammers as well?</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/10/20/akismet-stats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Naming Tabs in Leopard Terminal</title>
		<link>http://markelikalderon.com/2008/10/20/naming-tabs-in-leopard-terminal/</link>
		<comments>http://markelikalderon.com/2008/10/20/naming-tabs-in-leopard-terminal/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 01:05:05 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Text]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=558</guid>
		<description><![CDATA[Leopard&#8217;s terminal was a huge improvement, but issues remain. One of the welcome additions to the terminal was tabs, but there is no way to name them. With a number of tabs open, this can make navigation tedious. If only there were a convenient way to name tabs. Thanks to Erik Anderson there is. Terminal.app [...]]]></description>
			<content:encoded><![CDATA[<p>Leopard&#8217;s terminal was a huge improvement, but issues remain. One of the welcome additions to the terminal was tabs, but there is no way to name them. With a number of tabs open, this can make navigation tedious. If only there were a convenient way to name tabs. Thanks to <a href="http://ericanderson.us/2008/03/02/terminalapp-tab-namer-v01-alpha/">Erik Anderson</a> there is. Terminal.app Tab Namer is a SIMBL plugin that allows you to assign a name to an open tab with command-shift-T. Just install the plugin in <code>/Library/Application Support/SIMBL/Plugins</code>.</p>

<img src="http://markelikalderon.com/wp-content/uploads/2008/10/tabsinleopard.gif" alt="Tabs in Leopard" title="tabs" width="500" height="109" class="size-full wp-image-560" />
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/10/20/naming-tabs-in-leopard-terminal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GMU drops Endnote Support</title>
		<link>http://markelikalderon.com/2008/10/12/gmu-drops-endnote-support/</link>
		<comments>http://markelikalderon.com/2008/10/12/gmu-drops-endnote-support/#comments</comments>
		<pubDate>Sun, 12 Oct 2008 18:06:40 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Bibliography]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/?p=555</guid>
		<description><![CDATA[In what is widely regarded as a nuisance suit, Thomson Reuters, the maker of Endnote, is suing GMU for their support in developing the open source bibliographic software Zotero. For more on the controversy see here, here, and here. In a recent announcement, GMU reports that they will be dropping their Endnote license: With litigation [...]]]></description>
			<content:encoded><![CDATA[<p>In what is widely regarded as a nuisance suit, Thomson Reuters, the maker of Endnote, is suing GMU for their support in developing the open source bibliographic software <a href="http://www.zotero.org/" title="Zotero: The Next-Generation Research Tool">Zotero</a>. For more on the controversy see <a href="http://madisonian.net/2008/09/28/endnote-v-zotero/">here</a>, <a href="http://crookedtimber.org/2008/09/30/gmu-sued-for-zotero/">here</a>, and <a href="http://yro.slashdot.org/article.pl?sid=08/09/27/2113248">here</a>.</p>

<p>In a recent <a href="http://timesync.gmu.edu/wordpress/?p=793">announcement</a>, GMU reports that they will be dropping their Endnote license:</p>

<blockquote>
  <p>With litigation pending between Thomson and Mason, we’re letting our campus site license for EndNote expire at the end of November. When it lapses, any copy of EndNote that was downloaded and installed under the terms of that license will have to be uninstalled and removed.</p>
</blockquote>

<p>In addition, GMU has provided a helpful <a href="http://citationmigration.gmu.edu/">website</a> explaining how to migrate from Endnote to Zotero.</p>

<p>This disturbing incident is further evidence, if evidence were needed, of the perils of keeping your data in propriety formats. Keeping your data in formats that comply with open standards is really the only guaranteed way to control and reliably share your data.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/10/12/gmu-drops-endnote-support/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>SyncTeX: Why it Matters</title>
		<link>http://markelikalderon.com/2008/09/11/synctex-why-it-matters/</link>
		<comments>http://markelikalderon.com/2008/09/11/synctex-why-it-matters/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 01:07:48 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[XeTeX]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/09/11/synctex-why-it-matters/</guid>
		<description><![CDATA[One of the features of MacTeX 2008 that I was looking forward to was its inclusion of SyncTeX, Jerome Laurens replacement for pdfsync. There are two ways to call SyncTeX, from the command line and in source. From the command line simply use the argument -synctex=1, and from source include \synctex=1 in the preamble. The [...]]]></description>
			<content:encoded><![CDATA[<p>One of the features of MacTeX 2008 that I was looking forward to was its inclusion of <a href="http://itexmac.sourceforge.net/SyncTeX.html">SyncTeX</a>, Jerome Laurens replacement for pdfsync.</p>

<p>There are two ways to call SyncTeX, from the command line and in source. From the command line simply use the argument <code>-synctex=1</code>, and from source include <code>\synctex=1</code> in the preamble. The former may be preferable if you want to distribute your LaTeX source&#8212;that way it will run without errors even by those whose TeX distributions do not include SyncTeX support.</p>

<p>Here is how synchronization worked with pdfsync. A word in your source is associated with a file name and a line number where it occurs. The file name and line number together constituted the input record. That same word as it occurs in the pdf generated from the source is associated with a page number and a location on that page. Together these constituted the output record. Synchronization was achieved by linking the input record with the output record. Moreover this was done by assigning each of these records with a unique tag. This was necessary since while the TeX engine will place a word in the source on some page in the generated pdf and on some location on that page, by the time it has done this, it has &#8220;forgotten&#8221; the file name and line number. Unique tags were thus required to preserve this information for synchronization. These tags were stored in special data nodes in every pargraph, math display, etc.</p>

<p>There were three problems, however, with this synchronization solution:</p>

<ol>
<li>The data nodes used by pdfsync could interfere with TeX&#8217;s line breaking mechanism and thus affect the layout of the page.</li>
<li>pdfsync was incompatible with certain LaTeX packages. While some could be rewritten to accommodate pdfsync, others could not.</li>
<li>The mapping from the input record to the output record was not one-one, but one-many. So developers of pdf viewers supporting pdfsync had to choose the right mapping from the input record to the output record, and this was not always easy to do.</li>
</ol>

<p>Instead of using special data notes, SyncTeX exploits kern nodes and glue nodes that are determined early on in TeX&#8217;s processing of the source to track the location of a word in the pdf output.</p>

<p>Another advantage of SyncTeX over pdfsync is that SyncTeX also supports dvi and xdv outputs (not that useful for me, but your situation may differ).</p>

<p>The TeXLive distribution, which MacTeX is built upon, is the first implementation of SyncTeX, and both PdfTeX and XeTeX in TeXLive now have SyncTeX support embedded deep within these TeX engines.</p>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/09/11/synctex-why-it-matters/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Philosophy and Microblogging</title>
		<link>http://markelikalderon.com/2008/09/02/philosophy-and-microblogging/</link>
		<comments>http://markelikalderon.com/2008/09/02/philosophy-and-microblogging/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 04:35:11 +0000</pubDate>
		<dc:creator>Mark Eli Kalderon</dc:creator>
				<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Text]]></category>

		<guid isPermaLink="false">http://markelikalderon.com/blog/2008/09/02/philosophy-and-microblogging/</guid>
		<description><![CDATA[Ryan Paul in an Ars Technica article, Byte-sized stories: Twittering a tiny tale, wonders about philosophy and microblogging: Microblogging can clearly work with fiction, but what about more substantive works, like philosophical treatises? In a moment of intoxication inspiration, I came up with a quick Python one-liner1 to compute how many lines in an English [...]]]></description>
			<content:encoded><![CDATA[<p>Ryan Paul in an <a href="http://arstechnica.com/" title="Ars Technica">Ars Technica</a> article, <a href="http://arstechnica.com/news.ars/post/20080901-byte-sized-stories-twittering-a-tiny-tale.html">Byte-sized stories: Twittering a tiny tale</a>, wonders about philosophy and microblogging:</p>

<blockquote>
  <p>Microblogging can clearly work with fiction, but what about more substantive works, like philosophical treatises? In a moment of intoxication inspiration, I came up with a quick Python one-liner<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> to compute how many lines in an English translation of Ludwig Wittgenstein&#8217;s celebrated &#8220;Tractatus Logico-Philosophicus&#8221; are 140 characters in length or less. I discovered that a bit under half of the lines are short enough to be Twittered (and, as the philosopher would say, what we cannot Twitter, we must pass over in silence).</p>
</blockquote>

<p>In my own case, twittering philosophy has so far wholly consisted in mocking philosophers, gossiping about them, and git commit messages, thanks to <a href="http://github.com/" title="Secure Git hosting and collaborative development &mdash; GitHub">GitHub</a>&#8217;s service hooks. Perhaps others can offer tweets with more substantive philosophical content. After all, aphorism is not unknown to philosophy&#8212;the pre-Socratics and Nietzsche come to mind. For now, teh interwebs await a latter day Heraclitus.</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>The Python-one liner: <code>len([l.strip() for l in open("tractatus.txt").readlines() if len(l.strip()) &lt;= 140 and l.strip() != ""])</code>&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://markelikalderon.com/2008/09/02/philosophy-and-microblogging/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
