<?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>forkable memosforkable memos | forkable memos</title>
	<atom:link href="http://www.forkable.eu/memo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.forkable.eu/memo</link>
	<description>applied software studies</description>
	<lastBuildDate>Tue, 01 May 2012 22:19:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>swarm, perform, explore!</title>
		<link>http://www.forkable.eu/memo/2012/swaperex/stwst/</link>
		<comments>http://www.forkable.eu/memo/2012/swaperex/stwst/#comments</comments>
		<pubDate>Tue, 01 May 2012 20:29:56 +0000</pubDate>
		<dc:creator>christoph</dc:creator>
				<category><![CDATA[liwoli 2012]]></category>
		<category><![CDATA[generators]]></category>

		<guid isPermaLink="false">http://www.forkable.eu/memo/?p=2486</guid>
		<description><![CDATA[<a href="http://www.forkable.eu/generators/swaperex"><img src="/icons/folder.gif" alt="" /></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://ww.forkable.eu/generators/swaperex/o/A3/random-1.pdf"><img src="http://ww.forkable.eu/generators/swaperex/o/A3/random-1.gif" alt="" /></a>
<a href="http://ww.forkable.eu/generators/swaperex/o/A3/random-2.pdf"><img src="http://ww.forkable.eu/generators/swaperex/o/A3/random-2.gif" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.forkable.eu/memo/2012/swaperex/stwst/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>grafik2slits</title>
		<link>http://www.forkable.eu/memo/2011/workshop/grafik2slits/</link>
		<comments>http://www.forkable.eu/memo/2011/workshop/grafik2slits/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 16:35:25 +0000</pubDate>
		<dc:creator>christoph</dc:creator>
				<category><![CDATA[hands on]]></category>
		<category><![CDATA[lisl]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://www.forkable.eu/memo/?p=2475</guid>
		<description><![CDATA[&#160;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.forkable.eu/workshop/lisl/grafik2slits.sh">Cut a pdf file in stripes and put them back together</a>.</p>

<pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
 <span style="color: #007800;">STEPS</span>=<span style="color: #000000;">70</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
 <span style="color: #007800;">OUTPUTDIR</span>=o
 <span style="color: #007800;">TMPTEX</span>=grafik2slits.tex
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
 <span style="color: #007800;">PDF</span>=<span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/find"><span style="color: #c20cb9; font-weight: bold;">find</span></a> i<span style="color: #000000; font-weight: bold;">/</span>pdf <span style="color: #660033;">-name</span> <span style="color: #ff0000;">&quot;*.pdf&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <a href="http://www.forkable.eu/utils/man/shuf"><span style="color: #c20cb9; font-weight: bold;">shuf</span></a> <span style="color: #660033;">-n</span> <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">`</span>
 <span style="color: #007800;">PDF</span>=<span style="color: #ff0000;">&quot;i/pdf/var/A4_referenzblatt.pdf&quot;</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
 <span style="color: #007800;">IDENTIFY</span>=<span style="color: #000000; font-weight: bold;">`</span>identify <span style="color: #007800;">$PDF</span><span style="color: #000000; font-weight: bold;">`</span>
 <span style="color: #007800;">PDFWIDTH</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #007800;">$IDENTIFY</span> <span style="color: #000000; font-weight: bold;">|</span> \
           <a href="http://www.forkable.eu/utils/man/cut"><span style="color: #c20cb9; font-weight: bold;">cut</span></a> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot; &quot;</span> <span style="color: #660033;">-f</span> <span style="color: #000000;">3</span> <span style="color: #000000; font-weight: bold;">|</span> \
           <a href="http://www.forkable.eu/utils/man/head"><span style="color: #c20cb9; font-weight: bold;">head</span></a> <span style="color: #660033;">-1</span> <span style="color: #000000; font-weight: bold;">|</span> <a href="http://www.forkable.eu/utils/man/cut"><span style="color: #c20cb9; font-weight: bold;">cut</span></a> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;x&quot;</span> <span style="color: #660033;">-f</span> <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">`</span>
 <span style="color: #007800;">PDFHEIGHT</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #007800;">$IDENTIFY</span> <span style="color: #000000; font-weight: bold;">|</span> \
            <a href="http://www.forkable.eu/utils/man/cut"><span style="color: #c20cb9; font-weight: bold;">cut</span></a> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot; &quot;</span> <span style="color: #660033;">-f</span> <span style="color: #000000;">3</span> <span style="color: #000000; font-weight: bold;">|</span> \
            <a href="http://www.forkable.eu/utils/man/head"><span style="color: #c20cb9; font-weight: bold;">head</span></a> <span style="color: #660033;">-1</span> <span style="color: #000000; font-weight: bold;">|</span> <a href="http://www.forkable.eu/utils/man/cut"><span style="color: #c20cb9; font-weight: bold;">cut</span></a> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;x&quot;</span> <span style="color: #660033;">-f</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">`</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
 <span style="color: #007800;">STEPWIDTH</span>=<span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/expr"><span style="color: #c20cb9; font-weight: bold;">expr</span></a> <span style="color: #007800;">$PDFWIDTH</span> \<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #007800;">$STEPS</span><span style="color: #000000; font-weight: bold;">`</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
 <span style="color: #007800;">VERTICALOFFSET</span>=<span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/expr"><span style="color: #c20cb9; font-weight: bold;">expr</span></a> <span style="color: #007800;">$STEPS</span> + \<span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/expr"><span style="color: #c20cb9; font-weight: bold;">expr</span></a> <span style="color: #007800;">$STEPS</span> \<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000;">4</span> \<span style="color: #000000; font-weight: bold;">``</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\documentclass[9pt]{scrbook}                  &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span>  <span style="color: #007800;">$TMPTEX</span>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\usepackage{pdfpages}                         &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\usepackage{geometry}                         &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\geometry{paperwidth=595pt,paperheight=842pt} &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\usepackage[pdftex]{epsfig}                   &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\setlength{\unitlength}{&quot;</span><span style="color: #007800;">$STEPWIDTH</span><span style="color: #ff0000;">&quot;pt}       &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\setlength<span style="color: #000099; font-weight: bold;">\t</span>opmargin{-0.1in}                  &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\setlength\oddsidemargin{-1.2in}              &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\setlength<span style="color: #000099; font-weight: bold;">\t</span>extwidth{\paperwidth}             &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>ewcommand{                                  &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\graphic}[6]{                                 &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\includegraphics[viewport=#2 #3 #4 #5,clip,   &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;height=\paperheight]{#1}}                     &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\begin{document}                              &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;                                              &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
  <span style="color: #666666; font-style: italic;"># ------------------------------------------------------- #</span>
    <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\\begin{picture}(0,0)                &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
    <span style="color: #007800;">CNT</span>=<span style="color: #000000;">0</span>
    <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$CNT</span> <span style="color: #660033;">-lt</span> <span style="color: #007800;">$STEPS</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
     <span style="color: #000000; font-weight: bold;">do</span>
        <span style="color: #007800;">LEFT</span>=<span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/expr"><span style="color: #c20cb9; font-weight: bold;">expr</span></a> <span style="color: #007800;">$CNT</span> \<span style="color: #000000; font-weight: bold;">*</span> <span style="color: #007800;">$STEPWIDTH</span><span style="color: #000000; font-weight: bold;">`</span>
        <span style="color: #007800;">RIGHT</span>=<span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/expr"><span style="color: #c20cb9; font-weight: bold;">expr</span></a> <span style="color: #007800;">$STEPWIDTH</span> + <span style="color: #007800;">$LEFT</span><span style="color: #000000; font-weight: bold;">`</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
        <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span>  <span style="color: #ff0000;">&quot;\put(&quot;</span><span style="color: #007800;">$CNT</span><span style="color: #ff0000;">&quot;,-&quot;</span><span style="color: #007800;">$VERTICALOFFSET</span><span style="color: #ff0000;">&quot;){&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
        <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span>  <span style="color: #ff0000;">&quot;\graphic{&quot;</span><span style="color: #007800;">$PDF</span><span style="color: #ff0000;">&quot;}{&quot;</span><span style="color: #007800;">$LEFT</span><span style="color: #ff0000;">&quot;}{0}    &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
        <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span>  <span style="color: #ff0000;">&quot;{&quot;</span><span style="color: #007800;">$RIGHT</span><span style="color: #ff0000;">&quot;}{&quot;</span><span style="color: #007800;">$PDFHEIGHT</span><span style="color: #ff0000;">&quot;}}       &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
        <span style="color: #007800;">CNT</span>=<span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/expr"><span style="color: #c20cb9; font-weight: bold;">expr</span></a> <span style="color: #007800;">$CNT</span> + <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">`</span>
    <span style="color: #000000; font-weight: bold;">done</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
   <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\end{picture}                         &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
  <span style="color: #666666; font-style: italic;"># ------------------------------------------------------- #</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
  <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\end{document}                                &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
 pdflatex <span style="color: #660033;">-output-directory</span> <span style="color: #007800;">$OUTPUTDIR</span> <span style="color: #007800;">$TMPTEX</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
 <a href="http://www.forkable.eu/utils/man/rm"><span style="color: #c20cb9; font-weight: bold;">rm</span></a> <span style="color: #007800;">$TMPTEX</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span>;</pre>

<h2>LaTeX: <code>\newcommand</code></h2>

<p>A <a href="http://www.devdaily.com/blog/post/latex/create-your-own-commands-in-latex-using-newcommand">custom LaTeX command</a> 
for the inclusion of the graphics is defined:</p>

<pre class="latex" style="font-family:monospace;"><span style="color: #800000; font-weight: normal;">\newcommand</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #800000; font-weight: normal;">\graphic</span></span><span style="color: #E02020; ">}[</span><span style="color: #C08020; font-weight: normal;">6</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">
            <span style="color: #800000; font-weight: normal;">\includegraphics</span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">viewport=#2 #3 #4 #5,clip,
            height=<span style="color: #800000; font-weight: normal;">\paperheight</span></span><span style="color: #E02020; ">]{</span>#1</span><span style="color: #E02020; ">}</span>
            <span style="color: #E02020; ">}</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.forkable.eu/memo/2011/workshop/grafik2slits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash substitution</title>
		<link>http://www.forkable.eu/memo/2011/workshop/substitution/</link>
		<comments>http://www.forkable.eu/memo/2011/workshop/substitution/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 09:34:05 +0000</pubDate>
		<dc:creator>christoph</dc:creator>
				<category><![CDATA[hands on]]></category>
		<category><![CDATA[lisl]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://www.forkable.eu/memo/?p=2450</guid>
		<description><![CDATA[Bash supports a surprising number of string manipulation operations. Unfortunately, these tools lack a unified focus. Some are a subset of parameter substitution, and others fall under the functionality of the UNIX expr command. This results in inconsistent command syntax and overlap of functionality, not to mention confusion. * This is a short explanation of Bash’s substition mechanisms I use most frequently. For further information visit the Advanced Bash-Scripting Guide. The construct ${VARIABLE%pattern} removes the shortest possible suffix of a variable string. This is most commonly used to remove a filename extension from a variable. As pattern we use .* = a dot (.) plus a possible number of characters. :~$ VARIABLE=/home/lisl/dummy.txt &#160; :~$ echo $VARIABLE /home/lisl/dummy.txt &#160; :~$ echo ${VARIABLE%.*} /home/lisl/dummy While the construct ${VARIABLE%.*} removes the shortest possible suffix of the variable string, the construct ${VARIABLE%%.*} (=2 times %!) removes the longest possible suffix: :~$ ONEDOT=/home/lisl/dummy.txt :~$ TWODOT=/home/lisl/.hidden/dummy.txt &#160; :~$ echo ${ONEDOT%.*} /home/lisl/dummy &#160; :~$ echo ${ONEDOT%%.*} /home/lisl/dummy Within this example, we get the same output, because the string contains only one dot and therefore the longest and the shortest possible suffix is actually the same. If the string contains more than one dot, you will see the [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
  <p>Bash supports a surprising number of string manipulation operations. 
  Unfortunately, these tools lack a unified focus. Some are a subset 
  of parameter substitution, and others fall under the functionality 
  of the UNIX expr command. This results in inconsistent command syntax 
  and overlap of functionality, not to mention confusion.
  <a href="http://tldp.org/LDP/abs/html/string-manipulation.html">*</a></p>
</blockquote>

<p>This is a short explanation of Bash’s substition mechanisms I use most
frequently. For further information visit the 
<a href="http://tldp.org/LDP/abs/html/string-manipulation.html">Advanced Bash-Scripting Guide</a>.
The construct <code>${VARIABLE%pattern}</code> removes the shortest possible suffix 
of a variable string. This is most commonly used to remove a
<a href="http://en.wikipedia.org/wiki/Filename_extension">filename extension</a>
from a variable. As <code>pattern</code> we use <code>.*</code> <strong>=</strong> a dot (<strong>.</strong>) plus
a possible number of characters.</p>

<pre class="bash" style="font-family:monospace;">:~$ <span style="color: #007800;">VARIABLE</span>=<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>lisl<span style="color: #000000; font-weight: bold;">/</span>dummy.txt
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
:~$ <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #007800;">$VARIABLE</span>
<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>lisl<span style="color: #000000; font-weight: bold;">/</span>dummy.txt
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
:~$ <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #800000;">${VARIABLE%.*}</span>
<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>lisl<span style="color: #000000; font-weight: bold;">/</span>dummy</pre>

<p>While the construct <code>${VARIABLE%.*}</code> removes the shortest possible suffix 
of the variable string, the construct <code>${VARIABLE%%.*}</code> (=<strong>2 times <code>%</code></strong>!)
removes the longest possible suffix:</p>

<pre class="bash" style="font-family:monospace;">:~$ <span style="color: #007800;">ONEDOT</span>=<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>lisl<span style="color: #000000; font-weight: bold;">/</span>dummy.txt
:~$ <span style="color: #007800;">TWODOT</span>=<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>lisl<span style="color: #000000; font-weight: bold;">/</span>.hidden<span style="color: #000000; font-weight: bold;">/</span>dummy.txt
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
:~$ <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #800000;">${ONEDOT%.*}</span>
<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>lisl<span style="color: #000000; font-weight: bold;">/</span>dummy
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
:~$ <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #800000;">${ONEDOT%%.*}</span>
<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>lisl<span style="color: #000000; font-weight: bold;">/</span>dummy</pre>

<p>Within this example, we get the same output, because the string contains only 
one dot and therefore the longest and the shortest possible suffix is actually
the same. If the string contains more than one dot, you will see the difference:</p>

<pre class="bash" style="font-family:monospace;">:~$ <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #800000;">${TWODOT%.*}</span>
<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>lisl<span style="color: #000000; font-weight: bold;">/</span>.hidden<span style="color: #000000; font-weight: bold;">/</span>dummy
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
:~$ <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #800000;">${TWODOT%%.*}</span>
<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>lisl<span style="color: #000000; font-weight: bold;">/</span></pre>

<p>To remove the prefix instead of the suffix you use <code>#</code> instead of <code>%</code>.</p>

<pre class="bash" style="font-family:monospace;">:~$ <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #800000;">${TWODOT#*.}</span>
hidden<span style="color: #000000; font-weight: bold;">/</span>dummy.txt
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
:~$ <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #800000;">${TWODOT##*.}</span>
txt</pre>

<p>Best way to start is just by trying out. <a href="http://tldp.org/LDP/abs/html/string-manipulation.html">In-depth documentation here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.forkable.eu/memo/2011/workshop/substitution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make pdf files</title>
		<link>http://www.forkable.eu/memo/2011/workshop/list2pdf/</link>
		<comments>http://www.forkable.eu/memo/2011/workshop/list2pdf/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 11:20:12 +0000</pubDate>
		<dc:creator>christoph</dc:creator>
				<category><![CDATA[hands on]]></category>
		<category><![CDATA[lisl]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://www.forkable.eu/memo/?p=2408</guid>
		<description><![CDATA[Two ways to combine existing pdf files stored in lists. pdfpages A simple solution to combine multiple pdf files is to use LaTeX respectively the pdfpages package. With this code you can layout pdf pages on a page according to some parametres. You need a working LaTeX installation, e.g. texlive on debian or ubuntu. You type the code in a plain text file (ending .tex) and compile it with pdflatex. \documentclass[9pt]{scrbook} \usepackage{pdfpages} \begin{document} \includepdfmerge [nup=10x10,pages=1,scale=.9, trim=26pt 26pt 26pt 26pt,clip, delta=0pt 0pt,offset=0 0] {pdf1.pdf,pdf2.pdf.pdf3.pf} \end{document} Instead of typing the code by one might use a script: # ======================================================= # # ------------------------------------------------------- # # CREATE LaTeX CONTROL FILE # ------------------------------------------------------- # &#160; LISTTOTAKE=$TMPDIR/polyline.list TMPTEX=tmp.tex &#160; echo &#34;\documentclass[9pt]{scrbook} &#34; &#62; $TMPTEX echo &#34;\usepackage{pdfpages} &#34; &#62;&#62; $TMPTEX echo &#34;\begin{document} &#34; &#62;&#62; $TMPTEX echo &#34; &#34; &#62;&#62; $TMPTEX echo &#34;\includepdfmerge &#34; &#62;&#62; $TMPTEX echo &#34;[ &#34; &#62;&#62; $TMPTEX echo &#34;nup=10x10,pages=1 &#34; &#62;&#62; $TMPTEX echo &#34;scale=.9, &#34; &#62;&#62; $TMPTEX echo &#34;trim=26pt 26pt 26pt 26pt,clip, &#34; &#62;&#62; $TMPTEX echo &#34;delta=0pt 0pt,offset=0 0 &#34; &#62;&#62; $TMPTEX echo &#34;] &#34; &#62;&#62; $TMPTEX echo &#34;{ &#34; &#62;&#62; $TMPTEX &#160; COUNT=1 HOWMANYPDFS=`cat $LISTTOTAKE &#124; wc -l` &#160; # --------------------------------- # for PDF in `cat $LISTTOTAKE` do KOMMA=&#34;,&#34; if &#91; $COUNT -eq [...]]]></description>
			<content:encoded><![CDATA[<p>Two ways to combine existing pdf files <a href="http://www.forkable.eu/memo/2011/workshop/lisl/control-files/">stored in lists</a>.</p>

<h2><a href="http://www.ctan.org/tex-archive/macros/latex/contrib/pdfpages/">pdfpages</a></h2>

<p>A simple solution to combine multiple pdf files is to use LaTeX respectively the <a href="http://www.ctan.org/tex-archive/macros/latex/contrib/pdfpages/">pdfpages package</a>.</p>

<p>With this code you can layout pdf pages on a page according to some parametres. You need a working LaTeX installation, e.g. texlive on debian or ubuntu. You type the code in a plain text file (ending <em>.tex</em>) and compile it with pdflatex.</p>

<pre class="latex" style="font-family:monospace;"><span style="color: #800000; font-weight: normal;">\<a href="http://www.golatex.de/wiki/index.php?title=\documentclass"><span style="color: #800000; font-weight: bold;">documentclass</span></a></span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">9pt</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">scrbook</span><span style="color: #E02020; ">}</span>          
<span style="color: #800000; font-weight: normal;">\usepackage</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">pdfpages</span><span style="color: #E02020; ">}</span>                 
<span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">document</span></span><span style="color: #E02020; ">}</span>                                      
<span style="color: #800000; font-weight: normal;">\includepdfmerge</span>                      
<span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">nup=10x10,pages=1,scale=.9,                            
trim=26pt 26pt 26pt 26pt,clip,        
delta=0pt 0pt,offset=0 0</span><span style="color: #E02020; ">]</span>                  
<span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">pdf1.pdf,pdf2.pdf.pdf3.pf</span><span style="color: #E02020; ">}</span>
<span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">document</span></span><span style="color: #E02020; ">}</span></pre>

<p>Instead of typing the code by one might use a <a href="http://www.forkable.eu/workshop/lisl/pdfpages.sh">script</a>:</p>

<pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># ======================================================= #</span>
<span style="color: #666666; font-style: italic;"># ------------------------------------------------------- #</span>
<span style="color: #666666; font-style: italic;"># CREATE LaTeX CONTROL FILE</span>
<span style="color: #666666; font-style: italic;"># ------------------------------------------------------- #</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
<span style="color: #007800;">LISTTOTAKE</span>=<span style="color: #007800;">$TMPDIR</span><span style="color: #000000; font-weight: bold;">/</span>polyline.list
<span style="color: #007800;">TMPTEX</span>=tmp.tex
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
<span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\documentclass[9pt]{scrbook}          &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span>  <span style="color: #007800;">$TMPTEX</span>
<span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\usepackage{pdfpages}                 &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\begin{document}                      &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;                                      &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\includepdfmerge                      &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;[                                     &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;nup=10x10,pages=1                     &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;scale=.9,                             &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;trim=26pt 26pt 26pt 26pt,clip,        &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;delta=0pt 0pt,offset=0 0              &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;]                                     &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;{                                     &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
<span style="color: #007800;">COUNT</span>=<span style="color: #000000;">1</span>
<span style="color: #007800;">HOWMANYPDFS</span>=<span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/cat"><span style="color: #c20cb9; font-weight: bold;">cat</span></a> <span style="color: #007800;">$LISTTOTAKE</span> <span style="color: #000000; font-weight: bold;">|</span> <a href="http://www.forkable.eu/utils/man/wc"><span style="color: #c20cb9; font-weight: bold;">wc</span></a> -l<span style="color: #000000; font-weight: bold;">`</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
<span style="color: #666666; font-style: italic;"># --------------------------------- #</span>
<span style="color: #000000; font-weight: bold;">for</span> PDF <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/cat"><span style="color: #c20cb9; font-weight: bold;">cat</span></a> <span style="color: #007800;">$LISTTOTAKE</span><span style="color: #000000; font-weight: bold;">`</span>
 <span style="color: #000000; font-weight: bold;">do</span>
   <span style="color: #007800;">KOMMA</span>=<span style="color: #ff0000;">&quot;,&quot;</span>
   <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$COUNT</span> <span style="color: #660033;">-eq</span> <span style="color: #007800;">$HOWMANYPDFS</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>;
   <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #007800;">KOMMA</span>=<span style="color: #ff0000;">&quot;&quot;</span>
   <span style="color: #000000; font-weight: bold;">fi</span>
   <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #800000;">${PDF}</span><span style="color: #800000;">${KOMMA}</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
   <span style="color: #007800;">COUNT</span>=<span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/expr"><span style="color: #c20cb9; font-weight: bold;">expr</span></a> <span style="color: #007800;">$COUNT</span> + <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #000000; font-weight: bold;">done</span>
<span style="color: #666666; font-style: italic;"># --------------------------------- #</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
<span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;}                                     &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;\end{document}                        &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$TMPTEX</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
<span style="color: #666666; font-style: italic;"># ======================================================= #</span>
<span style="color: #666666; font-style: italic;"># ------------------------------------------------------- #</span>
<span style="color: #666666; font-style: italic;"># RENDER LaTeX FILE</span>
<span style="color: #666666; font-style: italic;"># ------------------------------------------------------- #</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
pdflatex <span style="color: #660033;">-output-directory</span> <span style="color: #007800;">$OUTPUTDIR</span> <span style="color: #007800;">$TMPTEX</span></pre>

<h2><a href="http://www.forkable.eu/workshop/lisl/pdftkloop.sh">pdftkloop</a></h2>

<p>A very simple solution to produce a layered pdf file is <a href="http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/">pdftk</a>. pdftk offers the functionality to place a pdf as background into another. Inside a loop the output of pdftk becomes the background for the next round. This way we get a staple of pdf files.</p>

<pre class="bash" style="font-family:monospace;"><span style="color: #007800;">BEFORE</span>=<span style="color: #007800;">$TMPDIR</span><span style="color: #000000; font-weight: bold;">/</span>before.pdf
<a href="http://www.forkable.eu/utils/man/cp"><span style="color: #c20cb9; font-weight: bold;">cp</span></a> <span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/cat"><span style="color: #c20cb9; font-weight: bold;">cat</span></a> <span style="color: #007800;">$LIST</span> <span style="color: #000000; font-weight: bold;">|</span> <a href="http://www.forkable.eu/utils/man/shuf"><span style="color: #c20cb9; font-weight: bold;">shuf</span></a> <span style="color: #660033;">-n</span> <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">`</span> <span style="color: #007800;">$BEFORE</span>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
<span style="color: #000000; font-weight: bold;">for</span> PDF <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/cat"><span style="color: #c20cb9; font-weight: bold;">cat</span></a> <span style="color: #007800;">$LIST</span><span style="color: #000000; font-weight: bold;">`</span>
  <span style="color: #000000; font-weight: bold;">do</span>
     <a href="http://www.forkable.eu/utils/man/pdftk"><span style="color: #c20cb9; font-weight: bold;">pdftk</span></a> <span style="color: #007800;">$PDF</span> background <span style="color: #007800;">$BEFORE</span> output <span style="color: #007800;">$TMPDIR</span><span style="color: #000000; font-weight: bold;">/</span>out.pdf    
     <a href="http://www.forkable.eu/utils/man/cp"><span style="color: #c20cb9; font-weight: bold;">cp</span></a> <span style="color: #007800;">$TMPDIR</span><span style="color: #000000; font-weight: bold;">/</span>out.pdf <span style="color: #007800;">$BEFORE</span>
<span style="color: #000000; font-weight: bold;">done</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.forkable.eu/memo/2011/workshop/list2pdf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make control files</title>
		<link>http://www.forkable.eu/memo/2011/workshop/lisl/control-files/</link>
		<comments>http://www.forkable.eu/memo/2011/workshop/lisl/control-files/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 08:50:01 +0000</pubDate>
		<dc:creator>christoph</dc:creator>
				<category><![CDATA[hands on]]></category>
		<category><![CDATA[lisl]]></category>

		<guid isPermaLink="false">http://www.forkable.eu/memo/?p=2396</guid>
		<description><![CDATA[To use GNU/Linux’s text processing abilities for graphic design, I needed to find a way to expand this world of plain text. My approach herefore is the automated generation of plain text control files, that serve as input for software, that extends the world of plain text. Lists are the most simple example for a control file. For the creation of lists I would describe two different approaches: creation and analysis . creation INPUTDIR=i/pdf/alphabets LIST=$TMPDIR/sentence.list &#160; for LETTER in H E L L O W O R L D do find ${INPUTDIR} -name &#34;$LETTER*.pdf&#34; &#124;\ shuf -n 1 &#62;&#62; $LIST done Within this loop I want to find a matching pdf file for every letter in the sentence HELLO WORLD. The pdf files were created in advance, all letters in different fonts. The result: i/pdf/alphabets/_Nimbus_Sans_L_/H.pdf i/pdf/alphabets/_eufm10________/E.pdf i/pdf/alphabets/_eufm10________/L.pdf i/pdf/alphabets/_Courier_New___/L.pdf i/pdf/alphabets/_Nimbus_Sans_L_/O.pdf i/pdf/alphabets/_Nimbus_Sans_L_/W.pdf i/pdf/alphabets/_Webdings______/O.pdf i/pdf/alphabets/_Nimbus_Sans_L_/R.pdf i/pdf/alphabets/_Webdings______/L.pdf i/pdf/alphabets/_Webdings______/D.pdf analysis INPUTDIR=i/pdf/words/_Nimbus_Sans_L_/ LIST=$TMPDIR/alphabet.list &#160; ls -rS ${INPUTDIR}/*.pdf &#62; $LIST ls -S is the command to list files in a order according to their file size. The selected files are random words stored as pdf files. The idea is to get a sorting dependent on the complexity of the words. The file size is connected to the [...]]]></description>
			<content:encoded><![CDATA[<p>To use GNU/Linux’s text processing abilities
for graphic design, I needed to find a way to expand
this world of plain text. My approach herefore is the 
<strong>automated generation of plain text control files</strong>, that serve as input for <a href="http://www.forkable.eu/memo/that/plaintext/">software, that extends the world of plain text</a>.</p>

<!--
A script is as well a control file as a html file. 
The script tells the Bash what to do, while the html document
tells a browser what to display. ([Postscript is an
example where the world of programming language
and document format merge]().)
-->

<p>Lists are the most simple example for a control file.
For the creation of lists I would describe two different
approaches: <strong>creation</strong> and <strong>analysis</strong> .</p>

<h2>creation</h2>

<pre class="bash" style="font-family:monospace;"><span style="color: #007800;">INPUTDIR</span>=i<span style="color: #000000; font-weight: bold;">/</span>pdf<span style="color: #000000; font-weight: bold;">/</span>alphabets
<span style="color: #007800;">LIST</span>=<span style="color: #007800;">$TMPDIR</span><span style="color: #000000; font-weight: bold;">/</span>sentence.list
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
<span style="color: #000000; font-weight: bold;">for</span> LETTER <span style="color: #000000; font-weight: bold;">in</span> H E L L O W O R L D
 <span style="color: #000000; font-weight: bold;">do</span>
   <a href="http://www.forkable.eu/utils/man/find"><span style="color: #c20cb9; font-weight: bold;">find</span></a> <span style="color: #800000;">${INPUTDIR}</span> <span style="color: #660033;">-name</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$LETTER</span>*.pdf&quot;</span> <span style="color: #000000; font-weight: bold;">|</span>\ 
   <a href="http://www.forkable.eu/utils/man/shuf"><span style="color: #c20cb9; font-weight: bold;">shuf</span></a> <span style="color: #660033;">-n</span> <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LIST</span>
<span style="color: #000000; font-weight: bold;">done</span></pre>

<p>Within this loop I want to find a matching pdf file
for every letter in the sentence <em>HELLO WORLD</em>.<br />
The pdf files were created in advance, all <a href="http://www.forkable.eu/workshop/lisl/i/pdf/alphabets/">letters in 
different fonts</a>.</p>

<p>The result:</p>

<pre><code>i/pdf/alphabets/_Nimbus_Sans_L_/H.pdf
i/pdf/alphabets/_eufm10________/E.pdf
i/pdf/alphabets/_eufm10________/L.pdf
i/pdf/alphabets/_Courier_New___/L.pdf
i/pdf/alphabets/_Nimbus_Sans_L_/O.pdf
i/pdf/alphabets/_Nimbus_Sans_L_/W.pdf
i/pdf/alphabets/_Webdings______/O.pdf
i/pdf/alphabets/_Nimbus_Sans_L_/R.pdf
i/pdf/alphabets/_Webdings______/L.pdf
i/pdf/alphabets/_Webdings______/D.pdf
</code></pre>

<h2>analysis</h2>

<pre class="bash" style="font-family:monospace;"><span style="color: #007800;">INPUTDIR</span>=i<span style="color: #000000; font-weight: bold;">/</span>pdf<span style="color: #000000; font-weight: bold;">/</span>words<span style="color: #000000; font-weight: bold;">/</span>_Nimbus_Sans_L_<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #007800;">LIST</span>=<span style="color: #007800;">$TMPDIR</span><span style="color: #000000; font-weight: bold;">/</span>alphabet.list
<div style="margin-bottom: -25px"><span style="line-height: 0em;">&nbsp;</span></div>
<a href="http://www.forkable.eu/utils/man/ls"><span style="color: #c20cb9; font-weight: bold;">ls</span></a> <span style="color: #660033;">-rS</span> <span style="color: #800000;">${INPUTDIR}</span><span style="color: #000000; font-weight: bold;">/*</span>.pdf <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$LIST</span></pre>

<p><code>ls -S</code> is the command to list files in a order 
according to their file size.</p>

<p>The selected files are <a href="http://www.forkable.eu/workshop/lisl/i/pdf/words/_Nimbus_Sans_L_/">random words stored as pdf
files</a>. The idea is to get a sorting dependent on the complexity of the words. <em>The file size is connected to the amount of vector path information. 
A letter with a complex form produces a bigger file 
size. The filesize of a word is therefore dependent on number and complexity of its letters</em>.</p>

<p>The result:</p>

<pre><code>i/pdf/words/_Nimbus_Sans_L_/lollopy.pdf
i/pdf/words/_Nimbus_Sans_L_/sculpt.pdf
i/pdf/words/_Nimbus_Sans_L_/dovelike.pdf
i/pdf/words/_Nimbus_Sans_L_/pubes.pdf
i/pdf/words/_Nimbus_Sans_L_/Clerus.pdf
i/pdf/words/_Nimbus_Sans_L_/canelo.pdf
i/pdf/words/_Nimbus_Sans_L_/Mezentius.pdf
i/pdf/words/_Nimbus_Sans_L_/denounce.pdf
i/pdf/words/_Nimbus_Sans_L_/tiptoppish.pdf
i/pdf/words/_Nimbus_Sans_L_/focometry.pdf
i/pdf/words/_Nimbus_Sans_L_/ungeneric.pdf
i/pdf/words/_Nimbus_Sans_L_/periocular.pdf
i/pdf/words/_Nimbus_Sans_L_/gynarchic.pdf
i/pdf/words/_Nimbus_Sans_L_/polycythemic.pdf
i/pdf/words/_Nimbus_Sans_L_/untrinitarian.pdf
i/pdf/words/_Nimbus_Sans_L_/scaldweed.pdf
i/pdf/words/_Nimbus_Sans_L_/enchondrosis.pdf
i/pdf/words/_Nimbus_Sans_L_/unscathedly.pdf
i/pdf/words/_Nimbus_Sans_L_/phlebotomical.pdf
i/pdf/words/_Nimbus_Sans_L_/transferred.pdf
i/pdf/words/_Nimbus_Sans_L_/photophysical.pdf
i/pdf/words/_Nimbus_Sans_L_/balaenoidean.pdf
i/pdf/words/_Nimbus_Sans_L_/hyperterrestrial.pdf
</code></pre>

<h2>The visual results</h2>

<p>The lists are used to generate pdf files in the <a href="http://www.forkable.eu/memo/2011/workshop/list2pdf/">next step</a>.</p>

<p><img src="http://www.forkable.eu/memo/var/includes/2011/hello_world.gif" alt="" /> <img src="http://www.forkable.eu/memo/var/includes/2011/wordcomplexity.gif" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.forkable.eu/memo/2011/workshop/lisl/control-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash Fundamentals</title>
		<link>http://www.forkable.eu/memo/2011/workshop/lisl/bourne-again-shell/</link>
		<comments>http://www.forkable.eu/memo/2011/workshop/lisl/bourne-again-shell/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 22:49:04 +0000</pubDate>
		<dc:creator>christoph</dc:creator>
				<category><![CDATA[hands on]]></category>
		<category><![CDATA[lisl]]></category>

		<guid isPermaLink="false">http://www.forkable.eu/memo/?p=2348</guid>
		<description><![CDATA[This is a very short and incomplete introduction to the Bourne-Again Shell. On the commandline most programs follow the simple principle of creating and modifying plain text. To make this approach extremly productive the Bash offers some mechanisms. The so-called pipe character (&#124;) acts like a plug to send the output of one program to the input of another. This way way you can easily plug together toolchains, e.g. `ls &#124; rev` combines the list and revert command. To direct the output of a program into a file, instead of another program, you can use the &#62; character. ls *.* &#62; somefile.txt A single &#62; writes a new file, while a double &#62;&#62; appends to a file (if it exists). Variables are another feature. The value of a variable may be accessed after defining through putting a $ in front of your variable name: HELLO=&#34;Hello World&#34; echo $HELLO With backticks you can capsule the output of a program, this means the result of the command inside the backticks will generate command line text. For example: if ls *.* &#124; head -1 = some.txt, then cat `ls *.* &#124; head -1` is the same as cat some.txt This is especially useful [...]]]></description>
			<content:encoded><![CDATA[<p>This is a very short and incomplete introduction to the <a href="http://www.gnu.org/s/bash/">Bourne-Again Shell</a>.</p>

<p>On the commandline most programs follow the simple
principle of creating and modifying plain text.
To make this approach extremly productive the <a href="http://en.wikipedia.org/wiki/Bash_%28Unix_shell%29">Bash</a>
offers some mechanisms.</p>

<p>The so-called <a href="http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-4.html">pipe</a> character (<code>|</code>) acts like a plug to send the output of one program to the input of another.
This way way you can easily plug together toolchains,
e.g.</p>

<pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/ls"><span style="color: #c20cb9; font-weight: bold;">ls</span></a> <span style="color: #000000; font-weight: bold;">|</span> <a href="http://www.forkable.eu/utils/man/rev"><span style="color: #c20cb9; font-weight: bold;">rev</span></a><span style="color: #000000; font-weight: bold;">`</span> </pre>

<p>combines the <code>list</code> and <code>revert</code> command.<br />
To <a href="http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html">direct</a> the output of a program into a file, instead of 
another program, you can use the <code>&gt;</code> character.</p>

<pre class="bash" style="font-family:monospace;"><a href="http://www.forkable.eu/utils/man/ls"><span style="color: #c20cb9; font-weight: bold;">ls</span></a> <span style="color: #000000; font-weight: bold;">*</span>.<span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">&gt;</span> somefile.txt</pre>

<p>A single <code>&gt;</code> writes a new file, while a double <code>&gt;&gt;</code> appends 
to a file (if it exists).</p>

<p><a href="http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-5.html">Variables</a> are another feature. The value of a variable may be accessed after defining through putting a <code>$</code> in front of your variable name:</p>

<pre class="bash" style="font-family:monospace;"><span style="color: #007800;">HELLO</span>=<span style="color: #ff0000;">&quot;Hello World&quot;</span>
<span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #007800;">$HELLO</span></pre>

<p>With <a href="http://tldp.org/LDP/abs/html/commandsub.html">backticks</a> you can capsule the output of a program, this means the result of the command inside the backticks will generate command line text.
For example: <strong>if</strong> <code>ls *.* | head -1</code> <strong>=</strong> some.txt, <strong>then</strong></p>

<pre class="bash" style="font-family:monospace;"><a href="http://www.forkable.eu/utils/man/cat"><span style="color: #c20cb9; font-weight: bold;">cat</span></a> <span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/ls"><span style="color: #c20cb9; font-weight: bold;">ls</span></a> <span style="color: #000000; font-weight: bold;">*</span>.<span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">|</span> <a href="http://www.forkable.eu/utils/man/head"><span style="color: #c20cb9; font-weight: bold;">head</span></a> -<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">`</span> </pre>

<p>is the same as</p>

<pre class="bash" style="font-family:monospace;"><a href="http://www.forkable.eu/utils/man/cat"><span style="color: #c20cb9; font-weight: bold;">cat</span></a> some.txt </pre>

<p>This is especially useful to define variables.</p>

<pre class="bash" style="font-family:monospace;"><span style="color: #007800;">FILE</span>=<span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/ls"><span style="color: #c20cb9; font-weight: bold;">ls</span></a> <span style="color: #000000; font-weight: bold;">*</span>.<span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">|</span> <a href="http://www.forkable.eu/utils/man/head"><span style="color: #c20cb9; font-weight: bold;">head</span></a> -<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">`</span></pre>

<h2>Loops</h2>

<p>Since the Bash is not only a user interface, but a fairly powerful programming language, it offers <strong>loops</strong>, 
one of the most basic and powerful principles of computer 
programming.</p>

<p><code>for</code>–loops can be executed on a space separated list of <em>‘words’</em>. 
The loop-definition may be saved in a file or entered
directly on the commandline: <code>for LETTER in A B; do echo $LETTER ;done</code><br />
A <code>for</code>–loop may of course be combined with a command capsuled in backticks.</p>

<pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span> FILE <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/ls"><span style="color: #c20cb9; font-weight: bold;">ls</span></a> <span style="color: #000000; font-weight: bold;">*</span>.<span style="color: #000000; font-weight: bold;">*`</span>; <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #007800;">$FILE</span>; <span style="color: #000000; font-weight: bold;">done</span></pre>

<p>A <code>while</code>–loop runs while a certain precondition is true:</p>

<pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">while</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000;">1</span> <span style="color: #660033;">-lt</span> <span style="color: #000000;">2</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
 <span style="color: #000000; font-weight: bold;">do</span>
     <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #ff0000;">&quot;true&quot;</span>
<span style="color: #000000; font-weight: bold;">done</span></pre>

<p><code>-lt</code> means less than.</p>

<p>Also available:<br />
<code>-eq</code> = equal<br />
<code>-le</code> = less equal<br />
<code>-gt</code> = greater than<br />
<code>-ge</code> = greater equal</p>

<p>This loop will basically run forever, since 1 will always be less than 2.<br />
Combined with a variable and upcounting inside backticks,</p>

<pre class="bash" style="font-family:monospace;"><span style="color: #007800;">COUNT</span>=<span style="color: #000000;">0</span>
<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$COUNT</span> <span style="color: #660033;">-le</span> <span style="color: #000000;">10</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
 <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #7a0874; font-weight: bold;"><a href="http://www.forkable.eu/utils/man/echo"><span style="color: #c20cb9; font-weight: bold;">echo</span></a></span> <span style="color: #007800;">$COUNT</span>
    <span style="color: #007800;">COUNT</span>=<span style="color: #000000; font-weight: bold;">`</span><a href="http://www.forkable.eu/utils/man/expr"><span style="color: #c20cb9; font-weight: bold;">expr</span></a> <span style="color: #007800;">$COUNT</span> + <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #000000; font-weight: bold;">done</span></pre>

<p>the loop will stop.</p>

<p>You find a <a href="http://en.flossmanuals.net/command-line/">good introduction</a> at <a href="http://www.flossmanuals.net/">floss manuals</a>.
For a complete introduction check the <a href="http://tldp.org/LDP/abs/html/">Advanced Bash Scripting Guide</a>.<br />
For inspiration read <a href="http://digitalartistshandbook.org/?q=node/13">$(echo echo) echo $(echo): Command Line Poetics</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.forkable.eu/memo/2011/workshop/lisl/bourne-again-shell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lilypond</title>
		<link>http://www.forkable.eu/memo/2011/workshop/lisl/ly/</link>
		<comments>http://www.forkable.eu/memo/2011/workshop/lisl/ly/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 17:56:49 +0000</pubDate>
		<dc:creator>christoph</dc:creator>
				<category><![CDATA[graphic as plain text]]></category>
		<category><![CDATA[lisl]]></category>

		<guid isPermaLink="false">http://www.forkable.eu/memo/?p=2194</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.forkable.eu/memo/SANDBOX/111008/fibonacci.ly"><img src="http://www.forkable.eu/memo/SANDBOX/111008/fibonacci.png" alt="" /></a></p>

<p><a href="http://www.forkable.eu/memo/SANDBOX/111008/simple.ly"><img src="http://www.forkable.eu/memo/SANDBOX/111008/simple.png" alt="" /></a></p>

<p><a href="http://www.forkable.eu/memo/SANDBOX/111008/generate.ly"><img src="http://www.forkable.eu/memo/SANDBOX/111008/generate.png" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.forkable.eu/memo/2011/workshop/lisl/ly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Metapost</title>
		<link>http://www.forkable.eu/memo/2011/workshop/lisl/mp/</link>
		<comments>http://www.forkable.eu/memo/2011/workshop/lisl/mp/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 17:52:33 +0000</pubDate>
		<dc:creator>christoph</dc:creator>
				<category><![CDATA[graphic as plain text]]></category>
		<category><![CDATA[lisl]]></category>

		<guid isPermaLink="false">http://www.forkable.eu/memo/?p=2192</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.forkable.eu/memo/SANDBOX/111007/test.mp"><img src="http://www.forkable.eu/memo/SANDBOX/111007/test.1.png" alt="" /></a>
<a href="http://www.forkable.eu/memo/SANDBOX/111007/test.mp"><img src="http://www.forkable.eu/memo/SANDBOX/111007/test.2.png" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.forkable.eu/memo/2011/workshop/lisl/mp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gnuplot</title>
		<link>http://www.forkable.eu/memo/2011/workshop/lisl/gnu/</link>
		<comments>http://www.forkable.eu/memo/2011/workshop/lisl/gnu/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 17:36:45 +0000</pubDate>
		<dc:creator>christoph</dc:creator>
				<category><![CDATA[graphic as plain text]]></category>
		<category><![CDATA[lisl]]></category>

		<guid isPermaLink="false">http://www.forkable.eu/memo/?p=2184</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.forkable.eu/memo/SANDBOX/111006/contours.1.gnu"><img src="http://www.forkable.eu/memo/SANDBOX/111006/contours.1.png" alt="" /></a>
<a href="http://www.forkable.eu/memo/SANDBOX/111006/contours.13.gnu"><img src="http://www.forkable.eu/memo/SANDBOX/111006/contours.13.png" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.forkable.eu/memo/2011/workshop/lisl/gnu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DOT language</title>
		<link>http://www.forkable.eu/memo/2011/workshop/lisl/gv/</link>
		<comments>http://www.forkable.eu/memo/2011/workshop/lisl/gv/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 13:26:36 +0000</pubDate>
		<dc:creator>christoph</dc:creator>
				<category><![CDATA[graphic as plain text]]></category>
		<category><![CDATA[lisl]]></category>

		<guid isPermaLink="false">http://www.forkable.eu/memo/?p=2110</guid>
		<description><![CDATA[Through a post at opensource publishing I stumbled upon this again. 3 fast hacks:]]></description>
			<content:encoded><![CDATA[<p>Through a <a href="http://ospublish.constantvzw.org/news/cosmographs">post at opensource publishing</a> I stumbled upon <a href="http://en.wikipedia.org/wiki/DOT_language">this</a> again. 
<a href="http://www.forkable.eu/memo/SANDBOX/111005/">3 fast hacks</a>:</p>

<p><a href="http://www.forkable.eu/memo/SANDBOX/111005/dictagram_100.gv"><img src="http://www.forkable.eu/memo/SANDBOX/111005/dictagram_100.png" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.forkable.eu/memo/2011/workshop/lisl/gv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

