<?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/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"><channel><title>Disruptive Library Technology Jester &#187; Mac OS X Operating System</title> <atom:link href="http://dltj.org/tag/osx/feed/" rel="self" type="application/rss+xml" /><link>http://dltj.org</link> <description>We&#039;re Disrupted, We&#039;re Librarians, and We&#039;re Not Going to Take It Anymore</description> <lastBuildDate>Mon, 06 Feb 2012 20:04:22 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <cloud domain='dltj.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' /> <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/us/</creativeCommons:license> <item><title>Fixing a Mac OSX Leopard Login Loop Caused by Launch Services</title><link>http://dltj.org/article/macosx-launchservices-login-loop-fix/</link> <comments>http://dltj.org/article/macosx-launchservices-login-loop-fix/#comments</comments> <pubDate>Tue, 03 Jun 2008 18:19:49 +0000</pubDate> <dc:creator>Peter Murray</dc:creator> <category><![CDATA[Raw Technology]]></category> <category><![CDATA[Mac OS X Operating System]]></category> <category><![CDATA[troubleshooting]]></category><guid isPermaLink="false">https://dltj.org/?p=369</guid> <description><![CDATA[After the release of the latest update to the Macintosh operating system (10.5.3), some users were reporting a &#8220;login loop&#8221; to MacFixIt.com. I followed the always helpful advice on MacFixIt for updating the operating system, and after the first reboot &#8230; <a href="http://dltj.org/article/macosx-launchservices-login-loop-fix/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<abbr class="unapi-id ignore noPrint" title="https://dltj.org/?p=369"></abbr><p>After the release of the latest update to the Macintosh operating system (<a href="http://support.apple.com/kb/HT1141" title="About the Mac OS X 10.5.3 Update">10.5.3</a>), <a href="http://www.macfixit.com/article.php?story=20080530225515297" title="Mac OS X 10.5.3 (#3): serious proxy .pac problems; random application crashes; login window loop; more (MacFixIt.com)">some users were reporting a &#8220;login loop&#8221;</a> to MacFixIt.com.  I followed the always helpful advice on MacFixIt for updating the operating system, and after the first reboot everything came back fine on my PowerBook G4 I thought I was in the clear.  With the second reboot, though, I started seeing the login loop:  the machine boots fine, but when you put the username and password in, the system hangs for about 20 seconds before displaying the login window again.  Clearly something is hosed, and fortunately I was able to fix it.</p><p>I tried the suggested solutions &#8212; booting in safe mode and logging in (still had the same problem); running a file system check in single user mode (no errors reported); deleting the login window plists; and changing the password &#8212; but they had no effect.  I could log into the temporary admin account I give to Apple when the machine is sent in for service, so I knew it was something specific to my day-to-day account.  I was able to get into single user mode (hold down Command-S right after the startup twang) and examine the /var/log/system.log file.  This is part of the underlying UNIX nature of MacOSX, and was the only place I found that gave clues to what was going on.  Here is a portion of the log file that occurs right after hitting return at the login screen:</p><blockquote><p><code>loginwindow[23]: USER_PROCESS: 23 console<br />com.apple.launchd[1] (com.apple.UserEventAgent-LoginWindow[86]): Exited: Terminated<br /><b>ReportCrash[106]: Formulating crash report for process lsregister[104]</b><br />ReportCrash[106]: Saved crashreport to /Library/Logs/CrashReporter/lsregister_<i>timestamp</i>.crash using uid: 0 gid: 0, euid: 0 egid: 0<br />kernel[0]: SetCryptoKey R: len 32, idx 1<br />ReportCrash[111]: Formulating crash report for process ReportCrash[105]<br />ReportCrash[111]: Saved crashreport to /Users/<i>userid</i>/Library/Logs/CrashReporter/ReportCrash_<i>timestamp</i>.crash using uid: <i>uid</i> gid: <i>gid</i>, euid: <i>uid</i> egid: <i>gid</i><br />com.apple.launchd[92] (com.apple.ReportCrash[105]): Exited abnormally: Bus error<br />ReportCrash[112]: Too many crashes in rapid succession! No crash report being written for pid 113<br />com.apple.launchd[1] (com.apple.UserNotificationCenter[113]): Exited abnormally: Segmentation fault<br />com.apple.launchd[1] (com.apple.UserNotificationCenter): Throttling respawn: Will start in 10 seconds<br />ReportCrash[112]: Too many crashes in rapid succession! No crash report being written for pid 114</code></p></blockquote><p>The key clue is bolded &#8212; the <a href="http://www.carbondev.com/site/?page=lsregister" title="lsregister - Carbon Dev for MacOS X Wiki">lsregister</a> process is crashing.  I found a clue to the fix in <a href="http://roderickmann.org/log/archives/2003/05/launch_services.html" title="log: Launch Services Cache Corruption">a 2003 blog posting by a guy named Rick</a> when he said <q>After a couple hours of snooping, and some luck (I was able to ssh in from another machine and watch the system log report the crashes), I discovered that Launch Services’ cache was corrupted, and was causing lsregister to seg fault.</q> His posting was related to MacOSX 10.2.6, and since then the name of the Launch Services cache file has morphed.  I found it in the same place (the <code>/Library/Caches</code> directory), but now there is more than one and they take the form of &#8220;<code>com.apple.LaunchServices-023<i>uid</i>.csstore</code>&#8221; where <i>uid</i> varies depending on the appropriate userid number.  I removed all of the Launch Services files from <code>/Library/Caches</code>, restarted, and was able to log in fine.  The only side effect was that the applications-to-launch-at-login list was gone (the &#8220;Login Items&#8221; tab of the Account Preference Pane) and had to be reconstructed.</p><p>So I&#8217;m productive again, and I didn&#8217;t have to reinstall the operating system or transfer all my old files and settings to a newly-generated account.  I hope this message helps someone else, too.</p>]]></content:encoded> <wfw:commentRss>http://dltj.org/article/macosx-launchservices-login-loop-fix/feed/</wfw:commentRss> <slash:comments>81</slash:comments> </item> <item><title>Getting a Hyperlink of the Last Sent Message from Mail.app using Applescript</title><link>http://dltj.org/article/copy-last-sent-message-as-rtf-link/</link> <comments>http://dltj.org/article/copy-last-sent-message-as-rtf-link/#comments</comments> <pubDate>Thu, 15 May 2008 16:15:15 +0000</pubDate> <dc:creator>Peter Murray</dc:creator> <category><![CDATA[Raw Technology]]></category> <category><![CDATA[applescript]]></category> <category><![CDATA[email]]></category> <category><![CDATA[Getting Things Done]]></category> <category><![CDATA[Mac OS X Operating System]]></category> <category><![CDATA[OmniFocus]]></category><guid isPermaLink="false">https://dltj.org/?p=363</guid> <description><![CDATA[I&#8217;ve been a fan of Getting Things Done as a technique for managing projects, but it was only recently that I settled on OmniFocus as the &#8220;trusted system&#8221; collecting all of my next actions. One of the things I like &#8230; <a href="http://dltj.org/article/copy-last-sent-message-as-rtf-link/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<abbr class="unapi-id ignore noPrint" title="https://dltj.org/?p=363"></abbr><p>I&#8217;ve been a fan of <a href="http://en.wikipedia.org/wiki/Getting_Things_Done" title="Getting Things Done article in Wikipedia">Getting Things Done</a> as a technique for managing projects, but it was only recently that I settled on OmniFocus as the &#8220;trusted system&#8221; collecting all of my next actions.  One of the things I like about <a href="http://www.omnigroup.com/applications/omnifocus/" title="OmniFocus product information page">OmniFocus</a> &#8212; as a rich, Mac-only application &#8212; is its ability to hold links to messages from Mail.app as notes for each action.  This occurs, for instance, when you use the &#8220;Clippings&#8221; function of OmniFocus to create a new action based on the message that you are currently viewing in Mail.app.  (There are other ways to do it, such as the method described by <a href="http://www.earth2adam.com/omnifocus-gtd-actions-from-mail-redux/" title="OmniFocus GTD: Actions from Mail (redux)">Adam Sneller</a>.)</p><p>One of the things I find myself doing is creating actions in a &#8220;Waiting&#8221; context based on e-mail messages I&#8217;ve just sent.  Initially, I&#8217;d just create the action via the OmniFocus Quick Entry window.  But I found myself needing to refer back to the message I sent when the person I&#8217;m waiting on doesn&#8217;t come through.  So I started clicking and dragging the message from the Sent mailbox to the action.  But to do that I&#8217;d have to click into the Sent mailbox and have the Mail.app and the OmniFocus windows set up just right.  Or I&#8217;d have to follow a select-sent-mailbox, select-message, OmniFocus-quick-entry-with-clipping, select-Inbox, select-next-message workflow.  And that took time and effort.  So I&#8217;ve created an AppleScript ditty that does the work of creating a hyperlink on the clipboard of the last sent message.  The results can then be pasted into any RTF-aware application, including OmniFocus.<br /><span id="more-363"></span><br />The script is based heavily on <a href="http://www.tuaw.com/2008/04/14/speedy-creation-of-rich-text-links-to-mail-messages/" title="Speedy creation of rich text links to Mail messages">Speedy creation of rich text links to Mail messages</a> by <a href="http://www.tuaw.com/bloggers/brett-terpstra/" title="Posts by Brett Terpstra at The Unofficial Apple Weblog (TUAW)">Brett Terpstra</a>.  In particular, he had the missing link about creating RTF hyperlinks on the clipboard using a bash shell script.  The meat of the AppleScript is:</p><div class="wp_syntax"><div class="code"><pre class="applescript" style="font-family:monospace;"><span style="color: #ff0033; font-weight: bold;">tell</span> <span style="color: #0066ff;">application</span> <span style="color: #009900;">&quot;Mail&quot;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">-- Ask the user which account to use</span>
	<span style="color: #ff0033; font-weight: bold;">set</span> _accts <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #ff0033; font-weight: bold;">get</span> accounts
	<span style="color: #ff0033; font-weight: bold;">set</span> _enabledAccounts <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #000000;">&#123;</span><span style="color: #000000;">&#125;</span>
	<span style="color: #ff0033; font-weight: bold;">repeat</span> <span style="color: #ff0033; font-weight: bold;">with</span> eachAccount <span style="color: #ff0033; font-weight: bold;">in</span> _accts
		<span style="color: #808080; font-style: italic;">-- Only offer the enabled accounts for the user to choose</span>
		<span style="color: #ff0033; font-weight: bold;">if</span> enabled <span style="color: #ff0033; font-weight: bold;">of</span> eachAccount <span style="color: #ff0033; font-weight: bold;">then</span>
			<span style="color: #ff0033; font-weight: bold;">set</span> <span style="color: #ff0033;">the</span> <span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #ff0033; font-weight: bold;">of</span> _enabledAccounts <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #0066ff;">name</span> <span style="color: #ff0033; font-weight: bold;">of</span> eachAccount <span style="color: #ff0033;">as</span> <span style="color: #0066ff;">string</span>
		<span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #ff0033; font-weight: bold;">if</span>
	<span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #ff0033; font-weight: bold;">repeat</span>
	<span style="color: #ff0033; font-weight: bold;">set</span> _selectedAccount <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #000000;">&#40;</span><span style="color: #0066ff;">choose <span style="color: #ff0033; font-weight: bold;">from</span> list</span> _enabledAccounts <span style="color: #ff0033; font-weight: bold;">with</span> title <span style="color: #009900;">&quot;Select Account&quot;</span> <span style="color: #ff0033; font-weight: bold;">with</span> prompt <span style="color: #009900;">&quot;Select the account from which to copy a link of the last sent message...&quot;</span> default <span style="color: #0066ff;">items</span> <span style="color: #000000;">&#40;</span><span style="color: #0066ff;">item</span> <span style="color: #000000;">1</span> <span style="color: #ff0033; font-weight: bold;">of</span> _enabledAccounts<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">-- Quit script if the user selected &quot;cancel&quot;</span>
	<span style="color: #ff0033; font-weight: bold;">if</span> _selectedAccount <span style="color: #ff0033; font-weight: bold;">is</span> <span style="color: #0066ff;">false</span> <span style="color: #ff0033; font-weight: bold;">then</span>
		<span style="color: #ff0033; font-weight: bold;">return</span>
	<span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #ff0033; font-weight: bold;">if</span>
	<span style="color: #ff0033; font-weight: bold;">set</span> _selectedAccountName <span style="color: #ff0033; font-weight: bold;">to</span> _selectedAccount <span style="color: #ff0033;">as</span> <span style="color: #0066ff;">string</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">-- Get the &quot;last&quot; message of the Sent mailbox of the selected account</span>
	<span style="color: #ff0033; font-weight: bold;">set</span> _msg <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #ff0033;">first</span> message <span style="color: #ff0033; font-weight: bold;">of</span> mailbox <span style="color: #009900;">&quot;Sent&quot;</span> <span style="color: #ff0033; font-weight: bold;">of</span> account _selectedAccountName
&nbsp;
	<span style="color: #808080; font-style: italic;">-- Get various properties of the message</span>
	<span style="color: #ff0033; font-weight: bold;">set</span> _date <span style="color: #ff0033; font-weight: bold;">to</span> _msg<span style="">'</span>s date sent
&nbsp;
	<span style="color: #ff0033; font-weight: bold;">try</span>
		<span style="color: #ff0033; font-weight: bold;">set</span> _recipient <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #0066ff;">name</span> <span style="color: #ff0033; font-weight: bold;">of</span> <span style="color: #ff0033;">first</span> recipient <span style="color: #ff0033; font-weight: bold;">of</span> _msg
		<span style="color: #ff0033; font-weight: bold;">set</span> _test <span style="color: #ff0033; font-weight: bold;">to</span> _recipient
	<span style="color: #ff0033; font-weight: bold;">on</span> <span style="color: #ff0033; font-weight: bold;">error</span>
		<span style="color: #808080; font-style: italic;">-- if the Recipient's name property was blank, use the e-mail address instead</span>
		<span style="color: #ff0033; font-weight: bold;">set</span> _recipient <span style="color: #ff0033; font-weight: bold;">to</span> address <span style="color: #ff0033; font-weight: bold;">of</span> <span style="color: #ff0033;">first</span> recipient <span style="color: #ff0033; font-weight: bold;">of</span> _msg
	<span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #ff0033; font-weight: bold;">try</span>
&nbsp;
	<span style="color: #ff0033; font-weight: bold;">set</span> _sub <span style="color: #ff0033; font-weight: bold;">to</span> _msg<span style="">'</span>s subject
	<span style="color: #ff0033; font-weight: bold;">if</span> _sub starts <span style="color: #ff0033; font-weight: bold;">with</span> <span style="color: #009900;">&quot;Re:&quot;</span> <span style="color: #ff0033; font-weight: bold;">then</span>
		<span style="color: #808080; font-style: italic;">-- Remove the &quot;Re:&quot; prefix from messages</span>
		<span style="color: #ff0033; font-weight: bold;">set</span> _sub <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #0066ff;">text</span> <span style="color: #000000;">5</span> <span style="color: #ff0033;">through</span> <span style="color: #000000;">&#40;</span>length <span style="color: #ff0033; font-weight: bold;">of</span> _sub<span style="color: #000000;">&#41;</span> <span style="color: #ff0033; font-weight: bold;">of</span> _sub
	<span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #ff0033; font-weight: bold;">if</span>
&nbsp;
	<span style="color: #ff0033; font-weight: bold;">set</span> _msgid <span style="color: #ff0033; font-weight: bold;">to</span> _msg<span style="">'</span>s message <span style="color: #0066ff;">id</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">-- Create the URL to the message</span>
	<span style="color: #ff0033; font-weight: bold;">set</span> _msglnk <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;message://%3C&quot;</span> <span style="color: #000000;">&amp;</span> <span style="color: #ff0033; font-weight: bold;">my</span> urlencode<span style="color: #000000;">&#40;</span>_msgid<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&amp;</span> <span style="color: #009900;">&quot;%3E&quot;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">-- Create the anchor text for the link</span>
	<span style="color: #ff0033; font-weight: bold;">set</span> _anchorText <span style="color: #ff0033; font-weight: bold;">to</span> <span style="color: #009900;">&quot;Message sent &quot;</span> <span style="color: #000000;">&amp;</span> _date <span style="color: #000000;">&amp;</span> <span style="color: #009900;">&quot; to &quot;</span> <span style="color: #000000;">&amp;</span> _recipient <span style="color: #000000;">&amp;</span> <span style="color: #009900;">&quot; regarding '&quot;</span> <span style="color: #000000;">&amp;</span> _sub <span style="color: #000000;">&amp;</span> <span style="color: #009900;">&quot;'&quot;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">-- Execute the external script to generate the RTF hyperlink on the clipboard</span>
	<span style="color: #0066ff;">do shell script</span> <span style="color: #009900;">&quot;/bin/bash -c <span style="color: #000000; font-weight: bold;">\&quot;</span>&quot;</span> <span style="color: #000000;">&amp;</span> _script <span style="color: #000000;">&amp;</span> <span style="color: #009900;">&quot; <span style="color: #000000; font-weight: bold;">\\</span><span style="color: #000000; font-weight: bold;">\&quot;</span>&quot;</span> <span style="color: #000000;">&amp;</span> _anchorText <span style="color: #000000;">&amp;</span> <span style="color: #009900;">&quot;<span style="color: #000000; font-weight: bold;">\\</span><span style="color: #000000; font-weight: bold;">\&quot;</span> <span style="color: #000000; font-weight: bold;">\\</span><span style="color: #000000; font-weight: bold;">\&quot;</span>&quot;</span> <span style="color: #000000;">&amp;</span> _msglnk <span style="color: #000000;">&amp;</span> <span style="color: #009900;">&quot;<span style="color: #000000; font-weight: bold;">\\</span><span style="color: #000000; font-weight: bold;">\&quot;</span><span style="color: #000000; font-weight: bold;">\&quot;</span>&quot;</span>
<span style="color: #ff0033; font-weight: bold;">end</span> <span style="color: #ff0033; font-weight: bold;">tell</span></pre></div></div><p>It first prompts the user for which account to use based on the list of active accounts.  Then it gets the last message in the Sent mailbox of that account, gets various metadata properties, and sends the results to the bash shell script.  The shell script comes from Brett; it creates the RTF snippet and pipes it into &#8216;<a href="http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/pbcopy.1.html" title="Mac OS X<br /> Manual Page For pbcopy(1)">pbcopy</a>&#8216; to put it on the clipboard:</p><div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;"># Places a rich text link on the clipboard</span>
<span style="color: #666666; font-style: italic;"># usage: rtflink.sh &quot;Title of link&quot; &quot;URL to link to&quot;</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># This will paste *nothing* into applications that don't recognize rich text</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;{<span style="color: #000099; font-weight: bold;">\r</span>tf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf270
{<span style="color: #000099; font-weight: bold;">\f</span>onttbl<span style="color: #000099; font-weight: bold;">\f</span>0<span style="color: #000099; font-weight: bold;">\f</span>swiss<span style="color: #000099; font-weight: bold;">\f</span>charset0 Helvetica;}
{\colortbl;<span style="color: #000099; font-weight: bold;">\r</span>ed255\green255\blue255;}
\margl1440\margr1440<span style="color: #000099; font-weight: bold;">\v</span>ieww9000<span style="color: #000099; font-weight: bold;">\v</span>iewh8400<span style="color: #000099; font-weight: bold;">\v</span>iewkind0
\pard<span style="color: #000099; font-weight: bold;">\t</span>x720<span style="color: #000099; font-weight: bold;">\t</span>x1440<span style="color: #000099; font-weight: bold;">\t</span>x2160<span style="color: #000099; font-weight: bold;">\t</span>x2880<span style="color: #000099; font-weight: bold;">\t</span>x3600<span style="color: #000099; font-weight: bold;">\t</span>x4320<span style="color: #000099; font-weight: bold;">\t</span>x5040<span style="color: #000099; font-weight: bold;">\t</span>x5760<span style="color: #000099; font-weight: bold;">\t</span>x6480<span style="color: #000099; font-weight: bold;">\t</span>x7200<span style="color: #000099; font-weight: bold;">\t</span>x7920<span style="color: #000099; font-weight: bold;">\t</span>x8640\ql\qnatural\pardirnatural
{<span style="color: #000099; font-weight: bold;">\f</span>ield{\*<span style="color: #000099; font-weight: bold;">\f</span>ldinst{HYPERLINK <span style="color: #000099; font-weight: bold;">\&quot;</span>$2<span style="color: #000099; font-weight: bold;">\&quot;</span>}}{<span style="color: #000099; font-weight: bold;">\f</span>ldrslt 
<span style="color: #000099; font-weight: bold;">\f</span>0<span style="color: #000099; font-weight: bold;">\f</span>s24 \cf0 $1}}}&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> pbcopy <span style="color: #660033;">-Prefer</span> rtf</pre></div></div><p>The end result is a hyperlink with an anchor that looks something like:</p><pre>    Message sent Thursday, May 15, 2008 8:36:33 AM to Jane Partner regarding 'Can you pick up milk?'</pre><p>&#8230;waiting on the clipboard to be pasted into an action note.  With that bound to <span class="removed_link" title="http://docs.blacktree.com/quicksilver/triggers">a keyboard trigger via QuickSilver</span>, copying a link to a message is now a simple matter of keystrokes.</p><p>If you are interested, you can <a href="http://cdn.dltj.org/wp-content/uploads/2008/05/copy-last-sent-message-as-rtf-link.zip">download the &#8220;Copy last sent message as RTF link&#8221; AppleScript bundle</a> and try it yourself.  Let me know what you think.</p><p>Update 20080516T1219 : I had to modify the part of the code that gets the recipient name or (for recipients without name parts) the e-mail address.  The downloaded version has been updated.</p><p>Update 20110405T1946 : The script has been improved!  See this <a href="http://forums.omnigroup.com/showthread.php?t=20397" title="Copy last sent message to Clippings - The Omni Group Forums">thread on the Omni Group forums</a> for the update.  Thanks to <a href="http://forums.omnigroup.com/member.php?u=5000" title="The Omni Group Forums - View Profile: whpalmer4">whpalmer4</a> for the modifications.</p><p style="padding:0;margin:0;font-style:italic;" class="removed_link">The text was modified to remove a link to http://docs.blacktree.com/quicksilver/triggers on January 28th, 2011.</p>]]></content:encoded> <wfw:commentRss>http://dltj.org/article/copy-last-sent-message-as-rtf-link/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>PocketModMac:  MacOSX PocketMod Generator Via Print Dialog</title><link>http://dltj.org/article/pocketmodmac/</link> <comments>http://dltj.org/article/pocketmodmac/#comments</comments> <pubDate>Thu, 09 Aug 2007 19:24:43 +0000</pubDate> <dc:creator>Peter Murray</dc:creator> <category><![CDATA[Raw Technology]]></category> <category><![CDATA[Getting Things Done]]></category> <category><![CDATA[Mac OS X Operating System]]></category> <category><![CDATA[pdf]]></category> <category><![CDATA[pocketmod]]></category> <category><![CDATA[productivity]]></category> <category><![CDATA[programming]]></category><guid isPermaLink="false">http://dltj.org/2007/08/pocketmodmac/</guid> <description><![CDATA[This one goes out to all of the MacOS X users out there. (For the rest of you, why aren&#8217;t you switching?) Perhaps you have seen PocketMod &#8212; the origami-like manipulation of an 8 1/2&#8243; by 11&#8243; piece of paper &#8230; <a href="http://dltj.org/article/pocketmodmac/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<abbr class="unapi-id ignore noPrint" title="http://dltj.org/2007/08/pocketmodmac/"></abbr><p>This one goes out to all of the MacOS X users out there.  (For the rest of you, why aren&#8217;t you <a href="http://www.apple.com/getamac/" title="Apple - Get a Mac">switching</a>?)  Perhaps you have seen <a href="http://pocketmod.com/" title="PocketMod: The Free Disposable Personal Organizer">PocketMod</a> &#8212; the origami-like manipulation of an 8 1/2&#8243; by 11&#8243; piece of paper into an 8-page booklet.<div style="float: right; width: 415px; padding-left: 15px;"><img src="http://cdn.dltj.org/wp-content/uploads/2007/08/pocketmod1.jpg" alt="PocketMod example picture" title="PocketMod example picture" align="right" border="0" width="410" height="306" />Example PocketMod, courtesy of the <a href="http://www.boston.com/business/personaltech/articles/2006/06/25/pda_buffs_go_back_to_basics/" title="PDA buffs go back to basics - The Boston Globe">Boston Globe</a>.</div><p> Touted as a way to <a href="http://www.boston.com/business/personaltech/articles/2006/06/25/pda_buffs_go_back_to_basics/" title="PDA buffs go back to basics - The Boston Globe">&#8220;get back to the basics&#8221; using analog media over digital media</a>, it is a scheme by which you can transform pages of text into a pocket-sized form for carrying around.  Many use it as a way to <a href="http://www.msnbc.msn.com/id/17522664/site/newsweek/" title="The Power of Paper  - Newsweek Enterprise" class="broken_link" rel="nofollow">synchronize their digital to-do lists with the analog world</a>, while others use it <a href="http://www.creativetechs.com/iq/mac_os_x_shortcuts_pocketmod.html" title="CreativeIQ: Mac OS X Shortcuts! A Tiny Guide.">document shortcuts and cheat-sheets</a> in a convenient form.</p><p>I&#8217;m migrating from <a href="http://www.thinkingrock.com.au/" title="ThinkingRock homepage">Thinking Rock</a> to <a href="http://bargiel.home.pl/iGTD/" title="iGTD homepage">iGTD</a> as my <a href="http://en.wikipedia.org/wiki/Getting_Things_Done" title="Getting Things Done - Wikipedia">Getting Things Done</a> tool-of-choice.  One of the things I&#8217;m missing about Thinking Rock is its built-in ability to create PocketMods for the actions in the GTD system.  The only real easy way to create the PocketMod format was via a Flash applet or a Windows application.  Some have set up <a href="http://pocketmod.com/bb/comments.php?DiscussionID=27&amp;page=1#Item_0" title="PocketMod - PDF to pocketmod shell script - tomod.sh" class="broken_link" rel="nofollow">shell scripts</a> or worked with other programs, but I was looking for something as simple as the MacOS X print dialog box.  And with a little bit of <a href="http://www.apple.com/macosx/features/automator/" title="Automator (software)" rel="homepage nofollow" class="zem_slink broken_link">Automator</a>, Java, and shell scripting, it is possible!</p><p><h2>Step 1:  Get the &#8220;Multivalent&#8221; PDF Manipulation Toolkit</h2><br />The heavy lifting of this solution uses the <a href="http://multivalent.sourceforge.net/" title="Multivalent homepage">Multivalent PDF Manipulation Toolkit</a>.  This is a Java-based application that perform various actions (impose, compress, uncompress, info, encrypt / decrypt, split and merge, and validate) on PDF documents (as well as other file formats).  It is an open source application available under the GPL license (although <a href="http://multivalent.sourceforge.net/license.html" title="Multivalent license page">some components of Multivalent have commercial use restrictions</a>) available from SourceForge at this download URL: <a href="http://downloads.sourceforge.net/multivalent/Multivalent20060102.jar?modtime=1136221165&amp;big_mirror=0" title="Download Multivalend20060102.jar">Multivalent20060102.jar</a>.  Download that file and save it somewhere on your hard drive.  You&#8217;ll need to know the direct path location for the next step.</p><p><h2>Step 2:  Create the Automator Action</h2><br />Launch &#8220;<a href="http://www.apple.com/macosx/features/automator/" title="Apple - Mac OS X - Automator" class="broken_link" rel="nofollow">Automator</a>&#8221; (you&#8217;ll find it in the Applications folder).  It will start with a new, untitled work document.  From the left-most panel, select &#8220;Automator&#8221;, then from the panel just to the right of that click and drag &#8220;Run Shell Script&#8221; to the empty document on the right.<br /><img src="http://cdn.dltj.org/wp-content/uploads/2007/08/automator_drag1.png" alt="Dragging &quot;Run &quot; to empty windows" title="Dragging &#039;Run Shell Script&#039; to empty windows" border="0" width="693" height="415" /></p><p>In the &#8216;Run Shell Script&#8217; action, change &#8220;Pass input&#8221; to &#8220;as arguments&#8221; then replace &#8220;cat&#8221; in the command box with this (ignoring any line breaks that may appear here &#8212; this text should be entered without line breaks):<br /><blockquote><code>cat "$1" &gt; /tmp/temp$$.pdf &amp;&amp; java -classpath [location]/Multivalent20060102.jar tool.pdf.Impose -dim 2x4 -layout "1l,2r,8l,3r,7l,4r,6l,5r" -paper letter -verbose /tmp/temp$$.pdf 2&gt; /tmp/temp$$.err &amp;&amp; open /tmp/temp$$-up.pdf</code></p></blockquote><p>Replace [location] with the complete file path where you downloaded the Multivalent20060102.jar file.  The final results should look something like this:<br /><img src="http://cdn.dltj.org/wp-content/uploads/2007/08/automator_action1.png" alt="Completed action" title="Completed action" border="0" width="653" height="386" /></p><p>Now save this as &#8220;PocketModMac&#8221; in either the &#8220;/Library/PDF Services&#8221; directory (to make it available to all users of your machine) or to &#8220;Library/PDF Services&#8221; in your home directory for just you.</p><p><h2>Step 3:  Using PocketModMac</h2><br />Using this PocketMod generator is as simple as printing any document to any printer.  In the print dialog box, pull down the PDF menu and select &#8220;PocketModMac&#8221;.<br /><img src="http://cdn.dltj.org/wp-content/uploads/2007/08/print_dialog1.png" alt="Print Dialog" title="Print Dialog" border="0" width="598" height="553" /></p><p>After a few seconds, the Preview application will open up with the PocketMod-ed document.  Print this document as you would to any printer, then follow the directions for folding and cutting the page to create your booklet.<br /><img src="http://cdn.dltj.org/wp-content/uploads/2007/08/instructions1.png" alt="Folding Instructions" title="Folding Instructions" border="0" width="744" height="452" /></p><p><h2>Troubleshooting and Known Issues</h2><br />Using Automator to string together a Unix command line like this is moderately fragile and doesn&#8217;t provide for a lot of feedback on potential errors.  If it doesn&#8217;t work for you, one place to look for problems is in the /private/tmp directory for a file called <code>temp[number].err</code>.  The contents of that file may give clues as to what went wrong.</p><p>This isn&#8217;t necessarily a very nice solution because it leaves files laying around in the /private/tmp directory after it is done.  The <code>/etc/periodic/daily/500.daily</code> maintenance script will clean them out automatically after three days, but still &#8212; it is somewhat sloppy to leave them around.</p><div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://cdn.dltj.org/wp-content/uploads/2007/08/pixy.gif?x-id=93d42459-84b5-402a-8de5-c9f28a00a8a0" /></div>]]></content:encoded> <wfw:commentRss>http://dltj.org/article/pocketmodmac/feed/</wfw:commentRss> <slash:comments>18</slash:comments> </item> </channel> </rss>
<!-- Served from: dltj.org @ 2012-02-11 08:39:56 by W3 Total Cache -->
