<?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>An Experiment in Bloggery &#187; Mac OS X</title>
	<atom:link href="http://kevin.sb.org/category/mac-os-x/feed/" rel="self" type="application/rss+xml" />
	<link>http://kevin.sb.org</link>
	<description>The occasional view into my life</description>
	<lastBuildDate>Wed, 30 Jun 2010 18:48:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Flip Video importer</title>
		<link>http://kevin.sb.org/2008/04/23/flip-video-importer/</link>
		<comments>http://kevin.sb.org/2008/04/23/flip-video-importer/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 03:05:11 +0000</pubDate>
		<dc:creator>Kevin Ballard</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Automator]]></category>
		<category><![CDATA[AVI]]></category>
		<category><![CDATA[Flip]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://kevin.sb.org/?p=152</guid>
		<description><![CDATA[I just picked up a new Flip Video and was dismayed to find out that it used a custom app to import its movies, and that this custom app was PPC. I was also dismayed to find out that iMovie &#8216;08 refuses to import AVIs even if you have the appropriate codec installed. So after [...]]]></description>
			<content:encoded><![CDATA[<p>I just picked up a new <a href="http://www.theflip.com">Flip Video</a> and was dismayed to find out that it used a custom app to import its movies, and that this custom app was PPC. I was also dismayed to find out that iMovie &#8216;08 refuses to import AVIs even if you have the appropriate codec installed. So after some hacking, I put together an Automator workflow that will convert all your Flip videos into DV and import them into iMovie. You can download it <a href="http://kevin.sb.org/wp-content/uploads/2008/06/import-flip-videos.zip">here</a>.</p>

<p><em>Update:</em> I&#8217;ve put up a new version of the importer that has a much longer timeout when waiting for Quicktime to export each movie.</p>
]]></content:encoded>
			<wfw:commentRss>http://kevin.sb.org/2008/04/23/flip-video-importer/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>GrabUp released</title>
		<link>http://kevin.sb.org/2008/04/16/grabup-released/</link>
		<comments>http://kevin.sb.org/2008/04/16/grabup-released/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 06:44:55 +0000</pubDate>
		<dc:creator>Kevin Ballard</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[GrabUp]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://kevin.sb.org/?p=151</guid>
		<description><![CDATA[Recently I was contracted to write some software, and it&#8217;s just now been released. It&#8217;s called GrabUp. Basically, the whole purpose here is for zero-click sharing of screenshots. GrabUp is a daemon that sits in the background and waits for you to take a screenshot, then it instantly uploads it to the GrabUp servers and [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was contracted to write some software, and it&#8217;s just now been released. It&#8217;s called <a href="http://www.grabup.com">GrabUp</a>. Basically, the whole purpose here is for zero-click sharing of screenshots. <a href="http://www.grabup.com">GrabUp</a> is a daemon that sits in the background and waits for you to take a screenshot, then it instantly uploads it to the GrabUp servers and puts the URL on your clipboard. It has a nice status item to let you know when it&#8217;s done. If you have GrabUp running and you want to share an image, just take the screenshot and then paste the URL anywhere. So far, GrabUp has been seen in <a href="http://www.tuaw.com/2008/04/15/grabup/" title="The Unofficial Apple Weblog">TUAW</a> and we also got a rather nice <a href="http://dbachrach.com/blog/2008/04/15/grabup-simply-amazing/" title="GrabUp: Simply Amazing">blog post</a> reviewing it.</p>
]]></content:encoded>
			<wfw:commentRss>http://kevin.sb.org/2008/04/16/grabup-released/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Malloc free space not reclaimed</title>
		<link>http://kevin.sb.org/2007/07/05/malloc-free-space-not-reclaimed/</link>
		<comments>http://kevin.sb.org/2007/07/05/malloc-free-space-not-reclaimed/#comments</comments>
		<pubDate>Fri, 06 Jul 2007 00:25:00 +0000</pubDate>
		<dc:creator>Kevin Ballard</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[malloc]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[OS X]]></category>

		<guid isPermaLink="false">http://c9c139cd-075a-4abd-a159-8c73c5065991</guid>
		<description><![CDATA[Lately every day when I come home from work I notice a handful of applications taking up a surprisingly high amount of Real Memory. These apps tend to be Quicksilver, Safari, iScrobbler, NetNewsWire, and GrowlHelperApp. Every day I end up quitting at least 3 apps to free up some memory and it happens all over [...]]]></description>
			<content:encoded><![CDATA[<p>Lately every day when I come home from work I notice a handful of applications taking up a surprisingly high amount of Real Memory. These apps tend to be Quicksilver, Safari, iScrobbler, NetNewsWire, and GrowlHelperApp. Every day I end up quitting at least 3 apps to free up some memory and it happens all over again.</p>

<p>Right now Quicksilver is using roughly 235MB of Real Memory. Running <code>vmmap</code> on it tells me that almost all of that memory is in the malloc zone, and the vast majority of that malloced memory are freed blocks. So my question is why are my multitudes of freed MALLOC_TINY pages not being reclaimed by the system?</p>
]]></content:encoded>
			<wfw:commentRss>http://kevin.sb.org/2007/07/05/malloc-free-space-not-reclaimed/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>SafariSource update</title>
		<link>http://kevin.sb.org/2007/06/24/safarisource-update/</link>
		<comments>http://kevin.sb.org/2007/06/24/safarisource-update/#comments</comments>
		<pubDate>Sun, 24 Jun 2007 16:26:00 +0000</pubDate>
		<dc:creator>Kevin Ballard</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Czech]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[SafariSource]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://47ea8264-01aa-4d0b-8dea-979c0858ffd8</guid>
		<description><![CDATA[I just released a new version of SafariSource which supports Safari 3.0 last night. This morning I received a Czech localization from Jakub Formanek, so I just released SafariSource v1.7.1. with the new localization. So if you&#8217;re using Safari 3.0, or if you&#8217;re Czech, go ahead and download SafariSource. If you&#8217;re using Safari 2.x, please [...]]]></description>
			<content:encoded><![CDATA[<p>I just released a new version of SafariSource which supports Safari 3.0 last night. This morning I received a Czech localization from Jakub Formanek, so I just released SafariSource v1.7.1. with the new localization.</p>

<p>So if you&#8217;re using Safari 3.0, or if you&#8217;re Czech, go ahead and download <a href="http://www.tildesoft.com/Files/SafariSource.zip">SafariSource</a>. If you&#8217;re using Safari 2.x, please let me know it still works as I can&#8217;t test that with 3.0 installed.</p>
]]></content:encoded>
			<wfw:commentRss>http://kevin.sb.org/2007/06/24/safarisource-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Activity Monitor leaks</title>
		<link>http://kevin.sb.org/2006/11/16/activity-monitor-leaks/</link>
		<comments>http://kevin.sb.org/2006/11/16/activity-monitor-leaks/#comments</comments>
		<pubDate>Thu, 16 Nov 2006 09:58:00 +0000</pubDate>
		<dc:creator>Kevin Ballard</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Activity Monitor]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[leaks]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[pmTool]]></category>
		<category><![CDATA[RAM]]></category>

		<guid isPermaLink="false">http://95c4900c-c03d-4ea8-9fba-4b73271f1d1c</guid>
		<description><![CDATA[Note: Mac OS X 10.4.9 seems to fix the bug described here. pmTool, the process run by Activity Monitor to actually collect stats, appears to leak memory. If I leave Activity Monitor running for a good period of time, when I check up on it pmTool is often using over 100MiB of Real Memory. I [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Note</strong>: Mac OS X 10.4.9 seems to fix the bug described here.</p>

<p><code>pmTool</code>, the process run by Activity Monitor to actually collect stats, appears to leak memory. If I leave Activity Monitor running for a good period of time, when I check up on it <code>pmTool</code> is often using over 100MiB of Real Memory.</p>

<p>I just checked my laptop, <code>pmTool</code> was using over 100MiB of Real Memory. Right now on my desktop it&#8217;s using 41MiB of Real Memory, but I don&#8217;t remember how long it&#8217;s been running for. I also believe a good deal of memory is currently paged out.</p>

<p>After checking up on it, <code>pmTool</code> on my desktop has a Private Memory size of 91MiB.</p>

<p><span id="more-115"></span></p>

<p>If I run <code>leaks</code> on <code>pmTool</code> on my desktop, I see 27931 leaks for 85799936 total leaked bytes, which works out to about 81.8MiB of leaked memory. All but 2 of these leaks appear to be blocks of memory of size 3072 that start with <code>'?\0'</code>.</p>

<p>In any case, this seems to be a pretty significant leak in pmTool.</p>

<p>A highly non-scientific test shows it to be adding one new leak every time the UI in Activity Monitor updates (default is every 2 seconds). So if you haven&#8217;t changed the update frequency then <code>pmTool</code> will leak 3KiB of memory every 2 seconds.</p>

<p>That&#8217;s a lot.</p>

<p>I haven&#8217;t noticed <code>pmTool</code> taking more than about 100MiB of Real Memory so far, but I never thought to check Private Memory until now so it may have simply been paging out a lot of leaks. If my calculations are correct, every 24 hours <code>pmTool</code> will have leaked 126.6MiB.</p>

<p>If you keep Activity Monitor running constantly like I do, you may want to check what your current memory usage is. If you see anything close to what I am, you may want to re-evaluate the importance of Activity Monitor (or set up a cron job to periodically restart Activity Monitor). On the other hand if you&#8217;re not seeing a leak problem I&#8217;d be interested to hear the details of your system (I&#8217;m currently running OS X 10.4.8). I&#8217;m not entirely certain whether this leak is Apple&#8217;s fault or whether one of the myriad customizations to my system is somehow causing this. As far as I know none of the hacks I use that inject into other code processes affect pmTool (seeing as how it&#8217;s not an AppKit application, so it doesn&#8217;t load Input Managers, and it&#8217;s run as root so it won&#8217;t be affected by anything that tries code injection), so this seems likely to be Apple&#8217;s fault, but if so I&#8217;m really surprised that they haven&#8217;t fixed it.</p>

<p><strong>Update</strong>: I just checked the current memory usage of <code>pmTool</code>. I haven&#8217;t restarted it in at least a day, and yet it was listing a reasonable 1.2MiB of Real memory, and roughly the same Private Memory. This is the memory usage I&#8217;d want it to have, and yet completely different than the observed behaviour I documented in this post. I double-checked and the memory usage on my laptop was up to 55MiB. I wish I had thought of running <code>leaks</code> on <code>pmTool</code> when I saw this, but instead I quit and relaunched Activity Monitor, and immediately the leaky behaviour came back.</p>

<p><strong>Update 2</strong>: I feel silly now. I completely forgot I&#8217;d set up a root crontab entry with <code>@hourly killall pmTool</code> to minimize the leak. That&#8217;s why it was showing such a small memory usage.</p>

<p><strong>Update 3</strong>: I just got a brand new 2GHz Core 2 Duo MacBook, running 10.4.8 with the latest security update (i.e. the same OS as my iMac), and quite mysteriously, this leak isn&#8217;t showing itself. pmTool has a respectable 960KiB of Real memory usage, and no leaks. I can&#8217;t explain it.</p>
]]></content:encoded>
			<wfw:commentRss>http://kevin.sb.org/2006/11/16/activity-monitor-leaks/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Quick Tip: Using Rosetta from the command-line</title>
		<link>http://kevin.sb.org/2006/02/14/quick-tip-using-rosetta-from-the-command-line/</link>
		<comments>http://kevin.sb.org/2006/02/14/quick-tip-using-rosetta-from-the-command-line/#comments</comments>
		<pubDate>Wed, 15 Feb 2006 01:39:00 +0000</pubDate>
		<dc:creator>Kevin Ballard</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Photo Booth]]></category>
		<category><![CDATA[rosetta]]></category>
		<category><![CDATA[translate]]></category>

		<guid isPermaLink="false">http://9a0d732f-1a17-4dee-94d8-5e219e25b60e</guid>
		<description><![CDATA[Here&#8217;s a neat tip I just discovered. It&#8217;s really quite easy to run an app through Rosetta from the command-line. How? By using /usr/libexec/oah/translate. For example, /usr/libexec/oah/translate /Applications/Photo\ Booth.app/Contents/MacOS/Photo\ Booth will launch Photo Booth in Rosetta.]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a neat tip I just discovered. It&#8217;s really quite easy to run an app through Rosetta from the command-line. How? By using <code>/usr/libexec/oah/translate</code>. For example, <code>/usr/libexec/oah/translate /Applications/Photo\ Booth.app/Contents/MacOS/Photo\ Booth</code> will launch Photo Booth in Rosetta.</p>
]]></content:encoded>
			<wfw:commentRss>http://kevin.sb.org/2006/02/14/quick-tip-using-rosetta-from-the-command-line/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Intel Goodness</title>
		<link>http://kevin.sb.org/2006/02/08/intel-goodness/</link>
		<comments>http://kevin.sb.org/2006/02/08/intel-goodness/#comments</comments>
		<pubDate>Wed, 08 Feb 2006 19:32:00 +0000</pubDate>
		<dc:creator>Kevin Ballard</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[core duo]]></category>
		<category><![CDATA[iMac]]></category>
		<category><![CDATA[intel]]></category>
		<category><![CDATA[macintosh]]></category>
		<category><![CDATA[world of warcraft]]></category>

		<guid isPermaLink="false">http://f6f6cce4-640e-4953-9b27-32c2f8a4d062</guid>
		<description><![CDATA[Yesterday evening I went and picked my new Intel iMac back up. It finally arrived monday (after a stop over in Alaska due to UPS mis-sorting it), and had a display problem in Front Row. So I took it in to get it repaired. That evening I discovered consumermachine.com which described my problem exactly and [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday evening I went and picked my new Intel iMac back up. It finally arrived monday (after a stop over in Alaska due to UPS mis-sorting it), and had a display problem in Front Row. So I took it in to get it repaired. That evening I discovered <a href="http://www.consumermachine.com">consumermachine.com</a> which described my problem exactly and determined that it was a software issue. So I cancelled the repair and got the machine back yesterday.</p>

<p>Anyway, the machine is pretty sweet. It&#8217;s blazing fast and, luckily, World of Warcraft went Universal yesterday so I could try it out. I can&#8217;t turn everything up and have it be smooth, but I can turn the graphics settings higher than I could on my Desktop.</p>

<p><typo:lightbox img="97113151" thumbsize="small" displaysize="large" caption="" style="text-align: center" /></p>

<p>You can find pictures of it being unpacked <a href="http://flickr.com/photos/eridius/sets/72057594061178343/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://kevin.sb.org/2006/02/08/intel-goodness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A new dawning of work</title>
		<link>http://kevin.sb.org/2005/10/25/a-new-dawning-of-work/</link>
		<comments>http://kevin.sb.org/2005/10/25/a-new-dawning-of-work/#comments</comments>
		<pubDate>Tue, 25 Oct 2005 12:34:51 +0000</pubDate>
		<dc:creator>Kevin Ballard</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[macintosh]]></category>
		<category><![CDATA[messenger]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://f5dd9631-33de-4977-923b-8677fa133c39</guid>
		<description><![CDATA[Well, yesterday was my first day at my new job. For those of you who don&#8217;t know, I&#8217;m now working at Yahoo! as a Macintosh programmer. Interestingly, my coworker (co-Macintosh programmer) is a FOAF that I met at WWDC (our mutual friend is Karl Adam, a.k.a. PantherMachina). Anyway, I flew out here 2 days ago [...]]]></description>
			<content:encoded><![CDATA[<p>Well, yesterday was my first day at my new job. For those of you who don&#8217;t know, I&#8217;m now working at Yahoo! as a Macintosh programmer. Interestingly, my coworker (co-Macintosh programmer) is a <acronym title="Friend of a friend">FOAF</acronym> that I met at <acronym title="World-Wide Developer's Conference">WWDC</acronym> (our mutual friend is Karl Adam, a.k.a. PantherMachina).</p>

<p>Anyway, I flew out here 2 days ago and am staying (for the short-term) with my older brother Rick, who works at Apple. I&#8217;m looking into getting an apartment with my coworker (his name is <a href="http://www.otierney.net/">Tristan</a>), but we need to find something appropriate first. In any case, the work here looks to be quite interesting and enjoyable - last night Tristan and I stayed until, I believe, 9:30 PM. Granted, I was just customizing my computer to have all the things I want/need on it, but he was actually doing some work.</p>

<p>For those of you who use the Yahoo! Instant Messenger network, you&#8217;ll be happy to learn that the project I&#8217;m working on is the Yahoo! Instant Messenger client. However, I think that&#8217;s all I can tell you, so don&#8217;t bother asking for details.</p>
]]></content:encoded>
			<wfw:commentRss>http://kevin.sb.org/2005/10/25/a-new-dawning-of-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update to SafariSource</title>
		<link>http://kevin.sb.org/2004/10/18/update-to-safarisource/</link>
		<comments>http://kevin.sb.org/2004/10/18/update-to-safarisource/#comments</comments>
		<pubDate>Mon, 18 Oct 2004 06:13:25 +0000</pubDate>
		<dc:creator>Kevin Ballard</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://6cc48506911a117c67bd46a6518a2b7f</guid>
		<description><![CDATA[<a href="http://www.tildesoft.com/Files/SafariSource.zip">SafariSource</a> v1.5 is now available.]]></description>
			<content:encoded><![CDATA[<p>Ok, I just released <a href="http://www.tildesoft.com/Files/SafariSource.zip" title="SafariSource">SafariSource</a> v1.5. This version adds a preference pane to Safari&#8217;s preferences that lets you control the syntax highlighting. It also adds the option to use italic/underline/bold in addition to colors and the ability to change the base font/size.</p>

<p>This update was a real pain to do. I ran into a memory corruption bug that I spent hours trying to track down. A couple hours ago I finally discovered the cause. I was using a header file class-dumped from Jaguar&#8217;s AppKit and apparently Panther added 2 new ivars to NSPreferencesModule. What I didn&#8217;t expect was that my definition of NSPreferencesModule was taking precedence over AppKit&#8217;s definition, so when I allocated the memory for my subclass it wasn&#8217;t large enough and whenever those 2 extra ivars were written to it was writing to memory that wasn&#8217;t owned by my instance and that was the memory corruption. Simply class-dumping a new header file and using that magically solved the problem.</p>

<p>Anyway, enjoy :)</p>
]]></content:encoded>
			<wfw:commentRss>http://kevin.sb.org/2004/10/18/update-to-safarisource/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rawr</title>
		<link>http://kevin.sb.org/2004/09/30/rawr/</link>
		<comments>http://kevin.sb.org/2004/09/30/rawr/#comments</comments>
		<pubDate>Fri, 01 Oct 2004 03:57:11 +0000</pubDate>
		<dc:creator>Kevin Ballard</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://0721729b4832768c2164a05894a0378c</guid>
		<description><![CDATA[About Growl, an open-source centralized notification system for Mac OS X.]]></description>
			<content:encoded><![CDATA[<p>If you haven&#8217;t tried <a href="http://www.growl.info" title="Growl">Growl</a> yet, I strongly encourage you to do so.</p>

<p>What is it, you ask? It&#8217;s an open-source centralized notification system for <a href="http://www.apple.com" title="Apple">Mac OS X</a> applications, allowing applications to have consistent, non-interfering notifications that are fully user-customizable with very little effort. And it supports a display plugin architecture which means that if one person creates a new display for Growl notifications, all applications can benefit. Only a small number of applications currently support Growl, but that number is growing.</p>

<p>One of the really nice things about Growl is the level of developer support it has. It&#8217;s possible to use Growl from Cocoa, Carbon, <a href="http://www.python.org" title="Python">python</a>, <a href="http://www.perl.com" title="Perl">perl</a>, tcl, and AppleScript, and there&#8217;s nothing to stop bindings for other languages from being created.</p>

<p>Anyway, if you want to see some docs or screenshots, just head on over to their <a href="http://www.growl.info" title="Growl">web site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kevin.sb.org/2004/09/30/rawr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->