<?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>Paper Jammed</title>
	<atom:link href="http://paperjammed.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://paperjammed.com</link>
	<description>Has paper taken over your life?</description>
	<lastBuildDate>Fri, 06 May 2011 00:09:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>A slick fix for an annoying problem with my Traveler Guitar</title>
		<link>http://paperjammed.com/2011/04/26/a-slick-fix-for-an-annoying-problem-with-my-traveler-guitar/</link>
		<comments>http://paperjammed.com/2011/04/26/a-slick-fix-for-an-annoying-problem-with-my-traveler-guitar/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 00:25:59 +0000</pubDate>
		<dc:creator>Tad</dc:creator>
				<category><![CDATA[Randomness]]></category>
		<category><![CDATA[Guitars]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://paperjammed.com/?p=1170</guid>
		<description><![CDATA[Last year I purchased a Traveler Guitar EG-1 in the mahogany finish, and I have enjoyed it tremendously—it&#8217;s great for rockin&#8217; it out in my room at the Marriott while on the road. One tiny issue has marred what I would consider a perfect instrument: the sharp ends of the strings dig into your T-shirt [...]]]></description>
			<content:encoded><![CDATA[<p>Last year I purchased a Traveler Guitar EG-1 in the mahogany finish, and I have enjoyed it tremendously—it&#8217;s great for rockin&#8217; it out in my room at the Marriott while on the road. One tiny issue has marred what I would consider a perfect instrument: the sharp ends of the strings dig into your T-shirt and belly when you are playing.</p>
<p><img class="alignnone size-full wp-image-1171" title="20110426-traveler-guitar1" src="http://paperjammed.com/wp-content/uploads/2011/04/20110426-traveler-guitar1.jpg" alt="" width="550" height="367" /></p>
<p>I decided once and for all to fix this problem, and I hope that other Traveler Guitar owners can use this approach to save themselves from getting jabbed by sharp guitar strings. Read on for my cheap and cheerful solution.<span id="more-1170"></span></p>
<p><strong>The Guitar</strong></p>
<p>It&#8217;s a fun little electric guitar with a full-length scale, built-in amplifier, and headphone jack. The best thing is, it fits in an airplane overhead compartment—I have traveled by air several times with my guitar and nobody has even lifted an eyebrow.</p>
<p>They achieve this diminutive size by removing the head and putting the tuners in the center of the guitar body. You can see the strings starting at the tip of the fingerboard and then wrapping around little pulleys at the base of the instrument.</p>
<p><strong>The Problem</strong></p>
<p><img class="alignnone size-full wp-image-1172" title="20110426-traveler-guitar2" src="http://paperjammed.com/wp-content/uploads/2011/04/20110426-traveler-guitar2.jpg" alt="" width="550" height="367" /></p>
<p>From this view of the back of the guitar, you can see that the tuning machines are flush against your belly when you play the instrument. Unless you have some superior string wrapping technique that does not expose the sharp tip of the string, you will get jabbed as you play. And don&#8217;t think you can arrange things so the pointy bits are all on the inside—as soon as you tune up, the sharp ends will rotate around.</p>
<p><strong>My Simple Fix</strong></p>
<p><img class="alignnone size-full wp-image-1191" title="20110426-traveler-guitar3" src="http://paperjammed.com/wp-content/uploads/2011/04/20110426-traveler-guitar31.jpg" alt="" width="550" height="367" /></p>
<p>Today over lunch I stopped by my local music store and asked the guitar tech if he had some nice looking pick guard material lying around. He found a very attractive piece of laminated tortoise shell plastic which he cut roughly to size for me. He sort of squinted at it and said &#8220;How&#8217;s ten bucks sound?&#8221;, which was fine by me.</p>
<p>Here&#8217;s a <a href="http://paperjammed.com/wp-content/uploads/2011/04/20110426-traveler-guitar-eg1-back-plate.pdf">drawing with measurements</a>.</p>
<p>I used a belt sander and a smooth file to put the finishing touches on the shape, checking squareness with a try square as I worked. I then rounded the corners and put a slight bevel on all edges.</p>
<p>I hit Home Depot and bought some strips of Velcro, which I trimmed to size and attached to the back of the guitar and the new back plate.</p>
<p><strong>The Finished Product</strong></p>
<p><img class="alignnone size-full wp-image-1176" title="20110426-traveler-guitar4" src="http://paperjammed.com/wp-content/uploads/2011/04/20110426-traveler-guitar4.jpg" alt="" width="550" height="367" /></p>
<p>Problem solved!</p>
]]></content:encoded>
			<wfw:commentRss>http://paperjammed.com/2011/04/26/a-slick-fix-for-an-annoying-problem-with-my-traveler-guitar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Export iTunes Playlists to a non-iTunes World</title>
		<link>http://paperjammed.com/2011/03/01/export-itunes-playlists-to-a-non-itunes-world/</link>
		<comments>http://paperjammed.com/2011/03/01/export-itunes-playlists-to-a-non-itunes-world/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 01:42:50 +0000</pubDate>
		<dc:creator>Tad</dc:creator>
				<category><![CDATA[Geekery]]></category>
		<category><![CDATA[Workflow]]></category>
		<category><![CDATA[Files and Folders]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://paperjammed.com/?p=1148</guid>
		<description><![CDATA[Do you want to automatically publish iTunes playlists to a non-iTunes music library? This free application will convert iTunes playlists to m3u files, transform paths to match your external master library, and then copy the playlists over the network. It will even ping a Squeezebox server to force a playlist refresh.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-1165" title="iStock_000000260938XSmall" src="http://paperjammed.com/wp-content/uploads/2011/03/iStock_000000260938XSmall-300x225.jpg" alt="" width="300" height="225" />I freely admit my dislike for iTunes—it&#8217;s a black box where you toss your music, giving full control over your library to Apple.<br />
The problem is that sometimes you might want to manage your library in a way that Apple never intended, and then things become challenging. iPods, iPads, and iPhones pretty much force us to use iTunes, so why not figure out some way to lessen the pain?</p>
<p>I like the playlist tools that iTunes provides, and I find it very convenient to create Smart Playlists or to create Genius lists. However, I want to keep my Master Library of music elsewhere, far from iTunes. Wouldn&#8217;t it be great if I could share these playlists on my home network in a completely nondenominational format? Wouldn&#8217;t it be nice if my Squeezebox server would have those same playlists available? And wouldn&#8217;t it be spectacular if those playlists would magically appear on a network drive whenever the lists change in iTunes?</p>
<p>Read on for details on how I accomplished this and to download the free utility I wrote to handle this task.<span id="more-1148"></span></p>
<p><strong>The Problem To Be Solved</strong></p>
<p>In order to understand what this application does, you need to know what I was trying to accomplish.</p>
<p>I have a NAS drive on my network that contains my Master Library of mp3 files. The files on this drive are located under <strong>/media/music</strong>.</p>
<p>I have a <a href="http://en.wikipedia.org/wiki/Squeezebox_Server">Squeezebox server</a>, running on an Ubuntu machine. This server is used by Squeezebox devices to play music anywhere in my house. It holds a copy of the Master Library, located under <strong>/srv/squeezebox/music</strong></p>
<p>What I want: I want my Mac to magically push <a href="http://en.wikipedia.org/wiki/M3U">proper m3u playlists</a> to the Squeezebox server—the Squeezebox server understands m3u playlists.</p>
<p>What I don&#8217;t want: Squeezebox supports direct access to iTunes. But I don&#8217;t want to do this because I don&#8217;t want to have to run Squeezebox on my Mac. Why did I bother setting up a dedicated <em>server</em> if I have to keep my Mac running?</p>
<p>Why is this challenging: Even if I could point Squeezebox to the bare iTunes database file, all of the file paths are wrong. My master library might have a song at <strong>&#8230;/artist/album_name/disc 1/</strong>, while iTunes might put it at <strong>&#8230;/Artist/Album Name/</strong>, omitting the <strong>disc 1</strong> folder and reformatting names.</p>
<p><strong>My Solution</strong></p>
<p>I wrote a small command line application in Perl that supports the following:</p>
<ul>
<li>Paths to songs in Apple&#8217;s mysterious black box are converted to nice paths to the same songs in my golden Master Library.</li>
<li>Even if a song name changes or a folder path changes, the original master copy is found.</li>
<li>All playlists are generated in m3u format.</li>
<li>Smart playlists and Genius playlists are supported.</li>
<li>The generated playlists are automatically moved to either a local directory or a remote server, using <strong><a href="http://en.wikipedia.org/wiki/Secure_copy">scp</a></strong>.</li>
<li>Network shares are automatically mounted at beginning of process and unmounted at end of process.</li>
<li>You can provide a file path to be prepended to all playlist entries.</li>
<li>Exits early if the iTunes library has not changed since the last run.</li>
<li>Supports exclusion patterns in order to skip some playlists.</li>
<li>A local Squeezebox server can be automatically pinged to cause it to refresh playlists.</li>
</ul>
<p>Here is the <a title="plmapper man page" href="http://paperjammed.com/plmapper.html">full documentation</a> for the Playlist Mapper application.</p>
<p><img class="alignnone size-full wp-image-1157" title="20110301-squeezebox" src="http://paperjammed.com/wp-content/uploads/2011/03/20110301-squeezebox.png" alt="" width="550" height="471" /></p>
<p><strong>Basic Installation</strong></p>
<p>Please note that this is a command line program. Some day I might figure out how to make a pretty GUI installer for it, but for now you have to get your hands a little dirty in order to install and configure.</p>
<p>Download the application here: <a href="http://paperjammed.com/wp-content/uploads/2011/03/plmapper.zip">plmapper</a></p>
<p>This is a Perl script that uses many standard utilities already present in a Snow Leopard OS X installation. You should not need anything other than the <strong>plmapper</strong> file itself.</p>
<p>Unzip the file and place <strong>plmapper</strong> in your home directory.</p>
<p>Open a Terminal window and make the script executable:</p>
<pre>chmod u+x plmapper</pre>
<p>Read the man page for the application by doing this:</p>
<pre>./plmapper --man</pre>
<p>There are many command line arguments, but you don&#8217;t need to worry about most of them. Create a file called <strong>plmapper.config</strong> in your home directory and put any arguments you need in that file, as name-value pairs.</p>
<p>Example:</p>
<pre>itunes=/Users/Bozo/Music/iTunes Music Library.xml
dest=/Users/Bozo/Desktop
library=/Volumes/media/music</pre>
<p>Once you have added all of the configuration settings, go ahead and run it:</p>
<pre>./plmapper</pre>
<p>You should see plenty of status information go by as each playlist is processed.</p>
<p><strong>Making it Run Automatically</strong></p>
<p>There are better ways of doing this, but I&#8217;m a command-line commando, so I simply added the following <strong><a href="http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man8/cron.8.html">cron</a></strong> entry (see <strong><a href="http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/crontab.1.html">crontab</a></strong>):</p>
<pre>0 22 * * * /Users/Me/bin/plmapper &gt;/Users/Me/plmapper.log 2&gt;&amp;1</pre>
<p>This causes the plmapper program to run once daily at 10pm, logging output to a file called <strong>plmapper.log</strong> in my home directory.</p>
<p>Of course, this can be tweaked to taste; it doesn&#8217;t matter if you run it hourly since the app skips any heavy lifting once it sees that the iTunes library file hasn&#8217;t been touched.</p>
<p><strong>How It Works</strong></p>
<p>The application performs the following basic steps:</p>
<ul>
<li>Mounts network shares using <strong><a href="http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man8/mount_smbfs.8.html">mount_smbfs</a></strong>.</li>
<li>All music files in the external non-iTunes Master Library are listed in an internal data structure, sorted by file size.<br />
This allows us to quickly find a &#8220;short list&#8221; of possible candidate files that match a given source file. This works because mp3 files have fairly random sizes.</li>
<li>The iTunes database XML file is processed using an XSLT transformation to generate a set of basic <strong>m3u</strong> playlist files. The <strong><a href="http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/xsltproc.1.html">xsltproc</a></strong> command line utility is used to run the transformation.</li>
<li>All paths in the playlists are converted from escaped URI syntax (e.g. %20 for space) to regular UTF-8 characters.</li>
<li>Each path is resolved to a single music file (i.e. an mp3 file) in the Master Library.<br />
This is done by obtaining the size of the iTunes version of the file and then looking this up in the internal list created in the first step.</li>
<li>Once a short list of candidates is found, the first few thousand bytes of each file are compared until a match is found.The risks of choosing the wrong file are low: all that will happen is that a song might be switched in the playlist accidentally. As such, it isn&#8217;t worth scanning the full file to ensure they are exact matches.This algorithm works quite well, and can detect music files that have been renamed and moved around.</li>
</ul>
<ul>
<li>The playlist files are now converted from <strong>utf8mac</strong> to <strong>utf8</strong> using the <strong><a href="http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/iconv.1.html">iconv</a></strong> command line utility.This process collapses wide UTF-8 characters, consisting of a letter plus an accent add-on, into their single-letter equivalents. This process is known as Unicode Normalization, and this tool uses <strong>Normalization form C</strong>: Compatibility decompisitiion followed by canonical composition.</li>
<li>Playlist files are now copied to a local or remote directory, either as direct file copy or via the <strong><a href="http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/scp.1.html">scp</a></strong> utility.</li>
<li>Optionally, a special call is made to a specified Squeezebox server to tell the server to refresh all playlists.</li>
<li>Any mounted shares that were mounted by this process are unmounted via <strong><a href="http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man8/diskutil.8.html">diskutil</a> unmount</strong>.</li>
</ul>
<p><strong>Limitations</strong></p>
<ul>
<li>Nested folders of playlists currently act funny. The lists will come over, but you may get two lists. You can use the exclude option to prevent this.</li>
<li>Songs with non-ASCII characters in the file name might not be recognized by all players. Squeezebox has a problem with many special characters—I tested this by adding songs like <strong>Águas de Março.mp3</strong> using Squeezebox&#8217;s own playlist editor, and when I reloaded the list the songs were not there. This is a bug in Squeezebox server.</li>
<li>Occasionally the file matching algorithm might pick the wrong song. In an effort to speed up processing, the program only looks at the first few thousand bytes of files when comparing. It isn&#8217;t a big deal if the wrong file is added to a playlist, is it?</li>
</ul>
<p><strong>Closing Thoughts</strong></p>
<p>As often happens, this program was written because I had an itch that needed to be scratched. Now that I went through all of the hassles, I hope others can benefit.</p>
<p>Through good fortune, I am working in a Macintosh environment. This means that all of the important tools were already present on my machine: <strong>perl</strong>, <strong>xsltproc</strong>; <strong>mount</strong>; <strong>iconv</strong>; <strong>scp</strong>; <strong>nc</strong>; and others. If I were writing this for a PC, I probably would have written the whole thing in Java—a more familiar language to me, but one that comes with its own configuration issues.</p>
<p>I plan on updating plmapper over time, and if anyone has suggestions, please let me know.</p>
<p>And if a Perl guru wants to tell me my Perl skillz are subpar, go right ahead—but be gentle, and let me know how to improve the app.</p>
<p>[Update]</p>
<p>Fixed a couple of bugs related to path and &#8220;qx&#8221; calls, thanks to Chris. Updated version <a href="http://paperjammed.com/wp-content/uploads/2011/03/plmapper.zip">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://paperjammed.com/2011/03/01/export-itunes-playlists-to-a-non-itunes-world/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Another fifty pictures scanned and ten thousand to go&#8230;where did I leave off?</title>
		<link>http://paperjammed.com/2011/02/19/another-fifty-pictures-scanned-and-ten-thousand-to-go-where-did-i-leave-off/</link>
		<comments>http://paperjammed.com/2011/02/19/another-fifty-pictures-scanned-and-ten-thousand-to-go-where-did-i-leave-off/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 04:12:41 +0000</pubDate>
		<dc:creator>Tad</dc:creator>
				<category><![CDATA[Scanning]]></category>
		<category><![CDATA[Workflow]]></category>
		<category><![CDATA[Photos]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://paperjammed.com/?p=1135</guid>
		<description><![CDATA[I have tons of old photos that I am always in the process of scanning in. Some are pictures from childhood, others are from my time in the Navy, and still others are from family life before digital photography (somewhere around the end of 2000 I bought my first digital camera, a Canon G1). I [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-1136" title="iStock_000003028590XSmall" src="http://paperjammed.com/wp-content/uploads/2011/02/iStock_000003028590XSmall-300x201.jpg" alt="" width="180" height="121" />I have tons of old photos that I am always in the process of scanning in. Some are pictures from childhood, others are from my time in the Navy, and still others are from family life before digital photography (somewhere around the end of 2000 I bought my first digital camera, a Canon G1).</p>
<p>I have been struggling with making everything digital for years now, and there are stacks of photos and thick albums that remain uncharted territory. Every once in awhile I sit down and scan in an album.</p>
<p>Trouble is, unless you do the whole job at once, it&#8217;s pretty easy to lose track of where you have already been. And if that&#8217;s not bad enough, we always bought double prints—they didn&#8217;t cost much more, and we could give some away. Now how do I know if I have scanned the long-lost twins of some photos that are already on my computer? That&#8217;s a problem for another day.</p>
<p>Here&#8217;s how I make sure I don&#8217;t scan the same single photo twice:</p>
<p><img class="size-full wp-image-1137 alignnone" title="20110219-marked-photos" src="http://paperjammed.com/wp-content/uploads/2011/02/20110219-marked-photos.jpg" alt="" width="500" height="375" /></p>
<p>That&#8217;s right, I leave breadcrumbs in the form of little dots on the back of each one.</p>
<p>Such a simple thing, but it saves me from a lot of head scratching and wasted time scanning the same stuff over and over.</p>
]]></content:encoded>
			<wfw:commentRss>http://paperjammed.com/2011/02/19/another-fifty-pictures-scanned-and-ten-thousand-to-go-where-did-i-leave-off/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A couple of AppleScript droplets to tweak EXIF timestamps</title>
		<link>http://paperjammed.com/2011/02/14/a-couple-of-applescript-droplets-to-tweak-exif-timestamps/</link>
		<comments>http://paperjammed.com/2011/02/14/a-couple-of-applescript-droplets-to-tweak-exif-timestamps/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 04:52:45 +0000</pubDate>
		<dc:creator>Tad</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Workflow]]></category>
		<category><![CDATA[AppleScript]]></category>
		<category><![CDATA[Files and Folders]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Macros]]></category>
		<category><![CDATA[Photos]]></category>
		<category><![CDATA[Scanning]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://paperjammed.com/?p=1114</guid>
		<description><![CDATA[Most of the time I don&#8217;t really bother with the timestamp information that my camera embeds in each digital photo. In fact, I can&#8217;t remember the last time I checked to see if the clock was right. Scanned photographs are an entirely different brew. They typically represent events from the distant past, and scanner software [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-1116" title="iStock_000010531463XSmall" src="http://paperjammed.com/wp-content/uploads/2011/02/iStock_000010531463XSmall-300x193.jpg" alt="" width="300" height="193" />Most of the time I don&#8217;t really bother with the timestamp information that my camera embeds in each digital photo. In fact, I can&#8217;t remember the last time I checked to see if the clock was right.</p>
<p>Scanned photographs are an entirely different brew. They typically represent events from the distant past, and scanner software EXIF data is hit or miss.</p>
<p>I looked for commercial software to handle a few special cases of EXIF data troubles, but came up empty handed. So I wrote a few useful AppleScript droplets that do these tasks quite nicely, and I will share them here.<span id="more-1114"></span></p>
<p><strong>Warning!</strong></p>
<p>These scripts use <strong>jhead</strong> to manipulate and <em>rewrite</em> your JPEG files!</p>
<p>Don&#8217;t be a fool. Experiment first with a safe set of throwaway JPEGs. And never use these tools on original files; always keep a backup.</p>
<p><strong>Prerequisite</strong></p>
<p>All of these scripts depend on a fine piece of free software called <a href="http://www.sentex.net/~mwandel/jhead/">jhead</a> written by <a href="http://www.sentex.net/~mwandel/index.html">Matthias Wandel</a>.</p>
<p>Installation is not difficult, but it does involve the command line.</p>
<ul>
<li>Go to the <a href="http://www.sentex.net/~mwandel/jhead/">jhead site</a></li>
<li>Scroll down to the <strong>Releases</strong> section and look for <strong>Pre-built OS-X Intel executable</strong></li>
<li>Right click on the <strong>jhead</strong> link on that row and choose <strong>Save Linked File to &#8220;Downloads&#8221;</strong></li>
</ul>
<p>At this point, I found that <strong>jhead</strong> was saved as <strong>jhead.txt</strong>. Oh well. We needed to do some command-line magic anyway.</p>
<ul>
<li>Open a terminal window and enter the following:</li>
</ul>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #7a0874; font-weight: bold;">cd</span> ~<span style="color: #000000; font-weight: bold;">/</span>Downloads<br />
$ <span style="color: #c20cb9; font-weight: bold;">mv</span> jhead.txt jhead<br />
$ <span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">777</span> jhead<br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mv</span> jhead <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin</div></td></tr></tbody></table></div>
<p>These lines do the following:</p>
<ul>
<li>Lines 1 and 2 navigate to the Downloads directory and remove the &#8220;.txt&#8221; from the name</li>
<li>Line 3 makes the file executable by everyone on your Mac</li>
<li>Line 4 places the file in a public area where everyone on your Mac can see it (you will be prompted for your password)</li>
</ul>
<p><strong>Stripping All EXIF Data</strong></p>
<p>Sometimes I receive files that have corrupt EXIF data. I had a large quantity of scanned files in my collection that claimed to be scanned some time in 2038, while others insisted that they had been around since 1901. Neither situation is good, and I found that standard EXIF editing tools may fail to change these corrupt EXIF sections.</p>
<p>The answer is to blow away the EXIF data.</p>
<p>Download: <a href="http://paperjammed.com/wp-content/uploads/2011/02/Strip-EXIF.zip">Strip EXIF</a></p>
<p>This zip file contains a compiled AppleScript application. You can unzip it and place the application on your desktop. Safari will probably unzip it for you when you click the link.</p>
<p>To be safe, open AppleScript Editor and use it to open the <strong>Strip EXIF</strong> app to see its magic.</p>
<p>Now you can drop any number of JPEG files onto the <strong>Strip EXIF</strong> app and it will kindly eviscerate each JPEG, removing all traces of EXIF data.</p>
<p><strong>Adding Basic EXIF Data to a vanilla JPEG</strong></p>
<p>Some tools create JPEG files without EXIF date and time information within. This is typically the hallmark of photo manipulation software and dodgy scanner software. And if you happened to use the <strong>Strip EXIF</strong> app to rip out a bad EXIF block, then you will want to replace it with a proper data block so that you can still use camera date and timestamps.</p>
<p>Download: <a href="http://paperjammed.com/wp-content/uploads/2011/02/Add-Basic-EXIF.zip">Add Basic EXIF</a></p>
<p>Again, unzip the file, place the app on your desktop, and then drop any number of JPEG files onto <strong>Add Basic EXIF</strong>.</p>
<p>The app will set the EXIF date to the file creation timestamp.</p>
<p><strong>Spreading EXIF Timestamps</strong></p>
<p>This is the real reason why I wrote these scripts. I couldn&#8217;t find a satisfactory tool on the market that would allow me to automatically spread out the shooting times for a series of images.</p>
<p>Why would anyone want to do this? Because some processes give you fifty JPEG files all with the exact same creation time and exact same shooting time. I like to use file renaming tools to incorporate the shooting time in the filename, so that files sort by chronological order. This doesn&#8217;t work if all of the timestamps are the same.</p>
<p>So I wrote a little app that adjusts the first photo by one minute, the second by two minutes, and so on. If there are fifty photos, then the last one will have its shooting time adjusted by fifty minutes.</p>
<p>The result is a series of photos/scans that have different timestamps.</p>
<p>Download: <a href="http://paperjammed.com/wp-content/uploads/2011/02/Spread-EXIF-Timestamps.zip">Spread EXIF Timestamps</a></p>
<p>Again, please look at the short program before you run it.</p>
<p><strong>Closing Thoughts</strong></p>
<p>I hope that my favorite tool implements these tricks soon (<strong>A Better Finder Attributes</strong>, I&#8217;m looking at you!), but until then, I will be dropping my files onto these three little droplets.</p>
<p>The <strong>jhead</strong> tool is so versatile that I will probably end up with a whole slew of similar droplets that will do all kinds of spiffy stuff. Nevertheless, I would rather the commercial products already provided these features. Not everyone likes dipping into AppleScript and the command line!</p>
]]></content:encoded>
			<wfw:commentRss>http://paperjammed.com/2011/02/14/a-couple-of-applescript-droplets-to-tweak-exif-timestamps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extra Geek Points Today: Ubuntu running on Soekris</title>
		<link>http://paperjammed.com/2011/02/06/extra-geek-points-today-ubuntu-running-on-soekris/</link>
		<comments>http://paperjammed.com/2011/02/06/extra-geek-points-today-ubuntu-running-on-soekris/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 03:52:17 +0000</pubDate>
		<dc:creator>Tad</dc:creator>
				<category><![CDATA[Geekery]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://paperjammed.com/?p=1099</guid>
		<description><![CDATA[This is all about getting another stamp on my geek card, so if that&#8217;s not your thing, you might want to just move on&#8230; Anyway, some weeks ago I was thinking how cool it would be to have a totally fanless and silent little black box that would serve up something useful in my house, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-1104" title="Computer Geek Happy" src="http://paperjammed.com/wp-content/uploads/2011/02/iStock_000006522132XSmall-200x300.jpg" alt="iStockPhoto" width="200" height="300" />This is all about getting another stamp on my geek card, so if that&#8217;s not your thing, you might want to just move on&#8230;</p>
<p>Anyway, some weeks ago I was thinking how cool it would be to have a totally fanless and silent little black box that would serve up something useful in my house, such as the wiki I use to keep track of my geeky pursuits.</p>
<p>The other day I managed to obtain a spare Soekris net4801 box, a device best known for embedded applications such as firewalls. Between last night and this morning, I spent about three hours working out the hitches and getting MoinMoin and Ubuntu up and running on this neat little box.<span id="more-1099"></span></p>
<p><strong>The Device</strong></p>
<p>So this is what I am talking about:</p>
<p><img class="alignnone size-medium wp-image-1101" title="20091006-soekris-net4801" src="http://paperjammed.com/wp-content/uploads/2011/02/20091006-soekris-net4801-300x115.jpg" alt="" width="300" height="115" /></p>
<p>Cute, isn&#8217;t it?</p>
<p>It&#8217;s a <a href="http://www.soekris.com/net4801.htm">Soekris net4801</a>, a single board computer, a bit smaller than a hardcover book, with a 233MHz chip and 128MB of RAM soldered on the board. It doesn&#8217;t even have a hard drive—it runs everything off of a CF card.</p>
<p><strong>The Operating System</strong></p>
<p>After searching around for various combinations, I chose Ubuntu. Many people use FreeBSD on these boxes, because it is such a lightweight Linux distro, but I immediately ran into issues during the FreeBSD install process, and it was clear that I was going to have to learn many details of this different distro if I wanted to make my own custom install.</p>
<p>The approach I followed involved creating an image using an existing Ubuntu machine—a Hardy instance (8.04LTS) that I have running in a VM on my Mac.</p>
<p><strong>The Process</strong></p>
<p>I followed two different pages for getting Ubuntu up and running:</p>
<ul>
<li><a href="http://wiki.soekris.info/Installing_Ubuntu_7.04_Server_via_debootstrap">Installing Ubuntu 7.04 Server via debootstrap</a></li>
<li><a href="http://www.swineworld.org/odds/ubuntu9.04-soekris4801.html">Ubuntu 9.04 (jaunty) on a soekris net-4801</a></li>
</ul>
<p>As it turned out, I had to keep bouncing between the two pages, using a little bit from one and then grabbing something from the other. For example, one page mentioned using <tt>parted</tt> for partitioning the CF card, while the other used <tt>cfdisk</tt>. I found <tt>cfdisk</tt> a little less intimidating, so that&#8217;s the one I used.</p>
<p>Both of these pages talk about using a tool called <a href="http://wiki.debian.org/Debootstrap">Debootstrap</a> to install a new Debian base system in a subdirectory of another.</p>
<p>By mounting the CF card on a running Ubuntu instance, and then mounting the ISO Ubuntu disk image, you use <tt>debootstrap</tt> to generate a base Ubuntu install on the CF card.</p>
<p>It ain&#8217;t simple, but it ain&#8217;t rocket science. There are several tedious details, but for the most part it is a matter of following the directions.</p>
<p>The overall process is as such:</p>
<ul>
<li>Format and partition the CF card with Linux filesystems</li>
<li>Use <tt>debootstrap</tt> to create a base Ubuntu install on the card</li>
<li>Use <tt>chroot</tt> to set the card as the root filesystem and make several tweaks, such as setting up mount points, configuring networking, and adding users</li>
<li>Get the latest kernel and set up grub</li>
</ul>
<p>Then you plug it into the Soekris and boot</p>
<p><strong>Other Hardware Issues</strong></p>
<ul>
<li>You need a CF card reader, a device which is becoming more rare as each day passes.</li>
<li>You also need a serial cable and a machine with a serial port—that&#8217;s how you get to the console on the Soekris.</li>
</ul>
<p><strong>Ubuntu Configuration</strong></p>
<p>Once I got Ubuntu up and running and was connected via the console, I did the following:</p>
<ul>
<li>Installed <tt>ssh</tt></li>
<li>Installed <tt>apache2</tt></li>
<li>Installed and configured MoinMoin</li>
</ul>
<p>Once <tt>ssh</tt> was up and running, I could abandon the serial console and do my work from a terminal window on my Mac.</p>
<p><strong>Final Outcome</strong></p>
<p>I was saddened by the results. Each page takes about seven seconds to render. This is probably a combination of these factors:</p>
<ul>
<li>My box uses a CF card, and not a hard drive. It is quite possible that the claimed 15MB/s written on the card is a lie, and I haven&#8217;t even checked to see how far that is from hard drive access times.</li>
<li>MoinMoin is filesystem intensive, and they recommend running on a system with lots of memory, to keep the files in-memory.</li>
<li>This device has only 128MB of memory, and it isn&#8217;t expandable.</li>
<li>The processor isn&#8217;t that fast: 233MHz.</li>
<li>I have done nothing to tune the Ubuntu install to make it faster.</li>
</ul>
<p>I looked at top while the pages were being generated, and it was clear that the CGI script for MoinMoin was really taking seven seconds each time.</p>
<p>I looked up MoinMoin tuning and saw that I should be using WSGI instead of CGI, but there wasn&#8217;t a ready made package for Hardy, and I didn&#8217;t want to spend the time building it, chasing after a possible second or two of performance.</p>
<p>Maybe some day I&#8217;ll buy the hard drive adapter for the Soekris and see if I can bump up the speed that way. It&#8217;s better to run a system like this on a hard drive anyway.</p>
<p>Another thing I have in mind is to try this on my PC Engines ALIX box that runs my home firewall—that&#8217;s a much faster board with more memory.</p>
<p>So, if you landed here because you were trying something similar, let me know. Share your thoughts and successes or failures.</p>
<p><strong>Update</strong></p>
<p>So I had some spare time today and I decided to take another whack at loading some of the other variants of Unix/Linux onto the device, hopefully finding something lightweight with a smaller memory footprint.</p>
<p>The mysteries of <a href="http://en.wikipedia.org/wiki/Preboot_Execution_Environment"><strong>PXE</strong></a> were slowly made clear to me—if you read a the Wikipedia page, it looks fairly complex with lots of configuration on the various bits. The reality is that PXE involves a few simple things:</p>
<ul>
<li>Local DHCP server tweaks to point the way to the PXE server</li>
<li>A <strong><a href="http://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol">tftp</a></strong> server—meaning Trivial File Transfer Protocol</li>
<li>The actual PXE boot payload file (typically a bootstrap file along with a config file)</li>
<li>Some kind of file server, such as HTTP or NFS, to host the full install directory tree from the ISO of choice (FreeBSD, Ubuntu, etc)</li>
</ul>
<p>Any decent geek who messes around with Linux boxes probably already has a few of these pieces running somewhere.</p>
<p>The reason it seems so darned complicated is that most online solutions do all of this in one shot on one machine, building a DHCP server as well as an NFS server, talking about this mysterious <tt>tftp</tt> along with <tt>inetd</tt> (&#8220;Trivial FTP&#8221; sounds so much more manageable, doesn&#8217;t it?).</p>
<p>Upon realizing that most of the scary stuff was all about getting <tt>tftp</tt> running, I followed this fine set of instructions on <a href="http://www.davidsudjiman.info/2006/03/27/installing-and-setting-tftpd-in-ubuntu/">Installing and setting TFTPD in Ubuntu</a> and had my Ubuntu <tt>tftp</tt> server running in about five minutes.</p>
<p>I was also able to relatively quickly add two single entries in my m0n0wall firewall configuration (my DHCP server) so that it would redirect local PXE requests correctly. This involved two &#8220;hidden options&#8221; from this m0n0wall page: <a href="http://doc.m0n0.ch/handbook/faq-hiddenopts.html">What about hidden config.xml options?</a></p>
<p>And the web server? I already had an Apache server installed on my Ubuntu box, so that was no problem whatsoever.</p>
<p>Once you separate it out into its pieces, it is a pretty quick setup.</p>
<p>The hardest part is setting up the PXE payload. I was able to get Soekris to boot a couple of different boot kernels, but at this point I realized that any more progress would require custom boot loaders and such, compiled on a FreeBSD machine, and this was more than I wanted to get into.</p>
<p>So I reimaged the borrowed Soekris as a m0n0wall firewall, as it had been before, and restored the original configuration file. In a few days it will be back in its home, doing a proper job of being a firewall.</p>
]]></content:encoded>
			<wfw:commentRss>http://paperjammed.com/2011/02/06/extra-geek-points-today-ubuntu-running-on-soekris/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why must basic copy/paste operations always result in &#8220;Ransom Note&#8221; text?</title>
		<link>http://paperjammed.com/2011/01/31/why-must-basic-copypaste-operations-always-result-in-ransom-note-text/</link>
		<comments>http://paperjammed.com/2011/01/31/why-must-basic-copypaste-operations-always-result-in-ransom-note-text/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 02:06:51 +0000</pubDate>
		<dc:creator>Tad</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Macros]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://paperjammed.com/?p=1077</guid>
		<description><![CDATA[I estimate that in any given day I must use clipboard copy and paste operations a few dozen times—and if I&#8217;m working with multiple documents, such as when transcribing information from a spreadsheet to a Word document, that figure becomes more like a few hundred times a day. But in all of those times, I [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-1078" title="iStock_000004240660XSmall" src="http://paperjammed.com/wp-content/uploads/2011/01/iStock_000004240660XSmall-300x199.jpg" alt="" width="300" height="199" />I estimate that in any given day I must use clipboard copy and paste operations a few dozen times—and if I&#8217;m working with multiple documents, such as when transcribing information from a spreadsheet to a Word document, that figure becomes more like a few hundred times a day.</p>
<p>But in all of those times, I almost never want my computer to paste &#8220;ransom note&#8221; text. Ninety nine times out of a hundred, I want clean text to be pasted, neatly blending with its surroundings. In other words, paste it as if I were typing it at the keyboard.</p>
<p>So why does Apple think we always want to paste styled text? And why does Microsoft think we always want our spreadsheet to suddenly be filled with somebody else&#8217;s 24 point Comic Sans letters instead of a nice unformatted date and time?</p>
<p>Here are my workarounds for this problem. Maybe someone can offer a few other workarounds.<span id="more-1077"></span></p>
<p><strong>Windows</strong></p>
<p>The easiest way to pasting unformatted content in Windows is to use a free program called Pure Text by a gentleman named Steve Miller. <a href="http://www.stevemiller.net/puretext/">Download PureText 2.0</a> for all modern versions of Windows.</p>
<p>This app doesn&#8217;t have an installer; it runs from wherever it is. However, since it does provide  the ability to launch when Windows starts, I recommend you first drag the small executable file to a nice permanent home somewhere on your hard drive (I usually create a <strong>C:\Program Files\PureText</strong> folder).</p>
<p>Now launch the app. You will see a small <strong>PT</strong> icon in your system tray.</p>
<p>All you need to do for an unformatted non-ransom-note paste action is to hit <strong>Windows+V</strong>. In other words, instead of <strong>Control+V</strong>, hit the Microsoft flag key and <strong>V</strong>. You will hear a short cowbell sound as the paste action is performed.</p>
<p><strong>Macintosh</strong></p>
<p>Amazingly, there doesn&#8217;t seem to be such a free simple little tool available for Macintosh.</p>
<p>In some applications, such as Pages, the four-key combination of <strong>Option+Shift+Command+V</strong> will perform an unformatted Paste operation.</p>
<p>If you don&#8217;t mind spending a bit of money, programs such as <a href="http://www.apimac.com/cleantext/">Clean Text for Mac</a> and <a href="http://www.selznick.com/products/smartwrap/mac/index.htm">SmartWrap 2</a> provide this functionality at a price: both are about twenty bucks. Fortunately, both products provide much more functionality than just stripping formatting from the clipboard.</p>
<p>If you want to roll your own, the best I could come up with is to use a keyboard macro application to assign a tiny script to the desired keys—this option works fine if you already happen to have a keyboard macro application installed. I use <a href="http://www.keyboardmaestro.com/main/">Keyboard Maestro</a>, though this method should work just as well with other macro tools.</p>
<p>The essence of the &#8220;strip formatting&#8221; operation lies in this very short shell script:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#!/bin/sh</span><br />
pbpaste <span style="color: #000000; font-weight: bold;">|</span> pbcopy</div></td></tr></tbody></table></div>
<p>What this does is it simply pipes the output of a command-line &#8220;read clipboard&#8221; action into a command-line &#8220;copy&#8221; action. This is a text-level operation, so no funky formatting makes it through. Now, the clipboard contains only pure unformatted text.</p>
<p>The trick is to make your keyboard macro program execute this when you hit the key combination of your choice. Maybe I&#8217;ll find inspiration some day to learn how to make a small application like PureText for the Mac. When I do, I&#8217;ll post it here.</p>
<p>There are other options available for Macintosh. If you are ambitious, you can turn the problem around and <a href="http://hints.macworld.com/article.php?story=20090905230902190">Create a &#8216;copy as plain text&#8217; service</a>.</p>
<p><strong>Why do computers do this?</strong></p>
<p>When you copy text, the computer puts it on the clipboard in many different styles, referred to as <em>flavors</em>. Typical flavors might be &#8220;Rich Text&#8221;, &#8220;Unformatted Text&#8221; or &#8220;Image Data&#8221;. When you then perform a paste operation somewhere else, the receiving application sifts through the available flavors of your clipboard data and selects the one it likes the most. The application will usually pick the fanciest usable flavor available.</p>
<p>Usually, this process works fairly well. When you copy a selection of cells in an Excel spreadsheet, it might paste into a Word document as a proper Word table, but if you paste into an email application, you might get an image of the cells, and if you paste into a text editor such as Notepad, you will see just the numbers and words.</p>
<p>Likewise, a copied Visio diagram might paste into Word as an embedded editable Visio object, while a paste into Photoshop would result in a flat image, like a screenshot.</p>
<p><strong>Final Thoughts</strong></p>
<p>People have been swearing at the clipboard for years. The typical lowest common denominator is to paste the text into Notepad and the copy from Notepad. Even for this, Mac comes up short: the standard text editor, TextEdit, simply pastes in your ransom note text with formatting and all.</p>
<p>If you use Windows, go right ahead and install PureText. You won&#8217;t regret it.</p>
<p>If you use Macintosh, make it easy on yourself and invest in one of the payware applications. Think of how many times you have wanted to paste clean text, as if you had typed it in from the keyboard.</p>
]]></content:encoded>
			<wfw:commentRss>http://paperjammed.com/2011/01/31/why-must-basic-copypaste-operations-always-result-in-ransom-note-text/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Friends and family, please use the BCC option in your mailings!</title>
		<link>http://paperjammed.com/2010/12/26/friends-and-family-please-use-the-bcc-option-in-your-mailings/</link>
		<comments>http://paperjammed.com/2010/12/26/friends-and-family-please-use-the-bcc-option-in-your-mailings/#comments</comments>
		<pubDate>Mon, 27 Dec 2010 00:59:52 +0000</pubDate>
		<dc:creator>Tad</dc:creator>
				<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://paperjammed.com/?p=1061</guid>
		<description><![CDATA[Recently, someone at my sister-in-law&#8217;s school sent out an announcement to all of the parents, using a list of e-mail addresses maintained by the school. The content was innocent enough, but when they sent out the mailing, they made a critical error: they had pasted the entire mailing list of addresses into the Recipients field [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-1064" title="iStock_000001956906XSmall" src="http://paperjammed.com/wp-content/uploads/2010/12/iStock_000001956906XSmall-201x300.jpg" alt="" width="201" height="300" />Recently, someone at my sister-in-law&#8217;s school sent out an announcement to all of the parents, using a list of e-mail addresses maintained by the school.</p>
<p>The content was innocent enough, but when they sent out the mailing, they made a critical error: they had pasted the entire mailing list of addresses into the <strong>Recipients</strong> field in their mail program. As a result, every parent had every other parent&#8217;s email address. Some never noticed, and others didn&#8217;t really care. Several were displeased about this breach of privacy and let the school know about it.</p>
<p>That individual had committed the same error as many friends and family do when they want to share a message with many people.</p>
<p>This social faux-pas is easy to prevent, so I include here a quick set of instructions on how to maintain your mailing list&#8217;s privacy when you have a large mailing to send out.<span id="more-1061"></span></p>
<p><strong>What&#8217;s the problem?</strong></p>
<p>When you send an email to a few dozen people, you risk the following:</p>
<ul>
<li>Some people might be upset because you are passing their private email address around in public. Treat the email list as if it were a list of private phone numbers. Would you send such a list to everyone you know?</li>
<li>You are exposing everyone on the list to an increased spam risk. If anyone has a virus-compromised email account or is a spammer themselves (perish the thought!), they will now have access to the entire list of your friends.</li>
<li>It is quite possible that someone in the mailing list will click &#8220;reply all&#8221; and either send personal information meant for you to everyone else, or at least annoy the others on the list.</li>
</ul>
<p><strong>Keeping it Private</strong></p>
<p>The solution is very simple:</p>
<ul>
<li>Put <em>your own</em> address in the <strong>To</strong> field.</li>
<li>Put all of your friends&#8217; addresses in the <strong>BCC</strong> field—<strong>B</strong>lind <strong>C</strong>arbon <strong>C</strong>opy.</li>
<li>Compose and send your email.</li>
</ul>
<p>Your friends will receive an email that contains only your address and their address; they cannot see any of the other names on the list, even if they were to dig into the gritty details of the email headers.</p>
<p><img class="alignnone size-full wp-image-1066" title="20101226-using-bcc-in-gmail" src="http://paperjammed.com/wp-content/uploads/2010/12/20101226-using-bcc-in-gmail.png" alt="" width="550" height="712" /><strong>Have Consideration</strong></p>
<p>When you send a message to a large mailing list, please</p>
<ul>
<li>Keep their email addresses private</li>
<li>Edit out unnecessary content of forwarded messages</li>
<li>Respect their wishes if they ask to be removed from your list</li>
<li>Carefully consider if your mailing is appropriate for everyone in the group</li>
</ul>
<p>In other words, don&#8217;t become a spammer in your friends&#8217; eyes.</p>
]]></content:encoded>
			<wfw:commentRss>http://paperjammed.com/2010/12/26/friends-and-family-please-use-the-bcc-option-in-your-mailings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get it while it lasts—Microsoft&#8217;s easy way to lock down a shared computer</title>
		<link>http://paperjammed.com/2010/11/01/get-it-while-it-lasts%e2%80%94microsofts-easy-way-to-lock-down-a-shared-computer/</link>
		<comments>http://paperjammed.com/2010/11/01/get-it-while-it-lasts%e2%80%94microsofts-easy-way-to-lock-down-a-shared-computer/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 01:56:26 +0000</pubDate>
		<dc:creator>Tad</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tools of the Trade]]></category>
		<category><![CDATA[Data Loss]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://paperjammed.com/?p=1045</guid>
		<description><![CDATA[Do you have a shared computer somewhere in your life? A computer that anyone and everyone uses in order to hop online to do a quick web search or to print a document? I have been dealing with situations like this for years, working with computers in a small school and at a nonprofit volunteer [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-1057" title="Computer Hard Drive" src="http://paperjammed.com/wp-content/uploads/2010/11/iStock_000002116383XSmall-201x300.jpg" alt="" width="201" height="300" />Do you have a shared computer somewhere in your life? A computer that anyone and everyone uses in order to hop online to do a quick web search or to print a document?</p>
<p>I have been dealing with situations like this for years, working with computers in a small school and at a nonprofit volunteer organization, shared by many. It seems that whenever I turn on any of these machines, the background is set to something ugly, the screen resolution is weird, there is some cute animated mouse cursor, and someone has <a href="http://paperjammed.com/2010/01/28/is-there-anything-interesting-lingering-on-your-clipboard/">left their most intimate secrets</a> in a document on the desktop.</p>
<p><a href="http://www.microsoft.com/downloads/en/details.aspx?familyid=d077a52d-93e9-4b02-bd95-9d770ccdb431&amp;displaylang=en">Microsoft Steady State</a> solves all of these issues by providing a means of creating a golden configuration that is restored to absolute perfection the next time the machine is rebooted. But download it before the end of the year, when it will be pulled by Microsoft!<span id="more-1045"></span></p>
<p><strong>Steady State Magic</strong></p>
<p>This free product gives you the ability to configure accounts on your XP or Vista machine with several fine-level access controls. For example, you can prevent users from changing screen settings or prevent them from writing to anywhere other than their personal &#8220;Documents and Settings&#8221; directory.</p>
<p>But by far the coolest feature is the ability to turn off hard drive writes altogether. When you do this, Windows slips a layer between the OS and the physical hard drive that intercepts and tracks all hard drive activity during a session. During the session, the user can browse the web, create documents, install programs, whatever&#8230;but when the machine reboots, the cached list of hard drive changes is discarded completely: the hard drive is restored to the way it looked before the user booted the machine.</p>
<p><strong>What can you use this for?</strong></p>
<p>There are many places where a completely protected machine would be of great use&#8230;</p>
<ul>
<li>A shared computer in a public area, like a hotel lobby</li>
<li>A home computer that is used by the kids and the cat and the dog</li>
<li>Computers in a school or library setting</li>
<li>Shared computers in a setting where many different workers use the same computer</li>
</ul>
<p><strong>Anything to worry about?</strong></p>
<ul>
<li>All of your users must remember that everything must be saved to a USB stick before reboot. Steady State warns you of this every time you reboot the machine.</li>
<li>There are some annoyances that might happen, such as that silly &#8220;Desktop Cleanup Wizard&#8221; popping up every single day because it thinks it hasn&#8217;t been run in five months, or &#8220;New Programs Installed&#8221; balloons that come up every single day because, again, the machine is restored totally to day-one upon reboot.</li>
<li>Microsoft is killing the product at the end of the year. Now it will likely remain functional for XP and Vista, but they are not upgrading it for Windows 7. But this is too cool a product not to try out. In theory, you could create a steady state machine today and keep booting today&#8217;s version of Windows XP for the next five years.</li>
</ul>
<p><strong>Additional Features</strong></p>
<p>With the hard drive protection enabled, you can add programs at any time from an administrator account. When you shut down, Steady State will ask you if you want to commit your changed hard drive data to the Steady State disk image.</p>
<p>Even without the hard drive protection enabled, you have plenty of security constraints you can enable for other users to keep them from installing their favorite annoying toolbar and blinking mouse cursor. Think of this as a poor-man&#8217;s version of the domain policy tool used in enterprise environments.</p>
<p><strong>More Information</strong></p>
<ul>
<li><a href="http://www.oakdome.com/lab/?page_id=100">Microsoft Steady State. How to remotely remove and retain changes on lab computers</a>.</li>
<li><a href="http://news.cnet.com/8301-13554_3-9886306-33.html">Defending the C disk with SteadyState from Microsoft</a></li>
<li>Alternatives to Steady State for Windows 7: <a href="http://technet.microsoft.com/en-us/library/gg176676(WS.10).aspx">Creating a Steady State by Using Microsoft Technologies</a></li>
<li>See Episode #129 of Steve Gibson&#8217;s Security Now podcast: <a href="http://www.grc.com/securitynow.htm">Security Now! Episode Archive</a></li>
</ul>
<p><strong>Conclusion</strong></p>
<p>I did not understand just how slick a tool this is until I installed it on a spare machine. It took about fifteen minutes to configure things right, but that machine has been running for the past few weeks with the locked-down golden configuration. Whenever it reboots, it looks exactly as it did when I installed Steady State.</p>
<p>Give it a try before it&#8217;s too late!</p>
]]></content:encoded>
			<wfw:commentRss>http://paperjammed.com/2010/11/01/get-it-while-it-lasts%e2%80%94microsofts-easy-way-to-lock-down-a-shared-computer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Password angst and the modern Graphics Processing Unit</title>
		<link>http://paperjammed.com/2010/08/16/password-angst-and-the-modern-graphics-processing-unit/</link>
		<comments>http://paperjammed.com/2010/08/16/password-angst-and-the-modern-graphics-processing-unit/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 00:01:05 +0000</pubDate>
		<dc:creator>Tad</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://paperjammed.com/?p=1035</guid>
		<description><![CDATA[It seemed like all we needed to do was mix in some numbers and funny characters and that would make our passwords extra super secret enough to protect our Lego ID from the dark force. This belief was based on the understanding that only those with supercomputers at their disposal would have the computational ability [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-1040" title="iStock_000001759879XSmall" src="http://paperjammed.com/wp-content/uploads/2010/08/iStock_000001759879XSmall-201x300.jpg" alt="" width="201" height="300" />It seemed like all we needed to do was mix in some numbers and funny characters and that would make our passwords extra super secret enough to protect our <a href="http://www.lego.com">Lego</a> ID from the dark force.</p>
<p>This belief was based on the understanding that only those with supercomputers at their disposal would have the computational ability to trundle through all of the permutations needed for a brute force attack against our jumble of weird symbols.</p>
<blockquote><p>Richard Boyd, of the Georgia Tech Research Institute, <a href="http://www.bbc.co.uk/news/technology-10963967" target="_blank">told</a> the BBC that the number-crunching capacity of graphics cards compares to those of supercomputers built only 10 years ago.</p>
<p>— The Register</p></blockquote>
<p>Huh?!</p>
<p>The modern bleeding-edge graphics card, normally the purview of hardcore gamers, packs sufficient mathematical muscle to compete with not-so-old super computers?<span id="more-1035"></span></p>
<p>In other words, not only do we have to worry about black-hats who can command arrays of hijacked home computers to take down sites like Twitter and Facebook at will, but they now have mathematical might at their disposal that we normally associate with scientists and three-letter government agencies.</p>
<p>Read all about the demise of the short password here:</p>
<p><a href="http://www.theregister.co.uk/2010/08/16/password_security_analysis/">Short passwords &#8216;hopelessly inadequate&#8217;, say boffins</a> (The Register)</p>
<p><strong>Doom and gloom?</strong></p>
<p>Fortunately, from a password security point of view, this kind of computing power is most useful to hackers who have access to the encrypted password file from the server—a file that is hopefully treated with extra special care to prevent others from seeing it.</p>
<p>The hacker simply runs every possible combination of umpteen funny characters through well known hash algorithms until one particular choice hashes perfectly into the stolen encrypted version. Then he logs into your Lego account and orders more Star Wars Lego kits.</p>
<p>If the hacker does not have the list of encrypted user passwords, he cannot run this process on his über cruncher machine in isolation: He must make a login attempt with each password. And most systems start inserting longer delays, and eventually blocking logins altogether, after three or four failed attempts.</p>
<p><strong>An ominous sign</strong></p>
<p>Password hacking aside, there is a more sinister problem facing us&#8230;</p>
<p>Large powerful government agencies do not spend all of their computing horsepower trying every possible ten-character password to crack a Unix login, do they? They are more concerned with modern hard encryption technologies, the cornerstone of e-commerce and our trust in the Internet.</p>
<p>The time is near when these fancy 128-bit <a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard">AES </a>keys will fall prey to ne&#8217;er-do-wells with nothing more than a tricked-out gaming machine.</p>
]]></content:encoded>
			<wfw:commentRss>http://paperjammed.com/2010/08/16/password-angst-and-the-modern-graphics-processing-unit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I wish the hackers would leave PDF alone!</title>
		<link>http://paperjammed.com/2010/08/03/i-wish-the-hackers-would-leave-pdf-alone/</link>
		<comments>http://paperjammed.com/2010/08/03/i-wish-the-hackers-would-leave-pdf-alone/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 03:15:59 +0000</pubDate>
		<dc:creator>Tad</dc:creator>
				<category><![CDATA[Paperless Life]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://paperjammed.com/?p=1028</guid>
		<description><![CDATA[In case I haven&#8217;t made myself clear in other posts, I like PDF documents. I mean I Really Like PDF documents. And I want to be able to treat a PDF file exactly as I would a sheaf of printed pages. Then along comes someone who exploits yet another bug in someone&#8217;s PDF renderer. A [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-1029" title="20100804-50568_3739" src="http://paperjammed.com/wp-content/uploads/2010/08/20100804-50568_3739.png" alt="" width="300" height="133" />In case I haven&#8217;t made myself clear in other posts, I like PDF documents. I mean I Really Like PDF documents.</p>
<p>And I want to be able to treat a PDF file exactly as I would a sheaf of printed pages.</p>
<p>Then along comes someone who exploits yet another bug in someone&#8217;s PDF renderer. A few months ago Acrobat Reader was all over the news. Today I saw that all of the cool kids are <a href="http://www.engadget.com/2010/08/03/jailbreakme-using-pdf-exploit-to-hack-your-iphone-so-could-the/">jailbreaking their iPhones using a simple web site</a> that exploits a PDF defect in mobile Safari in iOS4.</p>
<p>And if the slick website can inject code that does something as profound as jailbreaking your iPhone, it should be child&#8217;s play for a black hat to use the same thing to take over your iPhone and ring up millions of dollars of charges to some telephone extortion outfit in a remote part of Africa.</p>
<p>I guess all of the fancy PDF features are a double edged sword—recall that Active-X controls and DDT were both amazing and powerful when they were introduced, but the improper use of both have sullied their good names. I just hope that the goal of a pure paper replacement standard is not lost and that these events do not cause PDF to become a marginalized technology.</p>
]]></content:encoded>
			<wfw:commentRss>http://paperjammed.com/2010/08/03/i-wish-the-hackers-would-leave-pdf-alone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

