<?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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>offTheHill &#187; apple</title>
	<atom:link href="http://www.offthehill.org/articles/tag/apple/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.offthehill.org</link>
	<description>tech, motorsports, and the occasional artwork</description>
	<lastBuildDate>Wed, 05 May 2010 23:39:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<!-- podcast_generator="podPress/8.8" - maintenance_release="8.8.4" -->
		<copyright>2006-2007 </copyright>
		<managingEditor>josh@offthehill.org (offTheHill)</managingEditor>
		<webMaster>josh@offthehill.org (offTheHill)</webMaster>
		<category>posts</category>
		<itunes:keywords></itunes:keywords>
		<itunes:subtitle></itunes:subtitle>
		<itunes:summary>Babbling my way across the Internet</itunes:summary>
		<itunes:author>offTheHill</itunes:author>
		<itunes:category text="Society &amp; Culture"/>
		<itunes:owner>
			<itunes:name>offTheHill</itunes:name>
			<itunes:email>josh@offthehill.org</itunes:email>
		</itunes:owner>
		<itunes:block>No</itunes:block>
		<itunes:explicit>no</itunes:explicit>
		<itunes:image href="http://www.offthehill.org/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<image>
			<url>http://www.offthehill.org/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
			<title>offTheHill</title>
			<link>http://www.offthehill.org</link>
			<width>144</width>
			<height>144</height>
		</image>
		<item>
		<title>Missing IMAP email on Snow Leopard</title>
		<link>http://www.offthehill.org/articles/2009/10/02/missing-imap-email-on-snow-leopard/</link>
		<comments>http://www.offthehill.org/articles/2009/10/02/missing-imap-email-on-snow-leopard/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 23:08:23 +0000</pubDate>
		<dc:creator>pardsbane</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[dreamhost]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[idle]]></category>
		<category><![CDATA[imap]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mail.app]]></category>
		<category><![CDATA[snow leopard]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://www.offthehill.org/articles/2009/10/02/missing-imap-email-on-snow-leopard/</guid>
		<description><![CDATA[	If you are finding mail sometimes not appearing in your Mail inbox after upgrading to Snow Leopard, but then it appears again once you restart Mail, try shutting off the &#8216;Use IDLE command&#8217; option in account settings. (Its at the bottom of the advanced tab).

	After upgrading to Snow Leopard on my Mac, I noticed this [...]]]></description>
			<content:encoded><![CDATA[	<p>If you are finding mail sometimes not appearing in your Mail inbox after upgrading to Snow Leopard, but then it appears again once you restart Mail, try shutting off the &#8216;Use <span class="caps">IDLE</span> command&#8217; option in account settings. (Its at the bottom of the advanced tab).</p>

	<p>After upgrading to Snow Leopard on my Mac, I noticed this was happening with email in my Dreamhost <span class="caps">IMAP</span> account.</p>

	<p>I&#8217;ve been running with the &#8216;IDLE&#8217; option turned off for a day, and it seems to be working correctly again.</p>]]></content:encoded>
			<wfw:commentRss>http://www.offthehill.org/articles/2009/10/02/missing-imap-email-on-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Sync Exchange and Google Calendar with a Mac</title>
		<link>http://www.offthehill.org/articles/2009/08/30/how-to-sync-exchange-and-google-calendar-with-a-mac/</link>
		<comments>http://www.offthehill.org/articles/2009/08/30/how-to-sync-exchange-and-google-calendar-with-a-mac/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 21:14:47 +0000</pubDate>
		<dc:creator>pardsbane</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[busymac]]></category>
		<category><![CDATA[BusySync]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google calendar]]></category>
		<category><![CDATA[iCal]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[snow leopard]]></category>
		<category><![CDATA[spanning sync]]></category>
		<category><![CDATA[t-mobile g1]]></category>

		<guid isPermaLink="false">http://www.offthehill.org/?p=159</guid>
		<description><![CDATA[	Since the latest Mac operating system Snow Leopard adds Exchange support to iCal, I thought maybe now I could reach the holy-grail: Syncing my work calendar, in Exchange, to Google Calendar.

	This would effectively let me see my business meetings on my Android-based cell phone.

	I had tried various tricks and tools before, but nothing ever quite [...]]]></description>
			<content:encoded><![CDATA[	<p>Since the latest Mac operating system Snow Leopard <a href="http://www.apple.com/macosx/exchange/" target="_blank">adds Exchange support</a> to iCal, I thought maybe now I could reach the holy-grail: Syncing my work calendar, in Exchange, to Google Calendar.</p>

	<p>This would effectively let me see my business meetings on my Android-based cell phone.</p>

	<p>I had tried various tricks and tools before, but nothing ever quite worked. But today I tried <a href="http://www.busymac.com/busysync/index.html">BusySync</a>, and it seems to work great.</p>

	<p>All you need to do is setup iCal to access your Exchange server, then in BusySync&#8217;s Google tab, check the off the calendar you want to upload in the &#8216;Publish to Google&#8217; list.</p>

	<p>There are two problems with this solution however:<br />
<ol>
	<li>Changes made to the calendar on Google aren&#8217;t synced back to iCal, and worse, they seem to be lost from Google.</li>
	<li>The calendar name shown in Google is pretty awkward, its currently &#8216;Calendar[&lt;user@exchangeserver&gt;]&#8217;.</li><br />
</ol><br />
I was hoping to try out <a href="http://spanningsync.com/" target="_blank">Spanning Sync</a> and see if it&#8217;s similar features would handle Exchange calendars as well, but unfortunately I have tried Spanning Sync in the past, and my trial has expired, so I can&#8217;t evaluate its behavior.</p>]]></content:encoded>
			<wfw:commentRss>http://www.offthehill.org/articles/2009/08/30/how-to-sync-exchange-and-google-calendar-with-a-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Repairing a Corrupt Aperture Library Myself</title>
		<link>http://www.offthehill.org/articles/2008/03/26/repairing-a-corrupt-aperture-library-myself/</link>
		<comments>http://www.offthehill.org/articles/2008/03/26/repairing-a-corrupt-aperture-library-myself/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 01:44:31 +0000</pubDate>
		<dc:creator>pardsbane</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[aperture]]></category>
		<category><![CDATA[apimportgroup]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[approject]]></category>
		<category><![CDATA[ilife]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[raw]]></category>
		<category><![CDATA[screen saver]]></category>
		<category><![CDATA[screensaver]]></category>

		<guid isPermaLink="false">http://www.offthehill.org/articles/2008/03/26/repairing-a-corrupt-aperture-library-myself/</guid>
		<description><![CDATA[	When I upgraded from a PowerBook to a new MacBook Pro, I used Windows File Sharing (also known as Samba or SMB sharing) to transfer all of my files from one computer to the other via a network, and it looks like that corrupted my Aperture Library.

	It look me a few days to realize the [...]]]></description>
			<content:encoded><![CDATA[	<p>When I upgraded from a PowerBook to a new MacBook Pro, I used Windows File Sharing (also known as Samba or <span class="caps">SMB</span> sharing) to transfer all of my files from one computer to the other via a network, and it looks like that corrupted my Aperture Library.</p>

	<p>It look me a few days to realize the problem, but here are a few symptoms I noticed:</p>

<ol>	
<li>Images that were in the library <span class="caps">BEFORE</span> the move were not visible in iLife applications (iPhoto, the screen saver, etc). The projects appeared in the listings, but the images themselves were not visible. For example, the screen saver would always say &#8220;The selected folder contains no pictures. Please choose a new folder that contains pictures or add images to the folder.&#8221;</li>
<li>Managed <span class="caps">RAW</span> images would not display correctly. I would click on them and the image would appear with a &#8216;loading&#8217; message, and then eventually I would see a solid red or maroon background with the text &#8220;Unsupported Image Format&#8221;.</li>
</ol>

	<p>Knowing that the Aperture Libary is just a special directory (called a bundle in Mac-speak), I started poking around inside, comparing a good project (one that I had imported on my new MacBook) to a bad project (one that has been around <span class="caps">BEFORE</span> the upgrade).</p>

	<p>It turns out that there were directories within the Aperture project directories whose names must have gotten corrupted when I copied the project over from my old computer.</p>

	<p>So I wrote a small program to repair the damage.Â If you have a similar problem, feel free to use this script to help recover your library.</p>

	<p><strong>Make sure you close Aperture and <span class="caps">BACK</span> UP your Aperture Library before you start!</strong></p>

	<p>Ok, now that you&#8217;ve backed up your library, download the <a href="http://www.offthehill.org/wp-content/uploads/2008/03/fixapproject.sh" title="fixApProject.sh">fixApProject.sh</a> script and save it to your home directory.</p>

	<p>Open up Terminal.app (Application-&gt;Utilities) and cd <strong>INTO</strong> your Aperture Library. </p>

	<p>If your library is in the default location, do it like this:<br />
<code>cd ~/Pictures/Aperture\ Library.aplibrary/</code></p>

	<p>Now, assuming you&#8217;ve put <code>fixApProjech.sh</code> in your home directory, run the following commands:</p>

	<p><code>chmod +x ~/fixApProject.sh</code></p>

	<p><code>find . -name &#34;*.approject&#34; -type d -exec ~/fixApProject.sh \{\} \;</code></p>]]></content:encoded>
			<wfw:commentRss>http://www.offthehill.org/articles/2008/03/26/repairing-a-corrupt-aperture-library-myself/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>How To use the Java mDNS Wrapper</title>
		<link>http://www.offthehill.org/articles/2008/01/10/how-to-use-the-java-mdns-wrapper/</link>
		<comments>http://www.offthehill.org/articles/2008/01/10/how-to-use-the-java-mdns-wrapper/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 22:21:25 +0000</pubDate>
		<dc:creator>pardsbane</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[bonjour]]></category>
		<category><![CDATA[dns service discovery]]></category>
		<category><![CDATA[dns-sd]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jmdns]]></category>
		<category><![CDATA[mdns]]></category>
		<category><![CDATA[mdnsresponder]]></category>
		<category><![CDATA[zeroconf]]></category>

		<guid isPermaLink="false">http://www.offthehill.org/articles/2008/01/10/how-to-use-the-java-mdns-wrapper/</guid>
		<description><![CDATA[	A few days ago I posted an article about my wrapper API which unifies the mDNSResponder and JmDNS packages behind a single interface, but I neglected to provide usage examples or a usage guide. I&#8217;ll try and correct that now.

	In addition to unifying multiple mDNS implementations under a single API, I think my API reduces [...]]]></description>
			<content:encoded><![CDATA[	<p>A few days ago I<a href="http://www.offthehill.org/articles/2008/01/08/a-jmdns-mdnsresponder-zeroconf-compatibility-interface/"> posted an article</a> about my wrapper <span class="caps">API</span> which unifies the mDNSResponder and JmDNS packages behind a single interface, but I neglected to provide usage examples or a usage guide. I&#8217;ll try and correct that now.</p>

	<p>In addition to unifying multiple mDNS implementations under a single <span class="caps">API</span>, I think my <span class="caps">API</span> reduces the amount of work needed by the developer for registering and listening for services to a minimum.</p>

	<p><strong>Building the code</strong><br />
First off, all you should need to  compile and run my package is <a href="http://maven.apache.org">Maven</a>. Once you have Maven installed, cd into the jmdns directory, and run:</p>

	<p><code>mvn test</code></p>

	<p>This will compile JmDNS, my add-on <span class="caps">API</span>, and run a few unit tests. The <span class="caps">API</span> in question is tested by <code>org.jmdns.api.DiscoveryFactoryTest</code>. I would expect the JmDNS portion of the test <code>testJmDNS()</code> to pass under almost any circumstance, but the <code>testmDNSResponder()</code> will only pass if you are running on Linux and have mDNSResponder (or possibly the avahi compatibility layer) installed successfully.</p>

	<p><strong>Example usage &#8211; Initialization</strong></p>

	<p>Before registering or listening for services, you need to initialize the discovery subsystem:</p>

	<p><code>DiscoveryFactory.initRegistry(
DiscoveryFactory.DISCOVERY_REGISTRY_DEFAULT);</code></p>

	<p>The above will use the default mDNS implementation (JmDNS). Alternatively you can use the following to use JmDNS explicitly:</p>

	<p><code>DiscoveryFactory.initRegistry(
DiscoveryFactory.DISCOVERY_REGISTRY_JMDNS);</code></p>

	<p>Or mDNSResponder instead:</p>

	<p><code>DiscoveryFactory.initRegistry(
DiscoveryFactory.DISCOVERY_REGISTRY_MDNSRESPONDER);</code></p>

	<p>Consider this an initialization a singleton, you should do this once and only once per <span class="caps">JVM</span> instance.</p>

	<p><strong>Example usage &#8211; Registering a Service</strong></p>

	<p>Assuming the system is initialized, the following code will register a service:</p>

	<p><code>HashMap&#60;string,&#62; props = new HashMap&#60;string,&#62;();
props.put(&#34;type&#34;, &#34;website&#34;);&#60;/string,&#62;&#60;/string,&#62;</code></p>

	<p><code>IDiscoveryRegistry registry = DiscoveryFactory.getRegistry();</code></p>

	<p><code>IServiceInfo myService = registry.registerService(&#34;_http._tcp&#34;, &#34;mySite&#34;, null, 80, props);
</code></p>

	<p>Note the &#8216;null&#8217; in the registerService() call is to use the default domain (.local). You can pass a domain name here to register in another domain.</p>

	<p>To unregister your service, just do:</p>

	<p><code>registry.unregisterService(myService);</code></p>

	<p><strong>Example usage &#8211; Listening for a Service</strong></p>

	<p>Create a listener:</p>

	<p><code>BaseDiscoveryListener listener = new BaseDiscoveryListener(&#34;_http._tcp&#34;, &#34;website&#34;, null);</code></p>

	<p>Wait 15 seconds for a service:</p>

	<p><code>listener.waitForFirstService(15000);</code></p>

	<p>Get the first service found:</p>

	<p><code>IServiceInfo service = listener.getFirstService();</code></p>

	<p>Print out some information on the service:</p>

	<p><code>System.out.println(&#34;service name: &#34; + service.getName() + &#34; at &#34; + service.getHostAddress() + &#34;, port: &#34; + service.getPort());</code></p>]]></content:encoded>
			<wfw:commentRss>http://www.offthehill.org/articles/2008/01/10/how-to-use-the-java-mdns-wrapper/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>A JmDNS / mDNSResponder Zeroconf Compatibility Interface</title>
		<link>http://www.offthehill.org/articles/2008/01/08/a-jmdns-mdnsresponder-zeroconf-compatibility-interface/</link>
		<comments>http://www.offthehill.org/articles/2008/01/08/a-jmdns-mdnsresponder-zeroconf-compatibility-interface/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 16:54:35 +0000</pubDate>
		<dc:creator>pardsbane</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[bonjour]]></category>
		<category><![CDATA[dns service discovery]]></category>
		<category><![CDATA[dns-sd]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jmdns]]></category>
		<category><![CDATA[mdns]]></category>
		<category><![CDATA[mdnsresponder]]></category>
		<category><![CDATA[zeroconf]]></category>

		<guid isPermaLink="false">http://www.offthehill.org/articles/2008/01/08/a-jmdns-mdnsresponder-zeroconf-compatibility-interface/</guid>
		<description><![CDATA[	My company has given me permission to release a Java Zeroconf API. The advantage of this API is that it allows the application to select which implementing library to use at runtime, and eases developer work implementing mDNS / DNS-SD. I also think my API is easier to understand than the raw interfaces of the [...]]]></description>
			<content:encoded><![CDATA[	<p>My company has given me permission to release a Java <a href="http://en.wikipedia.org/wiki/Zeroconf">Zeroconf</a> <span class="caps">API</span>. The advantage of this <span class="caps">API</span> is that it allows the application to select which implementing library to use at runtime, and eases developer work implementing mDNS / <span class="caps">DNS-SD</span>. I also think my <span class="caps">API</span> is easier to understand than the raw interfaces of the underlying implementations.</p>

	<p>Currently there are two implementing backends, one for <a href="http://jmdns.sourceforge.net/">JmDNS</a> and one for Apple&#8217;s <a href="http://developer.apple.com/networking/bonjour/">mDNSResponder</a>. I would really like to see one written for <a href="http://avahi.org/">Avahi</a>, but I probably won&#8217;t get to it myself.</p>

	<p>The <span class="caps">API</span> is in the <em>org.jmdns.api</em> package, which both implementations are in the <em>org.jmdns.impl</em> package. A unit test is also included which demonstrates usage and verifies operation.</p>

	<p>I&#8217;ve implemented this version within the JmDNS source tree, but ideally the <span class="caps">API</span>, JmDNS and mDNSResponder portions of the code would be broken out to be separately distributed, with the JmDNS and mDNSResponder portions functioning as plugins implementing the <span class="caps">API</span>.</p>

	<p>I&#8217;ve only tested this against mDNSResponder 107.5. I&#8217;m not sure if Apple&#8217;s dnssd.jar is compatible with newer mDNSResponder versions or not.</p>

	<p>You can download the full implementation here: <a href="http://www.offthehill.org/wp-content/uploads/2008/01/jmdns-kiva-113tar.bz2" title="jmdns-kiva-1.1.3.tar.bz2">jmdns-kiva-1.1.3.tar.bz2</a></p>

	<p>I hope the JmDNS project will pick this effort up and incorporate this into the official release!</p>]]></content:encoded>
			<wfw:commentRss>http://www.offthehill.org/articles/2008/01/08/a-jmdns-mdnsresponder-zeroconf-compatibility-interface/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OS X Slow Login and Terminal Startup</title>
		<link>http://www.offthehill.org/articles/2006/10/19/os-x-slow-login-and-terminal-startup/</link>
		<comments>http://www.offthehill.org/articles/2006/10/19/os-x-slow-login-and-terminal-startup/#comments</comments>
		<pubDate>Thu, 19 Oct 2006 08:14:11 +0000</pubDate>
		<dc:creator>pardsbane</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iterm]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">1832217994</guid>
		<description><![CDATA[ A while back my Mac starting taking really long to wake from sleep. I&#8217;d get a spinning beachball (SBOD) for 30 seconds before the login screen would appear, and it would take a while for my password to authenticate.

	I also noticed that when I started Terminal or iTerm, it took forever. First it took [...]]]></description>
			<content:encoded><![CDATA[ A while back my Mac starting taking really long to wake from sleep. I&#8217;d get a spinning beachball (<span class="caps">SBOD</span>) for 30 seconds before the login screen would appear, and it would take a while for my password to authenticate.

	<p>I also noticed that when I started Terminal or iTerm, it took forever. First it took forever for the window to even appear, and then when it did the &#8220;last login&#8221; line would appear, pause, and then about 30 seconds or more later, the prompt would finally appear and you could use the terminal normally.</p>

	<p>I searched the web all over for help on this and did a few maintenance things, but nothing helped. One person online found the solution to their problem by running &#8216;top&#8217; and watching the login process, but nothing out of the ordinary was happening on my machine.</p>

	<p>Then it dawned on me: The exact same thing happens on my Linux machines when the <span class="caps">LDAP</span> settings aren&#8217;t working correctly, because the <span class="caps">LDAP</span> timeout defaults to around 30 seconds.</p>

	<p>So I started Directory Access, and sure enough, there was an <span class="caps">LDAP</span> server listed under the Authentication tab. I had recently added the same server for the Contacts tab, but I didn&#8217;t expect or want to use it for authentication.</p>

	<p>Removing the <span class="caps">LDAP</span> server cleared up my slow logins and terminal starts, so make sure you check Directory Access if you are having a similar problem.</p>]]></content:encoded>
			<wfw:commentRss>http://www.offthehill.org/articles/2006/10/19/os-x-slow-login-and-terminal-startup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
