<?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>Vincent Gable's Blog &#187; Leopard</title>
	<atom:link href="http://vgable.com/blog/tag/leopard/feed/" rel="self" type="application/rss+xml" />
	<link>http://vgable.com/blog</link>
	<description>my weblog.</description>
	<lastBuildDate>Tue, 29 Nov 2011 22:20:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Resolution Independent Screenshots</title>
		<link>http://vgable.com/blog/2009/02/09/resolution-independent-screenshots/</link>
		<comments>http://vgable.com/blog/2009/02/09/resolution-independent-screenshots/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 17:10:05 +0000</pubDate>
		<dc:creator>Vincent Gable</dc:creator>
				<category><![CDATA[Announcement]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Futurism]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Pixels]]></category>
		<category><![CDATA[Vectors]]></category>

		<guid isPermaLink="false">http://vgable.com/blog/2009/02/09/resolution-independent-screenshots/</guid>
		<description><![CDATA[Leopard includes technology that generates (mostly) resolution independent screenshots. That means when you enlarge the pictures, they won&#8217;t get pixelated, and more importantly, they will stay sharp when printed. I don&#8217;t know if you&#8217;ve ever seen a printout of text mixed with a screenshot of text, but it looks like ass. That&#8217;s because even a [...]]]></description>
			<content:encoded><![CDATA[<p>Leopard includes technology that generates (mostly) <a href="http://vgable.com/blog/2008/03/31/resolution-independence/">resolution independent</a> screenshots.  That means when you enlarge the pictures, they won&#8217;t get pixelated, and more importantly, <strong>they will stay sharp when printed</strong>.</p>
<p>I don&#8217;t know if you&#8217;ve ever seen a printout of text mixed with a screenshot of text, but <em>it looks like ass</em>.  That&#8217;s because even a very cheap printer is much higher resolution then your screen.  It prints text very sharply.  But when it prints the screen shot, it reproduces the low resolution display in high-fedelity &#8212; which actually makes it look worse.  Plus, computers use tricks (eg <a href="http://alienryderflex.com/sub_pixel/">sub pixel antialiasing</a>) to make text look sharper on LCD screens &#8212; but those tricks can backfire on other media.  A screenshot grabs exactly the pixels shown on the screen.  And those pixels are optimized to be shown on a screen, not paper.</p>
<h3>Example</h3>
<p><a href="http://vgable.com/blog/wp-content/uploads/2009/02/preview.pdf" title="Preview.pdf">Here&#8217;s an example screenshot (PDF)</a>.  It looks like this:<br />
<a href="http://vgable.com/blog/wp-content/uploads/2009/02/preview.pdf" title="Preview.pdf"><img src="http://vgable.com/blog/wp-content/uploads/2009/02/preview.png" alt="Preview.png" border="0" width="562" height="155" align="center" /></a></p>
<p>If you open <a href="http://vgable.com/blog/wp-content/uploads/2009/02/preview.pdf" title="Preview.pdf">it</a>, and zoom in, you will see that the text stays sharp, while some (but not all) of the interface gets pixelated.</p>
<div style="text-align:left;"><img src="http://vgable.com/blog/wp-content/uploads/2009/02/previewblownup.png" alt="PreviewBlownUp.png" border="0" width="567" height="254" /></div>
<h3>How it Was Made</h3>
<p>When Automator.app <a href="file://localhost/Applications/Automator.app/">(click to open)</a> saves a workflow, it puts a (mostly) resolution-independent screenshot of the workflow&#8217;s UI inside it.  The screenshot is at <code>SomeWorkflow.workflow/Contents/QuickLook/Preview.pdf</code>.  (In Finder, right-click a <code>.workflow</code> file, and choose &#8220;Show Package Contents&#8221; to look inside it).</p>
<p>If you print a workflow to a PDF file, it has the same limited resolution-independence.  So I suspect Automator.app generates this PDF in much the same way files are printed.  I have not investigated why the gray border is vectorized as well as the text.  If anyone has an insight there, I&#8217;d love to hear it.</p>
<p>In <a href="http://vgable.com/blog/2008/11/24/i-for-one-welcome-our-vector-overlords/">the future</a>, I expect text, and most UI elements, to be represented as vectors at every level of the OS.  Screenshots will capture those vector-elements, as as they capture pixel-elements (pixels) today.</p>
]]></content:encoded>
			<wfw:commentRss>http://vgable.com/blog/2009/02/09/resolution-independent-screenshots/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Automatically Closing NSFW Content (Beta)</title>
		<link>http://vgable.com/blog/2009/01/13/automatically-closing-nsfw-content-beta/</link>
		<comments>http://vgable.com/blog/2009/01/13/automatically-closing-nsfw-content-beta/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 07:55:12 +0000</pubDate>
		<dc:creator>Vincent Gable</dc:creator>
				<category><![CDATA[Announcement]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[Automator]]></category>
		<category><![CDATA[IMLocation]]></category>
		<category><![CDATA[Latent Semantic Mapping]]></category>
		<category><![CDATA[Leopard]]></category>

		<guid isPermaLink="false">http://vgable.com/blog/2009/01/13/automatically-closing-nsfw-content-beta/</guid>
		<description><![CDATA[I&#8217;ve finally implemented a neat feature for IMLocation that I&#8217;ve wanted to do for a while now, when you arrive at work, it can automagically close NSFW webpages. NSFW content is detected using the same technology behind Mac OS X&#8217;s Parental Controls. I recommend downloading IMLocation to get the full effect, but you can also [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally implemented a neat feature for <a href="http://www.vgable.com/imlocation/">IMLocation</a> that I&#8217;ve wanted to do for a while now, <strong>when you arrive at work, it can automagically close NSFW webpages</strong>.  NSFW content is detected using <a href="http://developer.apple.com/DOCUMENTATION/DARWIN/Reference/ManPages/man1/lsm.1.html">the same technology</a> behind Mac OS X&#8217;s Parental Controls.</p>
<p>I recommend <a href="http://www.vgable.com/imlocation/IMLocation.dmg">downloading IMLocation</a> to get the full effect, but you can also <a href="http://vgable.com/files/Close%20Private%20Webpages%20in%20Safari.action.zip">get just the automator action</a>.  Leopard is required, and it only works with Safari right now.</p>
<p>As you guessed, there is a trade-off between accidentally closing important webpages and letting questionable content slip through.  I&#8217;m not yet sure what the best way to expose tweaking this tradeoff is.  In the mean time I&#8217;ve chosen the more-confusing-but-powerful road, because I think it&#8217;s best to start with something that can do the job, and then refine and simplify it.</p>
<h3>Firefox?</h3>
<p>I want this to work with Firefox, but I am hamstrung by Firefox&#8217;s poor-to-nonexistant AppleScript support.  (In the meantime you can try the <a href="http://corknut.org/worksafer/">worksafer</a> Firefox plugin, but it&#8217;s not a true substitute).</p>
<p>Firefox is geared towards extension through plugins, while Safari has a less-rich plugin architecture, but good scripting support.  Arguably, the Firefox way is better for a web-browser.  I&#8217;ve seen some really cool Firefox plugins that extend the web-browsing experience in ways a script just can&#8217;t.  Unfortunately, what I&#8217;m trying to do &#8212; have NSFW content automatically closed <em>for you</em> when you get to work &#8212; is the sort of thing a script does well, and a plugin does cumbersomely, if at all.</p>
<p>If anyone has some advice on how to hack around Firefox&#8217;s limitations please drop me a line.  Right now my prognosis is &#8220;a lot of work for a clunky payoff&#8221;, so right now I&#8217;m focusing on more pressing concerns.</p>
]]></content:encoded>
			<wfw:commentRss>http://vgable.com/blog/2009/01/13/automatically-closing-nsfw-content-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Only Skin Deep&#8230;</title>
		<link>http://vgable.com/blog/2008/08/14/only-skin-deep/</link>
		<comments>http://vgable.com/blog/2008/08/14/only-skin-deep/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 23:30:45 +0000</pubDate>
		<dc:creator>Vincent Gable</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[Freetards]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://vgable.com/blog/2008/08/14/only-skin-deep/</guid>
		<description><![CDATA[Pictures showing that a nerds desktop can look like other operating-systems &#8230; at least from a few feet away. It&#8217;s a good reminder that design is not just skin deep.]]></description>
			<content:encoded><![CDATA[<p><a href="http://168hours.wordpress.com/2008/08/12/10-reasons-why-gui-doesnt-matter/">Pictures showing that a nerds desktop can <em>look</em> like other operating-systems</a> &#8230; at least from a few feet away.</p>
<p>It&#8217;s a good reminder that <a href="http://vincentgable.com/blog/2008/05/22/design-is-not-just-skin-deep/">design is not just skin deep</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://vgable.com/blog/2008/08/14/only-skin-deep/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programatically Excluding Things from Time Machine Backups</title>
		<link>http://vgable.com/blog/2008/07/07/programatically-excluding-things-from-time-machine-backups/</link>
		<comments>http://vgable.com/blog/2008/07/07/programatically-excluding-things-from-time-machine-backups/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 23:55:18 +0000</pubDate>
		<dc:creator>Vincent Gable</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Command-Line]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[Time Machine]]></category>

		<guid isPermaLink="false">http://vgable.com/blog/2008/07/07/programatically-excluding-things-from-time-machine-backups/</guid>
		<description><![CDATA[To exclude files/folders from a Time Machine backup, you can use the C-function CSBackupSetItemExcluded(). As far as I know there isn&#8217;t an official way to do this from the command-line or a shell script. As near as I can tell, the safest way to it without using compiled C-code is: sudo defaults write /Library/Preferences/com.apple.TimeMachine \ [...]]]></description>
			<content:encoded><![CDATA[<p>To exclude files/folders from a Time Machine backup, you can use the C-function <a href="http://developer.apple.com/documentation/MacOSX/Reference/Backup/Reference/reference.html"><code>CSBackupSetItemExcluded()</code></a>.</p>
<p>As far as I know there isn&#8217;t an <em>official</em> way to do this from the command-line or a shell script.  As near as I can tell, the <em>safest</em> way to it without using compiled C-code is:</p>
<p><code>sudo defaults write /Library/Preferences/com.apple.TimeMachine \<br />
SkipPaths -array-add "PATH-ONE" "PATH-TWO"</code><br />
where <code>"PATH-ONE" "PATH-TWO"</code> are of course paths to items you want to exclude.</p>
<p>Credit to <a href="http://www.makemacwork.com/">Ellis Jordan Bojar</a> for this solution. (<a href="http://www.makemacwork.com/command-time-machine.htm">original article</a>)  Using <code><a href="http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/defaults.1.html">defaults</a></code> instead of tinkering with .plist files directly is really the way to go!</p>
]]></content:encoded>
			<wfw:commentRss>http://vgable.com/blog/2008/07/07/programatically-excluding-things-from-time-machine-backups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

