<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<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/"
	>

<channel>
	<title>Vacuous Virtuoso &#187; Download</title>
	<link>http://lipidity.com</link>
	<description>Despotic Development</description>
	<pubDate>Wed, 02 Apr 2008 14:18:15 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Quicksilver B5X download</title>
		<link>http://lipidity.com/apple/quicksilver-b5x-download/</link>
		<comments>http://lipidity.com/apple/quicksilver-b5x-download/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 06:34:37 +0000</pubDate>
		<dc:creator>Ankur</dc:creator>
		
		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Quicksilver]]></category>

		<category><![CDATA[Application]]></category>

		<category><![CDATA[Download]]></category>

		<guid isPermaLink="false">http://lipidity.com/apple/quicksilver-b5x-download/</guid>
		<description><![CDATA[A download link is up. I&#8217;ll be periodically uploading a compiled version of Quicksilver for those who&#8217;re keen on testing out the latest revisions.

The incompatibility with the File Tagging plugin hasn&#8217;t yet been worked out as the source isn&#8217;t available. If you&#8217;re using the download from B5X, be sure to disable this plugin until the [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://lipidity.com/software/quicksilver/">download link</a> is up. I&#8217;ll be periodically uploading a compiled version of Quicksilver for those who&#8217;re keen on testing out the latest revisions.</p>

<p>The incompatibility with the File Tagging plugin hasn&#8217;t yet been worked out as the source isn&#8217;t available. If you&#8217;re using the download from B5X, be sure to disable this plugin until the conflict is resolved.</p>

<p class='centre'><a href="http://lipidity.com/software/quicksilver/"><img src='http://lipidity.com/wordpress/wp-content/uploads/2007/12/file-conflict-panel.jpg' alt='The new Smart Replace option in the file conflict panel replaces old files only' title='Smart Replace' /></a></p>

<p>Note that some features (such as the &#8220;smart replace&#8221; pictured above) require setting the feature level to &#8220;developer&#8221;. You can do this by running the following two commands, then relaunching:</p>

<pre><code>defaults write com.blacktree.Quicksilver "Cutting Edge Features" -bool yes
defaults write com.blacktree.Quicksilver "Feature Level" 3
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://lipidity.com/apple/quicksilver-b5x-download/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Subscribed Links</title>
		<link>http://lipidity.com/web/google-subscribed-links/</link>
		<comments>http://lipidity.com/web/google-subscribed-links/#comments</comments>
		<pubDate>Mon, 26 Nov 2007 06:11:59 +0000</pubDate>
		<dc:creator>Ankur</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[Wordpress]]></category>

		<category><![CDATA[Digg]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[Google]]></category>

		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://lipidity.com/web/google-subscribed-links/</guid>
		<description><![CDATA[Google Subscribed Links allows users to subscribe to XML documents provided by websites. If a subscriber then searches Google for a keyword that matches an item from the XML document, the item is displayed at the top of the results page, and highlighted.



I wrote a plugin for WordPress that allows you submit your RSS feed [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.google.com/coop/subscribedlinks/">Google Subscribed Links</a> allows users to subscribe to XML documents provided by websites. If a subscriber then searches Google for a keyword that matches an item from the XML document, the item is displayed at the top of the results page, and highlighted.</p>

<p><img src="http://images.lipidity.com/digg-coop-20071126-170804.jpg" alt="Digg's Google Subscribed Links" /></p>

<p>I wrote a <a href="http://wordpress.org/extend/plugins/google-subscribed-links/">plugin for WordPress</a> that allows you submit your RSS feed to Google Coop.</p>
]]></content:encoded>
			<wfw:commentRss>http://lipidity.com/web/google-subscribed-links/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quicksilver Smoke</title>
		<link>http://lipidity.com/apple/quicksilver-smoke/</link>
		<comments>http://lipidity.com/apple/quicksilver-smoke/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 03:53:18 +0000</pubDate>
		<dc:creator>Ankur</dc:creator>
		
		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Quicksilver]]></category>

		<category><![CDATA[Animation]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[GUI]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[plugin]]></category>

		<category><![CDATA[smoke]]></category>

		<guid isPermaLink="false">http://lipidity.com/apple/quicksilver-smoke/</guid>
		<description><![CDATA[I wrote this a while back as part of the Quicksilver Internal Commands tutorial. The plugin hooks onto the current Quicksilver interface so you can watch it go up in flames.





If you&#8217;re interested in this sort of thing, you can download the Quicksilver Smoke Actions plugin here.
]]></description>
			<content:encoded><![CDATA[<p>I wrote this a while back as part of the <a href="http://lipidity.com/apple/quicksilver-internal-commands/">Quicksilver Internal Commands</a> tutorial. The plugin hooks onto the current Quicksilver interface so you can watch it go up in flames.</p>

<!--more-->

<p class='centre'><a rel="lightbox" href="http://dev.lipidity.com/wp-content/uploads/2007/06/primer-smoking.jpg" title="Quicksilver Primer interface smoking"><img src="http://dev.lipidity.com/wp-content/uploads/2007/06/primer-smoking-thumb.jpg" alt="[Primer interface smoking]" title="Quicksilver Primer interface smoking" width="426" height="343" class='feature' /></a></p>

<p>If you&#8217;re interested in this sort of thing, you can download the Quicksilver Smoke Actions plugin <a href="http://lipidity.com/plugins/quicksilver/smoke">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://lipidity.com/apple/quicksilver-smoke/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Speed Cache</title>
		<link>http://lipidity.com/web/speed-cache/</link>
		<comments>http://lipidity.com/web/speed-cache/#comments</comments>
		<pubDate>Thu, 22 Nov 2007 04:17:19 +0000</pubDate>
		<dc:creator>Ankur</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[Wordpress]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://lipidity.com/web/speed-cache/</guid>
		<description><![CDATA[Another WordPress plugin. I&#8217;ve been using this on my own site for a long time and, after people encountered 404s searching for it, have decided to publish it.

Speed Cache basically takes external files such as javascript and CSS and mirrors them on your own server. I&#8217;m not going to go into detail about why you&#8217;d [...]]]></description>
			<content:encoded><![CDATA[<p>Another WordPress plugin. I&#8217;ve been using this on my own site for a long time and, after people encountered 404s searching for it, have decided to publish it.</p>

<p>Speed Cache basically takes external files such as javascript and CSS and mirrors them on your own server. I&#8217;m not going to go into detail about why you&#8217;d want to do this - you either do or you don&#8217;t. If you do, then feel free to use the plugin.</p>

<p><a href="http://wordpress.org/extend/plugins/speed-cache/">Here it is</a>.</p>

<p>Support questions in the comments for now, but I&#8217;m not providing any guarantees. This post may be replaced by a proper info page about the plugin sometime in the future, but at the moment that&#8217;s unlikely.</p>
]]></content:encoded>
			<wfw:commentRss>http://lipidity.com/web/speed-cache/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IconGrabber</title>
		<link>http://lipidity.com/apple/icongrabber/</link>
		<comments>http://lipidity.com/apple/icongrabber/#comments</comments>
		<pubDate>Tue, 20 Nov 2007 07:51:15 +0000</pubDate>
		<dc:creator>Ankur</dc:creator>
		
		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Application]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[plugin]]></category>

		<category><![CDATA[Quicksilver]]></category>

		<guid isPermaLink="false">http://lipidity.com/apple/icongrabber/</guid>
		<description><![CDATA[
I often need to use OS X icons on the web. Unfortunately, it&#8217;s not an easy matter to extract icons from Mac files or folders. The solution? IconGrabber.



It couldn&#8217;t be easier. Just drop the file or folder that you want the icon from onto IconGrabber, and choose a place to save it. The extension you [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://lipidity.com/software/icongrabber/' title='IconGrabber'><img class='fright' src='http://lipidity.com/wordpress/wp-content/uploads/2007/11/demo.png' alt='IconGrabber' /></a>
I often need to use OS X icons on the web. Unfortunately, it&#8217;s not an easy matter to extract icons from Mac files or folders. The solution? <a href="http://lipidity.com/software/icongrabber/">IconGrabber</a>.</p>

<!--more-->

<p>It couldn&#8217;t be easier. Just drop the file or folder that you want the icon from onto <a href="http://lipidity.com/software/icongrabber/">IconGrabber</a>, and choose a place to save it. The extension you choose determines the format, otherwise it defaults to tiff. That&#8217;s it!</p>

<hr />

<p>If you&#8217;re a Quicksilver user, you can use the <a href="http://lipidity.com/plugins/quicksilver/icongrabber/">IconGrabber Quicksilver plugin</a>. (It doesn&#8217;t require the IconGrabber application.) Once installed, you&#8217;ll get a &#8220;Save Icon To&#8230;&#8221; action. Not only can you save the icons of files and directories, you can save the icon of <em>whatever</em> appears in the first &#8220;object&#8221; pane. This is <em>extremely handy</em>.</p>

<p>Enjoy!</p>

<hr />

<p><strong>Update:</strong></p>

<p>The Quicksilver plugin is now at version 0.95. Notable changes include:</p>

<ul>
<li>Forcing direct object to load icon.</li>
<li>Indirect object for &#8220;Save Icon To&#8230;&#8221; starts at <code>IconGrabberSaveTo</code> defaults key. Format used is set by the <code>IconGrabberFormat</code> defaults key. Uses png by default.</li>
<li>&#8220;Save Icon As&#8230;&#8221; action added. Indirect objects have different image formats. Images are saved to the <code>IconGrabberSaveTo</code> defaults key.</li>
<li>Image files have the <code>IconGrabberAppend</code> key appended to the filename (&#8221;-icon&#8221; by default).</li>
</ul>

<p>For example, if you want to use the tiff format for the &#8220;Save Icon To&#8230;&#8221; action, run <code>defaults write com.blacktree.Quicksilver IconGrabberFormat tiff</code>.</p>

<p>If you want to change the directory the images are generated in by &#8220;Save Icon As&#8230;&#8221;, run <code>defaults write com.blacktree.Quicksilver IconGrabberSaveTo "~/NewDirectory"</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://lipidity.com/apple/icongrabber/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Beyond Repair</title>
		<link>http://lipidity.com/apple/beyond-repair/</link>
		<comments>http://lipidity.com/apple/beyond-repair/#comments</comments>
		<pubDate>Thu, 15 Nov 2007 09:16:33 +0000</pubDate>
		<dc:creator>Ankur</dc:creator>
		
		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Review]]></category>

		<category><![CDATA[Application]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://lipidity.com/apple/beyond-repair/</guid>
		<description><![CDATA[Where can you find an application that comprises a single shell command wrapped in so many layers that it ends up 10,000 times bigger, slower, more obtrusive, less intuitive and full of junk, but still performs the same function as the original command?

Here&#8217;s your answer.

AppleScript can be handy sometimes, but when people release applications like [...]]]></description>
			<content:encoded><![CDATA[<p>Where can you find an application that comprises a single shell command wrapped in so many layers that it ends up 10,000 times bigger, slower, more obtrusive, less intuitive and full of junk, but still performs the same function as the original command?</p>

<p><a href="http://www.nwwnetwork.net/software.php?app=wallsaver">Here&#8217;s your answer</a>.</p>

<p>AppleScript can be handy sometimes, but when people release applications like this, and get awards for it, alarm bells should be going off. WallSaver is almost two megabytes in size. For a single command-line.</p>

<p>Just reinforce the point, I wrote another wrapper for the same command in Objective-C. It&#8217;s 100 kb, or 60 kb without the icon. It can pause the screensaver (which brings it down to 0 CPU usage), resume it or restart it. And not once will it throw an &#8220;AppleScript error&#8221; <img src='http://lipidity.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . <a href="http://lipidity.com/software/desksaver/">Download it</a> and see for yourself.</p>

<p>As for the source code, all you need is:</p>

<pre><code>/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://lipidity.com/apple/beyond-repair/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Eliminate Bloatware</title>
		<link>http://lipidity.com/apple/eliminate-bloatware/</link>
		<comments>http://lipidity.com/apple/eliminate-bloatware/#comments</comments>
		<pubDate>Fri, 02 Nov 2007 02:00:45 +0000</pubDate>
		<dc:creator>Ankur</dc:creator>
		
		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Application]]></category>

		<category><![CDATA[Cocoa]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[Review]]></category>

		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://lipidity.com/apple/eliminate-bloatware/</guid>
		<description><![CDATA[The Vikings left their trash on the ground - Mac developers are stuffing theirs into their apps.]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve heard the excuses and listened to the complaints; the amount of junk shipped in third-party applications just doesn&#8217;t seem to change. If anything, it&#8217;s getting worse. Just because users may not realise how much bloat they&#8217;re getting along with the app, doesn&#8217;t change the fact that it&#8217;s bloat. Unnecessary junk.</p>

<p>Finder info, .DS_Store files, resource forks, debug symbols&#8230; They do nothing for the user short of wasting disk space. For the developer, extra bandwidth costs. Do people not realise this is a problem, or are they just too lazy to act? Either way, the solution is simple.</p>

<p>You can clean apps (sometimes to less than half their original size) with <a href="http://lipidity.com/apple/cleaning-apps-mac-os-x/">some basic commands</a> in the Terminal. But this takes time, and what&#8217;s more, Mac users in general have an aversion to the command line. Enter <a href="http://lipidity.com/trimmit/">Trimmit</a>.</p>

<p class='centre'><a href='http://lipidity.com/trimmit/' title='Trimmit'><img src='http://lipidity.com/wordpress/wp-content/uploads/2007/11/flow2.jpg' alt='[Trimmit]' title="Trimming Flow.app" /></a></p>

<blockquote><p>Trimmit is a svelte utility which takes the pain out of keeping your applications as tight as possible. I use it on Flow each time I seed a build, and I seriously doubt the process could any easier.</p> <cite><a href="http://extendmac.com/" title="ExtendMac Flow">Brian Amerige</a></cite></blockquote>

<p>Trimmit uses superfast UNIX APIs, Apple&#8217;s own developer tools, and the rock-solid Cocoa framework to automate your cleaning process. Just drop your built app onto it, maybe configure a few settings, and you&#8217;re away. <big>It doesn&#8217;t get any easier - or faster.</big></p>

<p>Other applications claim to save disk space by stripping universal binaries, or removing languages. <big>Trimmit does all of that - and more.</big> But it works. Look at this screenshot from Xslimmer regarding Xcode:</p>

<p class='centre'><img src='http://lipidity.com/wordpress/wp-content/uploads/2007/11/xcode-xslim.jpg' alt='Xslimmer on Xcode' title='Shows only 2 architectures' /></p>

<p>Xslimmer naively believes that only two architectures can exist in any application, but the truth is revealed by Trimmit:</p>

<p class='centre'><img src='http://lipidity.com/wordpress/wp-content/uploads/2007/11/xcodetrim-2.png' alt='i386, ppc, ppc64, x86_64' title='Architectures in Xcode' /></p>

<p><br />Because Trimmit interacts with the shell (<a href="http://zsh.sourceforge.net/FAQ/zshfaq01.html#l3">zsh</a>, in fact), no similar application can even come close to it&#8217;s level of power, accuracy and performance.</p>

<p><big><a href="http://rixstep.com/1/20071101,01.shtml">The results</a> speak for themselves.</big></p>

<p>Use Trimmit to recover disk space that third-party applications so rudely waste.</p>

<p class='centre' style='margin:2em 0'><big><a href="http://lipidity.com/trimmit/">Go get Trimmit.</a></big></p>
]]></content:encoded>
			<wfw:commentRss>http://lipidity.com/apple/eliminate-bloatware/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mac developer? Clean up your app</title>
		<link>http://lipidity.com/apple/cleaning-apps-mac-os-x/</link>
		<comments>http://lipidity.com/apple/cleaning-apps-mac-os-x/#comments</comments>
		<pubDate>Sat, 15 Sep 2007 14:00:24 +0000</pubDate>
		<dc:creator>Ankur</dc:creator>
		
		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Cocoa]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[shell]]></category>

		<category><![CDATA[terminal]]></category>

		<category><![CDATA[Tutorial]]></category>

		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://dev.lipidity.com/tutorial/cleaning-apps-mac-os-x</guid>
		<description><![CDATA[
  The reason for this article should be obvious: too many OS X third party developers do an absolutely terrible job of building and packaging their applications. rixstep


Too many apps are shipped with debug symbols, uncompressed images, redundant files or generally useless rubbish that not only wastes users&#8217; disk space, it ultimately ends up [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
  <p>The reason for this article should be obvious: too many OS X third party developers do an absolutely terrible job of building and packaging their applications. <cite><a href="http://rixstep.com/2/2/20070526,00.shtml">rixstep</a></cite></p>
</blockquote>

<p>Too many apps are shipped with debug symbols, uncompressed images, redundant files or generally useless rubbish that not only wastes users&#8217; disk space, it ultimately ends up increasing the developer&#8217;s own bandwidth costs.</p>

<!--more-->

<p>It&#8217;s not just the script kiddies at fault. <a href="http://www.cocoatech.com">Path Finder</a> weighs in at over 60 MB on disk, but after a few simple operations, is halved in size to just over 30 MB. <a href="http://appzapper.com">AppZapper</a> can be trimmed from three megabytes to just one. <a href="http://www.xslimmer.com">Xslimmer</a> (ironically) is over 80% junk, going from 5 MB on disk to a meagre 1 MB after being cleaned. In this case, the <em>disk image</em> is <em>three times as big</em> as the cleaned, <em>uncompressed</em> app. Starting to see the trend? Almost every app can be cleaned up to save a good deal of space.</p>

<h2>Deploying your app</h2>

<p>Rixstep provide instructions on <a href="http://rixstep.com/2/20070306,00.shtml">deploying OS X apps</a> covering most of the major areas.</p>

<p>Essentially, you need to:</p>

<dl>
<dt>Remove Junk</dt>
<dd>Get rid of all .DS_Store files. In Cocoa apps, remove PkgInfo.
You should only have objects.nib or keyedobjects.nib in your nibs: remove classes.nib, info.nib, and data.dependency; these are not relevant for the user. Also remove all header files from your app and from embedded frameworks.</dd>

<dt>Clean up localization</dt>
<dd>Keep all non-language-specific resources in the Resources folder rather than duplicating them in each .lproj folder.
Look through the framework you&#8217;re embedding, and remove any unnecessary files files. That includes language projects which your main app doesn&#8217;t support.</dd>

<dt>Compress images</dt>
<dd>Make sure all your images are compressed, especially if they&#8217;re in TIFF format. (But you shouldn&#8217;t use images for simple graphics like curves or gradients anyway; there are Cocoa drawing routines for that and NSBezierPath is your friend)</dd>

<dt>Trim binaries</dt>
<dd>Do not release an app that has been built using the Xcode &#8220;Debug&#8221; configuration. Remove the debug symbols from your build product, and if possible, release architecture-specific versions of your app, as well as a universal binary.</dd>
</dl>

<p>Get all the details in <a href="http://rixstep.com/2/2/20070526,00.shtml">Building and Packaging Native OS X Applications</a>.</p>

<h2>Automation</h2>

<blockquote>
  <p>A relevant question is: are there any tools that automate this process? And the answer has to be &#8216;not up to now there aren&#8217;t&#8217;. Until something comes along to save users from these issues it&#8217;s still all up to that developer you trust. <cite><a href="http://rixstep.com/2/20070306,00.shtml">Rixstep</a></cite></p>
</blockquote>

<p>There is finally a tool that automates at least some of the cleaning process. Say hello:</p>

<p class="centre"><big><a href='http://lipidity.com/downloads/trim-app/' title='download trim-app shell script'>Go get trim-app</a></big></p>

<p>Trim-app is a shell script. It:</p>

<ul>
<li>Cleans out all the horrible .DS_Store files</li>
<li>Removes unnecessary info.nib, classes.nib, and data.dependency files from inside nibs</li>
<li>Strips &#8220;fat&#8221; universal binaries to contain code for a chosen architecture only</li>
<li>Eliminates debug symbols that may be left in your application</li>
</ul>

<p>You can perform all procedures at once, one at a time, multiple at a time, etc. using different parameters or flags (run <code>trim-app -h</code> for help).</p>

<p>The script searches the current working directory including every subdirectory so no files are missed. Even embedded frameworks are scanned through and cleaned out. So make sure you&#8217;re in the right directory before running (use the <code>pwd</code> command if unsure)</p>

<p>All changes performed are <strong>permanent</strong> and non-recoverable. (If you&#8217;re writing the app, that shouldn&#8217;t be a problem. Just build it again if something goes wrong)</p>

<p class="note">While it&#8217;s written for cleaning out applications, this script is also great for general tasks - cleaning out .DS_Store files in a certain folder, for example.</p>

<h3>Installation</h3>

<ul>
<li>Unzip the <a href="http://lipidity.com/downloads/trim-app/">download</a>.</li>
<li>Open Terminal and navigate to the folder where the unzipped trim-app is.</li>
<li>Run <code>chmod 0700 trim-app</code>. This makes sure only you can execute it.</li>
</ul>

<p>If you want easy access to the command, move the file to /usr/bin/ by running <code>sudo mv trim-app /usr/bin/</code>. You&#8217;ll be asked for the admin password, then file will be moved.</p>

<p>You can now test if it&#8217;s working by running <code>trim-app -h</code>. Instructions for trim-app will appear. Once you&#8217;re done reading them, press <code>q</code> to exit, and start using it!</p>

<h3>Usage</h3>

<p>Running the shell script without any parameters will attempt to run all four procedures. You&#8217;ll be prompted for an architecture to keep in universal binaries. Leave this blank (just hit return) to leave universal binaries universal, or type in an architecture to keep (usually <code>ppc</code> or <code>i386</code>) if you want them stripped down.</p>

<p>Here&#8217;s an example of how you would use it in the Terminal:</p>

<pre><code>% <kbd>cd myApp.app/</kbd>
% <kbd>trim-app</kbd>
<samp>Architecture to keep? (ppc/i386)</samp> <kbd>ppc</kbd>
<samp>   Removing .DS_Store files&#8230;</samp>
<samp>   Trimming nibs&#8230;</samp>
<samp>   Trimming universal binaries&#8230;</samp>
<samp>   Stripping debug symbols&#8230;</samp>
<samp>   Cleaning up&#8230;</samp>
<samp>Done.</samp>
%</code></pre>

<p>If you don&#8217;t want to be prompted each time for the architecture, use either <code>--all</code> (as in, <code>trim-app --all</code>) (which will run everything <em>except</em> the liposuction of universal binaries), or add the architecture to keep immediately after, like <code>trim-app --all ppc</code>.</p>

<p>Add a <code>-p</code> flag to the end if you want to see a list of affected files. For example,</p>

<pre><code>% trim-app --all i386 -p
</code></pre>

<p>You can also run individual procedures. The following cleans out .DS_Stores from the entire Macintosh HD:</p>

<pre><code>% cd /
% sudo trim-app -d
</code></pre>

<p class="note">Run <code>trim-app -h</code> to find out more about the available parameters.</p>

<hr />

<p>Don&#8217;t forget the standard shell practices still apply. Ctrl-C any time during operation to immediately halt execution, save output to a file with <code>trim-app -p &gt; trim-log.txt</code>, and so on.</p>

<p>Lastly, remember that while this shell script does a lot of the work (and there is an application called <a href="http://www.synium.de/cleanapp/index.html">CleanApp</a> which can help remove unnecessary lproj files), it&#8217;s still up to you to take care of removing headers, compressing images, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://lipidity.com/apple/cleaning-apps-mac-os-x/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Virtuoso theme for TextMate&#8217;s preview window</title>
		<link>http://lipidity.com/apple/textmate-preview-theme/</link>
		<comments>http://lipidity.com/apple/textmate-preview-theme/#comments</comments>
		<pubDate>Tue, 03 Jul 2007 02:00:04 +0000</pubDate>
		<dc:creator>Ankur</dc:creator>
		
		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[TextMate]]></category>

		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://dev.lipidity.com/apple/textmate-preview-theme</guid>
		<description><![CDATA[If you use TextMate a lot, you&#8217;ve probably customized it to suit your habits and workflow. TextMate&#8217;s preview window is rarely customized as much as anything else, so here&#8217;s a good-looking, accessible and fluid theme that I use to pretty up the application.







 This isn&#8217;t a bona fide TextMate theme in that it has no [...]]]></description>
			<content:encoded><![CDATA[<p>If you use <a href="http://macromates.com/">TextMate</a> a lot, you&#8217;ve probably customized it to suit your habits and workflow. TextMate&#8217;s preview window is rarely customized as much as anything else, so here&#8217;s a good-looking, accessible and fluid theme that I use to pretty up the application.<!--more--></p>

<p class="centre">
<a href="http://dev.lipidity.com/wp-content/uploads/2007/07/textmate-theme-preview.png" title="TextMate Theme Preview Window" rel="lightbox[TextMate]"><img src="http://dev.lipidity.com/wp-content/uploads/2007/07/textmate-window-thumb.png" class="feature" alt="TextMate Window Preview Window" height="115" width="154" /></a>

<a href="http://dev.lipidity.com/wp-content/uploads/2007/07/textmate-virtuoso-theme-svn.jpg" title="TextMate Theme Subversion Status Window" rel="lightbox[TextMate]"><img src="http://dev.lipidity.com/wp-content/uploads/2007/07/textmate-subversion-thumb.png" class="feature" title="TextMate Virtuoso Theme Subversion Status Window" alt="[TextMate Theme Subversion Window]" height="115" width="134" /></a>
</p>

<p><a href="http://dev.lipidity.com/wp-content/uploads/2007/07/virtuoso.zip" title="Download TextMate Virtuoso Theme"><img src="http://images.lipidity.com/TMTheme.png" height="128" width="128" alt="TextMate theme icon" class="fright" /></a> This isn&#8217;t a bona fide TextMate theme in that it has no effect on the fonts &amp; colors in your main editing window, but it styles the preview window in Markdown (or blogging) mode, as well as the subversion windows (click the thumbnails just above to see bigger pictures).</p>

<p>The &#8220;virtuoso&#8221; theme is modeled from this very site and handles tags like <big>big</big>, <small>small</small>, <strong>strong</strong>, <em>emphasized</em>, <kbd>kbd</kbd>, <abbr title="A sample abbreviation">abbreviations</abbr> and <acronym title="A sample acronym">acronyms</acronym>, <code>code</code>, <ins>insertions</ins>, <del>deletions</del>, <q>quotations</q>, <cite>citations</cite>, super<sup>script</sup>, sub<sub>script</sub> etc. Smashing, really. You can explore the elements and classes in style.css to get an idea of what&#8217;s possible, or just look at the styles used on this site.</p>

<p>But that&#8217;s enough talk, you have to see it for yourself to really appreciate it. <a href='http://dev.lipidity.com/wp-content/uploads/2007/07/virtuoso.zip' title='Download TextMate Virtuoso Theme'>Download</a> the archive, then extract it to <code>~/Library/Application Support/TextMate/Themes/WebPreview/</code>. You may need to restart TextMate, then you&#8217;ll see &#8220;virtuoso&#8221; among the list of themes in the Markdown preview or subversion window.</p>

<p class="centre"><img src="http://dev.lipidity.com/wp-content/uploads/2007/07/textmate-choose-theme.png" class="feature" alt="Textmate Choose Theme" height="84" width="243" /></p>

<p>The added benefit of this (for me) is being able to preview what a blog post is going to look like, so I don&#8217;t have to mess with WordPress until I&#8217;ve got the entire post written.</p>

<p>Please feel free to heap praise upon or post constructive criticism on this. I value your comments.</p>

<p><ins datetime="2007-07-25T04:59:02+00:00" class='block'>Fixed compatibility with other themes.
Improved overall appearance.</ins></p>
]]></content:encoded>
			<wfw:commentRss>http://lipidity.com/apple/textmate-preview-theme/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Digg API Cocoa framework</title>
		<link>http://lipidity.com/apple/digg-api-cocoa-framework/</link>
		<comments>http://lipidity.com/apple/digg-api-cocoa-framework/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 08:02:45 +0000</pubDate>
		<dc:creator>Ankur</dc:creator>
		
		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Cocoa]]></category>

		<category><![CDATA[API]]></category>

		<category><![CDATA[Digg]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[framework]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://dev.lipidity.com/apple/digg-api-cocoa-framework</guid>
		<description><![CDATA[I have been secretly preparing in my evil laboratory, a Cocoa framework that makes it ridiculously easy to use the recently-released <a href="http://dev.lipidity.com/apple/national-api-week">Digg API</a>.]]></description>
			<content:encoded><![CDATA[<p>A little sneak preview of some of the stuff you can do with it:</p>

<pre>
- (DiggObject *)fetchStoryWithID:(int)ID;
- (DiggObject *)fetchStoryWithTitle:(NSString *)name;
- (DiggObject *)fetchStoryWithURL:(NSString *)url;
- (NSMutableArray *)fetchStoriesForDomain:(NSString *)domain;
- (NSMutableArray *)fetchStoriesForTopic:(NSString *)topic;
- (NSMutableArray *)fetchStoriesForContainer:(NSString *)container;
- (NSMutableArray *)fetchStoriesSubmittedBy:(NSString *)user;
- (NSMutableArray *)fetchPopular;
- (NSMutableArray *)fetchRecent;
- (NSMutableArray *)fetchStories;
- (NSMutableArray *)fetchUpcoming;
</pre>

<p>It&#8217;s also just as easy to set the options or parameters that you would like to call the query with:</p>

<pre>
-(void)setAppkey:(NSString *)newAppkey;
-(NSString *)appkey;

-(NSString *)proxy;
-(void)setProxy:(NSString *)newProxy;

-(BOOL)single;
-(void)setSingle:(BOOL)newSingle;

-(int)count;
-(void)setCount:(int)newCount;

-(int)offset;
-(void)setOffset:(int)newOffset;

-(int)total;

-(NSString *)domain;
-(void)setDomain:(NSString *)newDomain;

-(NSString *)sortBy;
-(void)setSortBy:(NSString *)newSort;

-(NSString *)status;
- (void)setStatus:(NSString *)newStatus;

- (NSString *)minSubmitDate;
- (void)setMinSubmitDate:(NSString *)newMinSubmitDate;

- (NSString *)maxSubmitDate;
- (void)setMaxSubmitDate:(NSString *)newMaxSubmitDate;

- (NSString *)minPromoteDate;
- (void)setMinPromoteDate:(NSString *)newMinPromoteDate;

- (NSString *)maxPromoteDate;
- (void)setMaxPromoteDate:(NSString *)newMaxPromoteDate;
</pre>

<p>Currently the focus is on fetching stories, but fetching information for users, events (Diggs and comments), topics and containers will be written in shortly.</p>

<p>The only major thing lacking now is people to use the framework!</p>

<p>If you&#8217;re interested, drop a comment below and I&#8217;ll provide you with the necessary ammunition to create, fetch, parse and utilize Digg API calls with the ease of regular Objective-C Cocoa methods.</p>

<p>The official release date will depend on the response from the initial testers, so what are you waiting for? Ask me for a copy!</p>
]]></content:encoded>
			<wfw:commentRss>http://lipidity.com/apple/digg-api-cocoa-framework/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
