<?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>Voder-Vocoder</title>
	<atom:link href="http://halcanary.org/vv/feed/" rel="self" type="application/rss+xml" />
	<link>http://halcanary.org/vv</link>
	<description>The Log of Hal Canary</description>
	<lastBuildDate>Tue, 11 Jun 2013 18:56:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>spiral</title>
		<link>http://halcanary.org/vv/2013/06/11/1322/</link>
		<comments>http://halcanary.org/vv/2013/06/11/1322/#comments</comments>
		<pubDate>Tue, 11 Jun 2013 18:00:34 +0000</pubDate>
		<dc:creator>Hal Canary</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://halcanary.org/vv/?p=1322</guid>
		<description><![CDATA[cat &#62; spiral.ps &#60;&#60;EOF %! 300 300 translate newpath 3 0 2 copy moveto 604 { 5 add exch 1.01 mul exch 2 copy cos mul 3 copy pop sin mul lineto } repeat stroke showpage EOF]]></description>
			<content:encoded><![CDATA[<pre>
cat &gt; spiral.ps &lt;&lt;EOF
<span class="comment">%!</span>
<span class="variable">300</span><span class="normal"> </span><span class="variable">300</span><span class="normal"> </span><span class="keyword">translate</span><span class="normal"> </span><span class="keyword">newpath</span><span class="normal"> </span><span class="variable">3</span><span class="normal"> </span><span class="variable">0</span><span class="normal"> </span><span class="variable">2</span><span class="normal"> </span><span class="keyword">copy</span><span class="normal"> </span><span class="keyword">moveto</span><span class="normal"> </span><span class="variable">604</span><span class="normal"> </span><span class="symbol">{</span>
<span class="variable">5</span><span class="normal"> </span><span class="keyword">add</span><span class="normal"> </span><span class="keyword">exch</span><span class="normal"> </span><span class="variable">1</span><span class="normal">.</span><span class="variable">01</span><span class="normal"> </span><span class="keyword">mul</span><span class="normal"> </span><span class="keyword">exch</span><span class="normal"> </span><span class="variable">2</span><span class="normal"> </span><span class="keyword">copy</span><span class="normal"> </span><span class="keyword">cos</span><span class="normal"> </span><span class="keyword">mul</span><span class="normal"> </span><span class="variable">3</span><span class="normal"> </span><span class="keyword">copy</span><span class="normal"> </span><span class="keyword">pop</span>
<span class="keyword">sin</span><span class="normal"> </span><span class="keyword">mul</span><span class="normal"> </span><span class="keyword">lineto</span><span class="normal"> </span><span class="symbol">}</span><span class="normal"> </span><span class="keyword">repeat</span><span class="normal"> </span><span class="keyword">stroke</span><span class="normal"> </span><span class="keyword">showpage</span>
EOF
</pre>
]]></content:encoded>
			<wfw:commentRss>http://halcanary.org/vv/2013/06/11/1322/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>packages</title>
		<link>http://halcanary.org/vv/2013/05/23/1320/</link>
		<comments>http://halcanary.org/vv/2013/05/23/1320/#comments</comments>
		<pubDate>Thu, 23 May 2013 17:53:49 +0000</pubDate>
		<dc:creator>Hal Canary</dc:creator>
				<category><![CDATA[Computers & Code]]></category>

		<guid isPermaLink="false">http://halcanary.org/vv/?p=1320</guid>
		<description><![CDATA[Bash user? Be sure to install and use the package bash-completion. Write a lot of code? Don&#8217;t forget source-highlight # add to .bashrc if command -v source-highlight &#62; /dev/null ; then source-highlight-less() { [ $# -eq 0 ] &#38;&#38; { echo "args?" &#62;&#38;2; return 1; } for FILE ; do if [ -f "$FILE" ] [...]]]></description>
			<content:encoded><![CDATA[<p>Bash user?  Be sure to install and use the package <code>bash-completion</code>.</p>
<p>Write a lot of code?  Don&#8217;t forget <code>source-highlight </code></p>
<pre><span class="comment"># add to .bashrc</span>
<span class="keyword">if</span><span class="normal"> </span><span class="keyword">command</span><span class="normal"> -v source-highlight </span><span class="symbol">&gt;</span><span class="normal"> /dev/null </span><span class="symbol">;</span><span class="normal"> </span><span class="keyword">then</span>
<span class="normal">source-highlight-less</span><span class="symbol">()</span><span class="normal"> {</span>
<span class="normal">    </span><span class="symbol">[</span><span class="normal"> </span><span class="variable">$#</span><span class="normal"> -eq </span><span class="number">0</span><span class="normal"> </span><span class="symbol">]</span><span class="normal"> </span><span class="symbol">&amp;&amp;</span><span class="normal"> { echo </span><span class="string">"args?"</span><span class="normal"> </span><span class="symbol">&gt;&amp;</span><span class="number">2</span><span class="symbol">;</span><span class="normal"> </span><span class="keyword">return</span><span class="normal"> </span><span class="number">1</span><span class="symbol">;</span><span class="normal"> }</span>
<span class="normal">    </span><span class="keyword">for</span><span class="normal"> FILE </span><span class="symbol">;</span><span class="normal"> </span><span class="keyword">do</span>
<span class="normal">        </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">[</span><span class="normal"> -f </span><span class="string">"$FILE"</span><span class="normal"> </span><span class="symbol">]</span><span class="normal"> </span><span class="symbol">;</span><span class="normal"> </span><span class="keyword">then</span>
<span class="normal">            source-highlight -i </span><span class="string">"$FILE"</span><span class="normal"> -fesc</span>
<span class="normal">        </span><span class="keyword">else</span>
<span class="normal">            echo </span><span class="string">"${FILE} does not exist"</span><span class="normal"> </span><span class="symbol">&gt;&amp;</span><span class="number">2</span>
<span class="normal">        </span><span class="keyword">fi</span>
<span class="normal">    </span><span class="keyword">done</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> less -R -x</span><span class="variable">${TAB:-8}</span>
<span class="normal">}</span>
<span class="function">source_to_html()</span><span class="normal"> {</span>
<span class="normal">    </span><span class="symbol">[</span><span class="normal"> </span><span class="variable">$#</span><span class="normal"> -eq </span><span class="number">0</span><span class="normal"> </span><span class="symbol">]</span><span class="normal"> </span><span class="symbol">&amp;&amp;</span><span class="normal"> { echo </span><span class="string">"args?"</span><span class="normal"> </span><span class="symbol">&gt;&amp;</span><span class="number">2</span><span class="symbol">;</span><span class="normal"> </span><span class="keyword">return</span><span class="normal"> </span><span class="number">1</span><span class="symbol">;</span><span class="normal"> }</span>
<span class="normal">    </span><span class="keyword">for</span><span class="normal"> FILE </span><span class="symbol">;</span><span class="normal"> </span><span class="keyword">do</span>
<span class="normal">        </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">[</span><span class="normal"> -f </span><span class="string">"$FILE"</span><span class="normal"> </span><span class="symbol">]</span><span class="normal"> </span><span class="symbol">;</span><span class="normal"> </span><span class="keyword">then</span>
<span class="normal">            source-highlight -i </span><span class="string">"$FILE"</span><span class="normal"> -fhtml-css</span>
<span class="normal">        </span><span class="keyword">else</span>
<span class="normal">            echo </span><span class="string">"${FILE} does not exist"</span><span class="normal"> </span><span class="symbol">&gt;&amp;</span><span class="number">2</span>
<span class="normal">        </span><span class="keyword">fi</span>
<span class="normal">    </span><span class="keyword">done</span><span class="normal"> </span><span class="symbol">|</span><span class="normal"> expand -t </span><span class="variable">${TAB:-8}</span>
<span class="normal">}</span>
<span class="keyword">fi</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://halcanary.org/vv/2013/05/23/1320/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VTKViewer</title>
		<link>http://halcanary.org/vv/2013/04/27/1312/</link>
		<comments>http://halcanary.org/vv/2013/04/27/1312/#comments</comments>
		<pubDate>Sat, 27 Apr 2013 18:30:21 +0000</pubDate>
		<dc:creator>Hal Canary</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://halcanary.org/vv/?p=1312</guid>
		<description><![CDATA[VTKViewer]]></description>
			<content:encoded><![CDATA[<p><a href="https://github.com/HalCanary/vtkviewer">VTKViewer</a><br />
<img src="http://halcanary.org/images/barbell.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://halcanary.org/vv/2013/04/27/1312/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Surface Viewing</title>
		<link>http://halcanary.org/vv/2013/04/20/1305/</link>
		<comments>http://halcanary.org/vv/2013/04/20/1305/#comments</comments>
		<pubDate>Sun, 21 Apr 2013 00:00:26 +0000</pubDate>
		<dc:creator>Hal Canary</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Computers & Code]]></category>

		<guid isPermaLink="false">http://halcanary.org/vv/?p=1305</guid>
		<description><![CDATA[In the class I am sitting in on this semester &#8211; Visual Solid Shape, we use a piece of software called shapemonger. I wanted to get a better view at monge patch (a surface defined by (x,y,f(x,y)) so I wrote a little Python-VTK program to generate a vtkPolyData of the surface. #!/usr/bin/vtkpython import vtk function [...]]]></description>
			<content:encoded><![CDATA[<p>In the class I am sitting in on this semester &#8211; <a href="http://www.cs.unc.edu/Admin/Courses/descriptions/257.html">Visual Solid Shape</a>, we use a piece of software called <a href="http://andrewthall.org/papers/draft7_7Feb05.pdf">shapemonger</a>.</p>
<p>I wanted to get a better view at monge patch (a surface defined by (<em>x</em>,<em>y</em>,<em>f</em>(<em>x</em>,<em>y</em>)) so I wrote a little Python-VTK program to generate a vtkPolyData of the surface.</p>
<pre><span class="comment">#!/usr/bin/vtkpython</span>
<span class="keyword">import</span> <span class="variable">vtk</span>

<span class="variable">function</span> = <span class="keyword">lambda</span> <span class="variable">x</span>,<span class="variable">y</span>: <span class="variable">x</span>**<span class="number">2</span> - <span class="variable">y</span>**<span class="number">2</span>
<span class="variable">outputName</span> = <span class="string">&#0039;/tmp/monge.vtp&#0039;</span>
<span class="variable">resolution</span> = <span class="number">50</span>
<span class="variable">xmin</span>, <span class="variable">xmax</span> = -<span class="number">1.0</span>, <span class="number">1.0</span>
<span class="variable">ymin</span>, <span class="variable">ymax</span> = -<span class="number">1.0</span>, <span class="number">1.0</span>

<span class="comment">######</span>
<span class="variable">polyData</span> = <span class="variable">vtk</span>.<span class="variable">vtkPolyData</span>()
<span class="variable">points</span> = <span class="variable">vtk</span>.<span class="variable">vtkPoints</span>()
<span class="variable">index</span> = <span class="number">0</span>
<span class="variable">cells</span> = <span class="variable">vtk</span>.<span class="variable">vtkCellArray</span>()
<span class="keyword">def</span> <span class="identifier">makeQuad</span>(<span class="parameter">cells</span>,<span class="parameter">a</span>,<span class="parameter">b</span>,<span class="parameter">c</span>,<span class="parameter">d</span>):
    <span class="variable">cells</span>.<span class="variable">InsertNextCell</span>(<span class="number">4</span>)
    <span class="variable">cells</span>.<span class="variable">InsertCellPoint</span>(<span class="variable">a</span>)
    <span class="variable">cells</span>.<span class="variable">InsertCellPoint</span>(<span class="variable">b</span>)
    <span class="variable">cells</span>.<span class="variable">InsertCellPoint</span>(<span class="variable">c</span>)
    <span class="variable">cells</span>.<span class="variable">InsertCellPoint</span>(<span class="variable">d</span>)
<span class="keyword">for</span> <span class="variable">i</span> <span class="keyword">in</span> <span class="variable">xrange</span>(<span class="variable">resolution</span>):
    <span class="variable">x</span> = <span class="variable">xmin</span> + (<span class="variable">xmax</span>-<span class="variable">xmin</span>) * <span class="variable">i</span> / <span class="variable">float</span>(<span class="variable">resolution</span> - <span class="number">1</span>)
    <span class="keyword">for</span> <span class="variable">j</span> <span class="keyword">in</span> <span class="variable">xrange</span>(<span class="variable">resolution</span>):
        <span class="variable">y</span> = <span class="variable">ymin</span> + (<span class="variable">ymax</span> - <span class="variable">ymin</span>) * <span class="variable">j</span> / <span class="variable">float</span>(<span class="variable">resolution</span> - <span class="number">1</span>)
        <span class="variable">points</span>.<span class="variable">InsertPoint</span>(<span class="variable">index</span>, <span class="variable">x</span>,<span class="variable">y</span>,<span class="variable">function</span>(<span class="variable">x</span>,<span class="variable">y</span>))
        <span class="keyword">if</span> (<span class="variable">i</span> &gt; <span class="number">0</span>) <span class="keyword">and</span> (<span class="variable">j</span> &gt; <span class="number">0</span>):
            <span class="variable">makeQuad</span>(
                <span class="variable">cells</span>,<span class="variable">index</span>,<span class="variable">index</span>-<span class="variable">resolution</span>,
                <span class="variable">index</span>-<span class="variable">resolution</span>-<span class="number">1</span>,<span class="variable">index</span>-<span class="number">1</span>)
        <span class="variable">index</span> += <span class="number">1</span>
<span class="variable">polyData</span>.<span class="variable">SetPoints</span>(<span class="variable">points</span>)
<span class="variable">polyData</span>.<span class="variable">SetPolys</span>(<span class="variable">cells</span>)
<span class="variable">writer</span> = <span class="variable">vtk</span>.<span class="variable">vtkXMLPolyDataWriter</span>()
<span class="variable">writer</span>.<span class="variable">SetInput</span>(<span class="variable">polyData</span>)
<span class="variable">writer</span>.<span class="variable">SetFileName</span>(<span class="variable">outputName</span>)
<span class="variable">writer</span>.<span class="variable">Write</span>()
<span class="keyword">print</span> <span class="string">&#0039;wrote to&#0039;</span>, <span class="variable">outputName</span></pre>
<p>The surface can be viewed in Paraview or <a href="https://github.com/HalCanary/vtkviewer">vtkviewer</a>.<br />
<img src="http://halcanary.org/images/vtkviewer0.png" alt="[]"/><br />
To make this surface look better, calculate the normals.  The (unnormalized) normal direction is (&#0045;&part;f/&part;x,&#0045;&part;f/&part;y,1).</p>
<pre>
.......
def partial(func,v,i):
    epsilon = 5e&#0045;7
    def f(v,i,d):
        return v[:i] + [v[i] + d] + v[(i+1):]
    return ( (1.0 / 12.0) * func(*f(v,i,&#0045;2*epsilon)) +
             (&#0045;2.0 / 3.0) * func(*f(v,i,&#0045;1*epsilon)) +
             ( 2.0 / 3.0) * func(*f(v,i,+1*epsilon)) +
             (&#0045;1.0 /12.0) * func(*f(v,i,+2*epsilon))
              ) / epsilon
def makenormal(func,x,y):
    n = 045;partial(func,[x,y],0),&#0045;partial(func,[x,y],1),1.0)
    f = 1.0 / math.sqrt(sum(x**2 for x in n))
    return tuple(f * x for x in n)
.......
normals = vtk.vtkDoubleArray()
normals.SetNumberOfComponents(3)
normals.SetNumberOfTuples(resolution**2)
.......
        .......
        normals.InsertTupleValue(index, makenormal(function,x,y))
        .......
.......
polyData.GetPointData().SetNormals(normals)
.......
</pre>
<p><img src="http://halcanary.org/images/vtkviewer.png" alt="[]"/></p>
]]></content:encoded>
			<wfw:commentRss>http://halcanary.org/vv/2013/04/20/1305/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>reading</title>
		<link>http://halcanary.org/vv/2012/08/23/1302/</link>
		<comments>http://halcanary.org/vv/2012/08/23/1302/#comments</comments>
		<pubDate>Thu, 23 Aug 2012 15:32:34 +0000</pubDate>
		<dc:creator>Hal Canary</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://halcanary.org/vv/?p=1302</guid>
		<description><![CDATA[The Architecture of Open Source Applications]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.aosabook.org/en/">The Architecture of Open Source Applications</a></p>
]]></content:encoded>
			<wfw:commentRss>http://halcanary.org/vv/2012/08/23/1302/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Legislative Procedure Via Git</title>
		<link>http://halcanary.org/vv/2012/08/10/1297/</link>
		<comments>http://halcanary.org/vv/2012/08/10/1297/#comments</comments>
		<pubDate>Sat, 11 Aug 2012 01:17:58 +0000</pubDate>
		<dc:creator>Hal Canary</dc:creator>
				<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://halcanary.org/vv/?p=1297</guid>
		<description><![CDATA[Each member of a legislature has a set of public git repositories; each repository is a proposed law. A legislator can &#8220;vote&#8221; for any commit in one of his or someone else&#8217;s repos by digitally signing the commit&#8217;s hash. As soon as a particular version of a law (in the form of a particular commit) [...]]]></description>
			<content:encoded><![CDATA[<p> Each member of a legislature has a set of public git repositories; each repository is a proposed law.  A legislator can &#8220;vote&#8221; for any commit in one of his or someone else&#8217;s repos by digitally signing the commit&#8217;s hash.  As soon as a particular version of a law (in the form of a particular commit) has 50%+1 of the legislator&#8217;s signatures, it is passed.</p>
<p>Why do I want this?  git blame.</p>
]]></content:encoded>
			<wfw:commentRss>http://halcanary.org/vv/2012/08/10/1297/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>taxes</title>
		<link>http://halcanary.org/vv/2012/07/20/1295/</link>
		<comments>http://halcanary.org/vv/2012/07/20/1295/#comments</comments>
		<pubDate>Fri, 20 Jul 2012 14:23:43 +0000</pubDate>
		<dc:creator>Hal Canary</dc:creator>
				<category><![CDATA[Economics]]></category>

		<guid isPermaLink="false">http://halcanary.org/vv/?p=1295</guid>
		<description><![CDATA[Re Six Policies Economists Love And Politicians Hate: I&#8217;ve been saying things like this for some time. My only caveat is that it is important to keep both the income tax and the earned income tax credit to keep the system progressive. If the consumption tax is high enough, we could limit the income/payroll tax [...]]]></description>
			<content:encoded><![CDATA[<p>Re  <a href="http://www.npr.org/blogs/money/2012/07/19/157047211/six-policies-economists-love-and-politicians-hate">Six Policies Economists Love And Politicians Hate</a>:</p>
<p>I&#8217;ve been saying things like this for some time.  My only caveat is that it is important to keep both the income tax and the earned income tax credit to keep the system progressive.  If the consumption tax is high enough, we could limit the income/payroll tax to income above what the median earner makes.</p>
]]></content:encoded>
			<wfw:commentRss>http://halcanary.org/vv/2012/07/20/1295/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EMRATIO</title>
		<link>http://halcanary.org/vv/2012/07/10/1291/</link>
		<comments>http://halcanary.org/vv/2012/07/10/1291/#comments</comments>
		<pubDate>Tue, 10 Jul 2012 10:50:02 +0000</pubDate>
		<dc:creator>Hal Canary</dc:creator>
				<category><![CDATA[Economics]]></category>
		<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://halcanary.org/vv/?p=1291</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://research.stlouisfed.org/fred2/graph/?g=8Ch"><img src="http://research.stlouisfed.org/fredgraph.png?g=8Ch" alt="[emratio]" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://halcanary.org/vv/2012/07/10/1291/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>POSIX #!/bin/sh</title>
		<link>http://halcanary.org/vv/2012/06/19/1289/</link>
		<comments>http://halcanary.org/vv/2012/06/19/1289/#comments</comments>
		<pubDate>Tue, 19 Jun 2012 10:30:49 +0000</pubDate>
		<dc:creator>Hal Canary</dc:creator>
				<category><![CDATA[Computers & Code]]></category>

		<guid isPermaLink="false">http://halcanary.org/vv/?p=1289</guid>
		<description><![CDATA[When writing shell scripts to be executed on Linux, Unix, or Mac OS, one can target bash or tcsh. I always reccomend targeting the standard Bourne Shell, since it is guaranteed to exist on POSIX-compatable systems. Unforntunately, a lot of bash-specific documentation exists. So we can go to the source for shell standard: the Single [...]]]></description>
			<content:encoded><![CDATA[<p>When writing shell scripts to be executed on Linux, Unix, or Mac OS, one can target bash or tcsh.  I always reccomend targeting the standard Bourne Shell, since it is guaranteed to exist on POSIX-compatable systems.  Unforntunately, a lot of bash-specific documentation exists.  So we can go to the source for shell standard: the Single UNIX Specification, <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/sh.html">The Standard Command Language Interpreter</a> and <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html">The Shell Command Language</a>.</p>
<p><strong>Update</strong>: here&#8217;s a list of all the shell utilities POSIX requires to exist:<br />
<a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/admin.html">admin</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/alias.html">alias</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/ar.html">ar</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/asa.html">asa</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/at.html">at</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/awk.html">awk</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/basename.html">basename</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/batch.html">batch</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/bc.html">bc</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/bg.html">bg</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/break.html">break</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/c99.html">c99</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/cal.html">cal</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/cat.html">cat</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/cd.html">cd</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/cflow.html">cflow</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/chgrp.html">chgrp</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/chmod.html">chmod</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/chown.html">chown</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/cksum.html">cksum</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/cmp.html">cmp</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/colon.html">:</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/comm.html">comm</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/command.html">command</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/compress.html">compress</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/continue.html">continue</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/cp.html">cp</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/crontab.html">crontab</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/csplit.html">csplit</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/ctags.html">ctags</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/cut.html">cut</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/cxref.html">cxref</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/date.html">date</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/dd.html">dd</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/delta.html">delta</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/df.html">df</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/diff.html">diff</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/dirname.html">dirname</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/dot.html">dot</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/du.html">du</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/echo.html">echo</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/ed.html">ed</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/env.html">env</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/eval.html">eval</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/ex.html">ex</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/exec.html">exec</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/exit.html">exit</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/expand.html">expand</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/export.html">export</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/expr.html">expr</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/false.html">false</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/fc.html">fc</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/fg.html">fg</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/file.html">file</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/find.html">find</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/fold.html">fold</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/fort77.html">fort77</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/fuser.html">fuser</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/gencat.html">gencat</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/get.html">get</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/getconf.html">getconf</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/getopts.html">getopts</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/grep.html">grep</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/hash.html">hash</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/head.html">head</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/iconv.html">iconv</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/id.html">id</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/ipcrm.html">ipcrm</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/ipcs.html">ipcs</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/jobs.html">jobs</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/join.html">join</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/kill.html">kill</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/lex.html">lex</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/link.html">link</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/ln.html">ln</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/locale.html">locale</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/localedef.html">localedef</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/logger.html">logger</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/logname.html">logname</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/lp.html">lp</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/ls.html">ls</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/m4.html">m4</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/mailx.html">mailx</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/make.html">make</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/man.html">man</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/mesg.html">mesg</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/mkdir.html">mkdir</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/mkfifo.html">mkfifo</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/more.html">more</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/mv.html">mv</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/newgrp.html">newgrp</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/nice.html">nice</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/nl.html">nl</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/nm.html">nm</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/nohup.html">nohup</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/od.html">od</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/paste.html">paste</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/patch.html">patch</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/pathchk.html">pathchk</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/pax.html">pax</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/pr.html">pr</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/printf.html">printf</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/prs.html">prs</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/ps.html">ps</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/pwd.html">pwd</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/qalter.html">qalter</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/qdel.html">qdel</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/qhold.html">qhold</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/qmove.html">qmove</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/qmsg.html">qmsg</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/qrerun.html">qrerun</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/qrls.html">qrls</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/qselect.html">qselect</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/qsig.html">qsig</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/qstat.html">qstat</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/qsub.html">qsub</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/read.html">read</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/readonly.html">readonly</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/renice.html">renice</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/return.html">return</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/rm.html">rm</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/rmdel.html">rmdel</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/rmdir.html">rmdir</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/sact.html">sact</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/sccs.html">sccs</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/sed.html">sed</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/set.html">set</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/sh.html">sh</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/shift.html">shift</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/sleep.html">sleep</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/sort.html">sort</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/split.html">split</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/strings.html">strings</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/strip.html">strip</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/stty.html">stty</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/tabs.html">tabs</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/tail.html">tail</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/talk.html">talk</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/tee.html">tee</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/test.html">test</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/time.html">time</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/times.html">times</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/touch.html">touch</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/tput.html">tput</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/tr.html">tr</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/trap.html">trap</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/true.html">true</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/tsort.html">tsort</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/tty.html">tty</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/type.html">type</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/ulimit.html">ulimit</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/umask.html">umask</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/unalias.html">unalias</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/uname.html">uname</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/uncompress.html">uncompress</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/unexpand.html">unexpand</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/unget.html">unget</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/uniq.html">uniq</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/unlink.html">unlink</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/unset.html">unset</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/uucp.html">uucp</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/uudecode.html">uudecode</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/uuencode.html">uuencode</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/uustat.html">uustat</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/uux.html">uux</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/val.html">val</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/vi.html">vi</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/wait.html">wait</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/wc.html">wc</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/what.html">what</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/who.html">who</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/write.html">write</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/xargs.html">xargs</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/yacc.html">yacc</a> <a href="http://pubs.opengroup.org/onlinepubs/009695399/utilities/zcat.html">zcat</a></p>
<p>Of these utilities, on my Ubuntu 12.04 system:</p>
<p>Shell builtin or keyword (bash):<br />
: alias bg break cd command continue echo eval exec exit export false fc fg getopts hash jobs kill printf pwd read readonly return set shift test time times trap true type ulimit umask unalias unset wait</p>
<p>Located in /bin or /usr/bin<br />
ar at awk basename batch bc c99 cal cat chgrp chmod chown cksum cmp comm cp crontab csplit ctags cut date dd df diff dirname dot du ed env ex expand expr file find fold fuser gencat getconf head iconv id ipcrm ipcs join link ln locale localedef logger logname lp m4 make man mesg mkdir mkfifo more mv newgrp nice nl nm nohup od paste patch pathchk pr ps renice rm rmdir sed sh sleep sort split strings strip stty tabs tail tee touch tput tr tsort tty uname uncompress unexpand uniq unlink vi wc who write xargs zcat</p>
<p>Not found:<br />
admin asa cflow compress cxref delta fort77 get lex mailx pax prs qalter qdel qhold qmove qmsg qrerun qrls qselect qsig qstat qsub rmdel sact sccs talk unget uucp uudecode uuencode uustat uux val what yacc </p>
<p>dash (/bin/sh) has a smaller set of builtins: it lacks fc and time.  /usr/bin/time exists, but there is no fc in dash.</p>
]]></content:encoded>
			<wfw:commentRss>http://halcanary.org/vv/2012/06/19/1289/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A new printer with Ubuntu 12.04</title>
		<link>http://halcanary.org/vv/2012/06/16/1285/</link>
		<comments>http://halcanary.org/vv/2012/06/16/1285/#comments</comments>
		<pubDate>Sat, 16 Jun 2012 19:44:45 +0000</pubDate>
		<dc:creator>Hal Canary</dc:creator>
				<category><![CDATA[Computers & Code]]></category>

		<guid isPermaLink="false">http://halcanary.org/vv/?p=1285</guid>
		<description><![CDATA[We have a WiFi network printer in the house: a Kodak ESP C315. The most recent version of Ubuntu (Ubuntu 12.04 Precise) does not recognize it and it asks for a PPD file. This is because the printer-driver-c2esp package is at version 23.1 but version 24 provides that file. To install: Get the necesary packages: [...]]]></description>
			<content:encoded><![CDATA[<p>We have a WiFi network printer in the house: a Kodak ESP C315.  The most recent version of Ubuntu (Ubuntu 12.04 Precise) does not recognize it and it asks for a PPD file.  This is because the printer-driver-c2esp package is at version 23.1 but version 24 provides that file.</p>
<p>To install:</p>
<p>Get the necesary packages:</p>
<pre>
$ sudo /usr/bin/apt&#0045;get &#0045;&#0045;yes install &#0092;
    build&#0045;essential cups libcups2&#0045;dev &#0092;
    libcupsimage2&#0045;dev libcupsdriver1&#0045;dev</pre>
<p>Go to <a href="http://sourceforge.net/projects/cupsdriverkodak/files/">http://sourceforge.net/projects/cupsdriverkodak/files/</a> and get the file <tt>c2esp24.tar.gz</tt> .</p>
<pre>
$ cd `mktemp &#0045;d`
$ tar &#0045;&#0045;extract &#0045;&#0045;gzip &#0045;&#0045;file ((...path to...))/c2esp24.tar.gz
$ cd c2esp24/
$ make
$ find . &#0045;iname &#0092;*.ppd</pre>
<p>Copy the apropriate PPD file to /usr/local/share/ppd/</p>
<pre>$ sudo mkdir /usr/local/share/ppd
$ sudo cp ppd/Kodak_ESP_C31x_Series.ppd /usr/local/share/ppd/
$ system-config-printer</pre>
<p>Then enter <tt>/usr/local/share/ppd/Kodak_ESP_C31x_Series.ppd</tt> where the CUPS configuration program asks for a  PPD file.</p>
]]></content:encoded>
			<wfw:commentRss>http://halcanary.org/vv/2012/06/16/1285/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>generic viewer</title>
		<link>http://halcanary.org/vv/2012/02/24/1281/</link>
		<comments>http://halcanary.org/vv/2012/02/24/1281/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 12:38:00 +0000</pubDate>
		<dc:creator>Hal Canary</dc:creator>
				<category><![CDATA[Computers & Code]]></category>

		<guid isPermaLink="false">http://halcanary.org/vv/?p=1281</guid>
		<description><![CDATA[#!/bin/sh #${HOME}/bin/v # # Copyright 2012 Hal Canary # # Permission is hereby granted, free of charge, to any # person obtaining a copy of this software and # associated documentation files (the "Software"), to # deal in the Software without restriction, including # without limitation the rights to use, copy, modify, # merge, publish, [...]]]></description>
			<content:encoded><![CDATA[<pre>#!/bin/sh
#${HOME}/bin/v
#
# Copyright 2012 Hal Canary
#
# Permission is hereby granted, free of charge, to any
# person obtaining a copy of this software and
# associated documentation files (the "Software"), to
# deal in the Software without restriction, including
# without limitation the rights to use, copy, modify,
# merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to
# whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission
# notice shall be included in all copies or
# substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY
# OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
# LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
# OR OTHER LIABILITY, WHETHER IN AN ACTION OF
# CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
# IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
#
for arg in &quot;$@&quot;; do
  case &quot;${arg##*.}&quot; in
  png|jpg|jpeg|gif|bmp|tif|tiff|tga|targa)
    { /usr/bin/gthumb &quot;$arg&quot; &gt; /dev/null 2&gt;&amp;1 &amp; } ;;
  pdf|ps|eps)
    { /usr/bin/evince &quot;$arg&quot; &gt; /dev/null 2&gt;&amp;1 &amp; } ;;
  txt|tex|c|cxx|cpp|h|hh|cc|C|py|pl|java|hpp|hxx)
    { /usr/bin/emacs &quot;$arg&quot; &#0092;
        &#0045;&#0045;eval &#0039;(setq buffer&#0045;read&#0045;only t)&#0039; &#0092;
        &gt; /dev/null 2&gt;&amp;1 &amp; } ;;
  htm|html)
    full=`readlink &#0045;&#0045;canonicalize &quot;$arg&quot;`
    { /usr/bin/google&#0045;chrome &quot;file://${full}&quot; &#0092;
        &gt; /dev/null 2&gt;&amp;1 &amp; } ;;
  doc|docx|rtf|odt|odf|odp|ppt|ods|csv|tsv|xls)
    { /usr/bin/ooffice &quot;$arg&quot; &gt; /dev/null 2&gt;&amp;1 &amp; } ;;
  xcf)
    { /usr/bin/gimp &quot;$arg&quot; &gt; /dev/null 2&gt;&amp;1 &amp; } ;;
  svg)
    { /usr/bin/inkscape &quot;$arg&quot; &gt; /dev/null 2&gt;&amp;1 &amp; } ;;
  *)
    echo &quot;What do I do with &#0092;&quot;$arg&#0092;&quot;?&quot;;;
  esac
done</pre>
]]></content:encoded>
			<wfw:commentRss>http://halcanary.org/vv/2012/02/24/1281/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arcosanti</title>
		<link>http://halcanary.org/vv/2012/01/08/1279/</link>
		<comments>http://halcanary.org/vv/2012/01/08/1279/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 21:55:55 +0000</pubDate>
		<dc:creator>Hal Canary</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://halcanary.org/vv/?p=1279</guid>
		<description><![CDATA[Arcosanti Arcology]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Arcosanti">Arcosanti Arcology</a></p>
<p><a href="http://www.flickr.com/photos/philosophies/6654697109/"><img src="http://farm8.staticflickr.com/7146/6654697109_26ed4d20ca.jpg" width="500" height="375" alt="2012-01-04_160530_dscn0898" /></a></p>
<p><a href="http://www.flickr.com/photos/philosophies/6654699277/"><img src="http://farm8.staticflickr.com/7008/6654699277_4615087279.jpg" width="500" height="375" alt="2012-01-04_160510_dscn0897" /></a></p>
<p><a href="http://www.flickr.com/photos/philosophies/6654701519/"><img src="http://farm8.staticflickr.com/7034/6654701519_e04f3528e8.jpg" width="500" height="375" alt="2012-01-04_153752_dscn0895" /></a></p>
<p><a href="http://www.flickr.com/photos/philosophies/6654703693/"><img src="http://farm8.staticflickr.com/7163/6654703693_25c1ab1578.jpg" width="500" height="375" alt="2012-01-04_153744_dscn0894" /></a></p>
<p><a href="http://www.flickr.com/photos/philosophies/6654705749/"><img src="http://farm8.staticflickr.com/7143/6654705749_f6f56e3a01.jpg" width="375" height="500" alt="2012-01-04_152454_dscn0892" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://halcanary.org/vv/2012/01/08/1279/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
