<?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>The Adventures of Systems Boy! &#187; Leopard</title>
	<atom:link href="http://systemsboy.com/category/leopard/feed" rel="self" type="application/rss+xml" />
	<link>http://systemsboy.com</link>
	<description>Big, Honkin' Systems Stuff</description>
	<lastBuildDate>Sun, 20 May 2012 16:20:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>A Time Machine Gotcha</title>
		<link>http://systemsboy.com/2009/10/a-time-machine-gotcha.html</link>
		<comments>http://systemsboy.com/2009/10/a-time-machine-gotcha.html#comments</comments>
		<pubDate>Thu, 29 Oct 2009 14:00:33 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[SnowLeopard]]></category>

		<guid isPermaLink="false">http://systemsboy.com/?p=2873</guid>
		<description><![CDATA[Though Time Machine uses hard links to reference files from any point in time without using additional space, changing anything about a file will, obviously, trigger a new copy of said changed file to be backed up to your Time Machine disk. What&#8217;s perhaps less obvious is that even simply changing the path to the [...]]]></description>
			<content:encoded><![CDATA[<p>Though Time Machine uses hard links to reference files from any point in time without using additional space, changing anything about a file will, obviously, trigger a new copy of said changed file to be backed up to your Time Machine disk. What&#8217;s perhaps less obvious is that even simply changing the path to the file will trigger a new copy to be made.</p>
<div id="attachment_2876" class="wp-caption aligncenter" style="width: 325px"><a href="http://systemsboy.com/wp-content/uploads/2009/10/time-machine-backingup.png"><img class="size-full wp-image-2876" title="time-machine-backingup" src="http://systemsboy.com/wp-content/uploads/2009/10/time-machine-backingup.png" alt="This WIll Take a While" width="315" height="142" /></a><p class="wp-caption-text">This Will Take a While</p></div>
<p>To wit: I have a very large folder — about 100GB — full of material that I intend to archive. That folder used to be called &#8220;BurnMe.&#8221; But I recently <a href="http://systemsboy.com/2009/09/archives.html">changed my archiving approach</a> such that the &#8220;BurnMe&#8221; moniker seemed inappropriate. So I renamed &#8220;BurnMe&#8221; to &#8220;ArchiveMe.&#8221; My hope was that Time Machine would see that, yes, the folder had changed, but that its contents pointed to already existing files on disk, and that those files hadn&#8217;t changed and could thus be referenced with a hard link.</p>
<p>Unfortunately, Time Machine isn&#8217;t that smart. What it actually did was erase some older backups to make room, and then it indeed recopied the entire 100GB folder with the new name. Apparently, changing even the name of a file&#8217;s enclosing folder counts as a change to the file and will trigger a new backup copy to be created.</p>
<div id="attachment_2878" class="wp-caption aligncenter" style="width: 540px"><a href="http://systemsboy.com/wp-content/uploads/2009/10/timemachine-delete-backup-cu.png"><img class="size-medium wp-image-2878" title="timemachine-delete-backup-cu" src="http://systemsboy.com/wp-content/uploads/2009/10/timemachine-delete-backup-cu-530x401.png" alt="Deleting a Backup" width="530" height="401" /></a><p class="wp-caption-text">Deleting a Backup</p></div>
<p>My solution to this problem, unfortunately, will be to manage my Time Machine data a bit. It is possible to delete previous Time Machine backups by entering into the interface and right-clicking the file or folder you want to delete, then choosing to &#8220;Delete All Backups&#8221; of the selected file or folder. From now on I will need to be mindful of name changes to large folders, and be sure and delete the previous backups before (or perhaps after, depending on available space) I do so.</p>
<p>In any case, this is not a huge problem, but it is a minor inconvenience in a process that is meant to be almost entirely hands-off.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2009/10/a-time-machine-gotcha.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A Lack of Focus</title>
		<link>http://systemsboy.com/2009/07/a-lack-of-focus.html</link>
		<comments>http://systemsboy.com/2009/07/a-lack-of-focus.html#comments</comments>
		<pubDate>Sun, 12 Jul 2009 20:15:21 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Interface]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[SnowLeopard]]></category>

		<guid isPermaLink="false">http://systemsboy.com/?p=2127</guid>
		<description><![CDATA[I&#8217;ve had an ongoing beef with Leopard since it&#8217;s inception. The problem is difficult to describe, but I&#8217;ve had a lot more experience with it since the last time I wrote about it, and I think I now have a better idea of what&#8217;s going on. So I wanted to revisit the issue as we&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had an <a href="http://systemsboy.com/2008/10/leopard-bugaboos.html">ongoing beef</a> with Leopard since it&#8217;s inception. The problem is difficult to describe, but I&#8217;ve had a lot more experience with it since the last time I wrote about it, and I think I now have a better idea of what&#8217;s going on. So I wanted to revisit the issue as we&#8217;re near the eve of the release of Snow Leopard, and as I feel better equipped to talk about it. Also because it drives me fairly batty.</p>
<p>The problem can best be described like this: An action taken by an application that is in the background can, under certain conditions, cause that application&#8217;s window(s) to come to the foreground, covering the application that is currently active. Perhaps an example is in order:</p>
<ol>
<li>I launch Safari.</li>
<li>Before Safari loads completely, I immediately command-tab to the Finder which has a window open.</li>
<li>When Safari finishes loading, the Safari window covers the Finder window.</li>
</ol>
<div id="attachment_2219" class="wp-caption aligncenter" style="width: 540px"><a href="http://systemsboy.com/wp-content/uploads/2009/07/lack-of-focus-finder.png"><img class="size-medium wp-image-2219" title="lack-of-focus-finder" src="http://systemsboy.com/wp-content/uploads/2009/07/lack-of-focus-finder-530x378.png" alt="Finder Obscured: This Shouldn't Be Possible" width="530" height="378" /></a><p class="wp-caption-text">Finder Obscured but Active: This Shouldn&#39;t Be Possible</p></div>
<p>To rectify this rather odd state of affairs, a quick command-tab to Safari and then back to the Finder does the trick. Not a huge deal most of the time, sure. But let me cite some examples where it becomes a slightly bigger deal. Here&#8217;s a similar scenario, but now I&#8217;m working in TextEdit:</p>
<ol>
<li>I&#8217;m typing in TextEdit.</li>
<li>I launch Safari.</li>
<li>Before it completely loads, I command-tab back to TextEdit and continue typing.</li>
<li>Suddenly, Safari finishes loading and obscures my TextEdit document window; I can no longer see what I&#8217;m typing.</li>
<li>To continue working in TextEdit I must command-tab twice as per the previous example.</li>
<li>Moreover, by all appearances but the menubar, Safari is now the active application, which can trick me into thinking I can start typing in Safari. But when I do this I type something — the wrong thing — into my TextEdit document.</li>
<li>And what if I type something like command-a (Select All) and then delete? Now I&#8217;ve just deleted the contents of my TextEdit file — a file I can&#8217;t even see.</li>
</ol>
<div id="attachment_2223" class="wp-caption aligncenter" style="width: 540px"><a href="http://systemsboy.com/wp-content/uploads/2009/07/lack-of-focus-textedit.png"><img class="size-medium wp-image-2223" title="lack-of-focus-textedit" src="http://systemsboy.com/wp-content/uploads/2009/07/lack-of-focus-textedit-530x378.png" alt="TextEdit Obscured but Active: Where Am I Typing?" width="530" height="378" /></a><p class="wp-caption-text">TextEdit Obscured but Active: Where Am I Typing?</p></div>
<p>That&#8217;s a potentially destructive scenario I&#8217;ve just described, and I&#8217;d pretty much swear that something like that has happened to me in the past, though I admit I did not document it and the circumstances were probably somewhat different.</p>
<p>Beyond the slightly irksome and the potentially destructive, here&#8217;s one more exceptionally annoying scenario that I encounter on a daily basis:</p>
<ol>
<li>I log in to my Mac.</li>
<li>Login items begin to launch.</li>
<li>I open a Finder window and begin to manage files.</li>
<li>As login applications finish loading completely, they steal focus from the Finder.</li>
<li>This makes me unable to work on my Mac until all login items have finished loading completely.</li>
</ol>
<p>I originally thought this was only happening on my slower hardware, but it happens on every computer I use: My old Powerbook, my work G5 and my 8-core Intel home workstation.</p>
<p>As I&#8217;ve said in the past, this is something I would describe as a bug. Background applications should never obscure active applications unless explicitly requested to do so (like when you bring forward a window from another application, which both activates that application but also leaves all windows but the requested one in the distant background). This is my major complaint with Leopard with which I am otherwise very happy. But it&#8217;s a big complaint. It&#8217;s a problem that affects me every day, and all day long. It&#8217;s a huge usability gaffe in my book, and I&#8217;m amazed Apple hasn&#8217;t addressed it already.</p>
<p>For a quality-obsessed company like Apple and an incredibly usable OS like Mac OS X, this lack of focus seems like a huge oversight. And for Apple&#8217;s detail-obsessed fans this seems like something that would bother a lot of people. But I&#8217;ve only found one lone short <a href="http://discussions.apple.com/thread.jspa?messageID=9328518" target="_blank">thread on the matter</a> in Apple&#8217;s discussion forums, and one other thread on a <a href="http://discussions.apple.com/thread.jspa?messageID=9103503" target="_blank">very similar</a> (possibly the same) problem. But no answers.</p>
<p>The good news is that <a href="http://www.apple.com/macosx" target="_blank">Snow Leopard</a> is right <a href="http://www.apple.com/macosx/notify-me.html" target="_blank">around the corner</a>, and Snow Leopard is all about making improvements to the existing system. Snow Leopard is a <a href="http://www.apple.com/macosx/refinements/" target="_blank">refinement release</a>. It&#8217;s all about the details. So I sincerely hope — and if anyone out there can speak to this, please do get in touch — that Leopard&#8217;s lack of focus is addressed. That would be most excellent.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2009/07/a-lack-of-focus.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Portable Home Directories Part 3: Keychain Oddities</title>
		<link>http://systemsboy.com/2009/06/portable-home-directories-part-3-keychain-oddities.html</link>
		<comments>http://systemsboy.com/2009/06/portable-home-directories-part-3-keychain-oddities.html#comments</comments>
		<pubDate>Thu, 18 Jun 2009 14:00:08 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[PortableHomeDirectories]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://systemsboy.com/?p=1850</guid>
		<description><![CDATA[Hey, here&#8217;s a weird one: I finally got my home account back to working order after my experiment with PHDs only to find that iCal couldn&#8217;t open any of my online calendars. It kept saying the password was missing from Keychain, then refusing to let me add one, saying that the &#8220;Keychain could not be [...]]]></description>
			<content:encoded><![CDATA[<p>Hey, here&#8217;s a weird one: I finally got my home account back to working order after my experiment with PHDs only to find that iCal couldn&#8217;t open any of my online calendars. It kept saying the password was missing from Keychain, then refusing to let me add one, saying that the &#8220;Keychain could not be found.&#8221;</p>
<div id="attachment_1869" class="wp-caption aligncenter" style="width: 517px"><a href="http://systemsboy.com/wp-content/uploads/2009/06/not-found-mod.png"><img class="size-full wp-image-1869" title="not-found-mod" src="http://systemsboy.com/wp-content/uploads/2009/06/not-found-mod.png" alt="Keychain Not Found" width="507" height="279" /></a><p class="wp-caption-text">Keychain Not Found</p></div>
<p>The Keychain application also refused to read my keychains. The keychains were there, as they always had been, in ~/Library/Keychains. Keychain.app just refused to see them. Refused to add them — or anything else for that matter — as well. Keychain First Aid reported everything as fine, but the damn things just wouldn&#8217;t show up.</p>
<p>Suspecting some sort of weird, post-PHD permissions snafu, I copied the Keychain application to my Desktop and then launched it. This seemed to remedy the problem; the keychains became visible in Keychain.app. But upon re-launching iCal, my keychains became inaccessible again.</p>
<p>Mucking around in Keychain.app, everything looked fine. But I wanted to make sure that my &#8220;login&#8221; keychain was set to be the default. So I selected another keychain I have, right-clicked it and chose &#8220;Make keychain &#8216;systemsboy&#8217; Default,&#8221; then did the same to the login keychain, thus resetting it as the default keychain.</p>
<div id="attachment_1870" class="wp-caption aligncenter" style="width: 404px"><a href="http://systemsboy.com/wp-content/uploads/2009/06/make-default.png"><img class="size-full wp-image-1870" title="make-default" src="http://systemsboy.com/wp-content/uploads/2009/06/make-default.png" alt="Remaking the Default" width="394" height="201" /></a><p class="wp-caption-text">Remaking the Default</p></div>
<p>After doing this I launched iCal and the password complaints were gone; the calendars all loaded properly. Launching Keychain again, however, seemed to break everything. Again! WTF? No matter what I did, Keychain would eventually lose track of my keychains, and this would cause any application that relied on them to screw up. But I did eventually figure it out.</p>
<p>The solution? Well, it&#8217;s so simple and so idiotic it&#8217;s hardly worth a post. But here you go: I rebooted.</p>
<p>That&#8217;s right. A simple reboot and all my troubles were gone.</p>
<p>Remember, kids: reboot, reboot, reboot!</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2009/06/portable-home-directories-part-3-keychain-oddities.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Portable Home Directories Part 2: Oh God, Make it Stop</title>
		<link>http://systemsboy.com/2009/06/portable-home-directories-part-2-oh-god-make-it-stop.html</link>
		<comments>http://systemsboy.com/2009/06/portable-home-directories-part-2-oh-god-make-it-stop.html#comments</comments>
		<pubDate>Thu, 04 Jun 2009 14:00:41 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[PortableHomeDirectories]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://systemsboy.com/?p=1823</guid>
		<description><![CDATA[Last week I began testing the Apple Portable Home Directories feature. I&#8217;d heard a lot of good buzz, but my experience was pretty terrible. Of course I was doing things my own way, and not the Apple way, which is always a bit dicey. Almost Proper Wanting to get PHDs working, I decided to try [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I began <a href="http://systemsboy.com/2009/05/portable-homes-part-1-miserable-failures.html">testing the Apple Portable Home Directories</a> feature. I&#8217;d heard a lot of good buzz, but my experience was pretty terrible. Of course I was doing things my own way, and not the Apple way, which is always a bit dicey.</p>
<p><strong>Almost Proper</strong><br />
Wanting to get PHDs working, I decided to try doing things a bit more by the book. I set up our NFS Home Account Server as an <a href="http://docs.info.apple.com/article.html?path=ServerAdmin/10.5/en/c2fs10.html" target="_blank">NFS Reshare</a> and shared it out over AFP. I also set my home accounts up properly in WGM, using the AFP share as my network home, and a local folder as my local one.</p>
<p>But PHD kept incorrectly syncing things, to the point where I&#8217;ve actually now lost some data. Seems PHD, when it syncs, is for some reason using the data on the <em>network</em> drive as the master data set. Files I&#8217;ve modified before leaving for work have been reverted back to their old versions — the ones on the network — over night. (Which is weird considering the fact that I was logged out.)</p>
<p>I&#8217;m sure this works in a perfectly <a href="http://www.makemacwork.com/portable-home-directories-1.htm" target="_blank">standard environment</a>, with no existing users and no NFS Reshares, when set up from scratch. But I have to say, I could not be more frustrated with PHDs. So I&#8217;m giving up for now and setting my home account back to the local drive. Of course, even reverting back to a non-managed, non-PHD, local account is difficult in this case.</p>
<p><strong>Cache Insanity</strong><br />
The reason for this — and one of the things that&#8217;s made testing PHDs so difficult in general — is the insane level of caching the server does with regards to PHDs. Caching is so aggressive that, even after disabling PHDs on the server and restarting the client machine, the SyncAgent on the client continues to attempt to sync my homes. If I try to stop it I get an error that says I can&#8217;t stop it because I don&#8217;t have a PHD. I&#8217;m a big fan of irony, but not in my server software, thank you very much.</p>
<div id="attachment_1824" class="wp-caption aligncenter" style="width: 512px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/must-have-mobile-account.png"><img class="size-full wp-image-1824" title="must-have-mobile-account" src="http://systemsboy.com/wp-content/uploads/2009/05/must-have-mobile-account.png" alt="No Mobile Account" width="502" height="274" /></a><p class="wp-caption-text">No Mobile Account</p></div>
<p>So now the PHD service is incorrectly syncing my local home account with a network home it shouldn&#8217;t even see. Thousands of conflicts are occurring. I&#8217;m losing data. Though I&#8217;ve disabled the service, the settings persist. This is terrible. Horrible. Godawful.</p>
<div id="attachment_1797" class="wp-caption aligncenter" style="width: 540px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/phd-conflict-resolution.png"><img class="size-medium wp-image-1797" title="phd-conflict-resolution" src="http://systemsboy.com/wp-content/uploads/2009/05/phd-conflict-resolution-530x426.png" alt="PHD Conflict Resolution" width="530" height="426" /></a><p class="wp-caption-text">PHD Conflict Resolution: Why?</p></div>
<p>And there is no sanctioned, GUI way to stop this from happening.</p>
<p><strong>Freedom!</strong><br />
Eventually I was able to stop the errant syncing by running the ever-trusty:<br />
<code>sudo dscacheutil -flushcache</code></p>
<p>Jesus! What a kludge!</p>
<p>You can imagine how difficult this has made my testing. I can&#8217;t be sure that any change I&#8217;ve made on the server is actually happening on the client, so it&#8217;s impossible to know where this is failing or what I might be doing wrong without starting from scratch every time I make a configuration change. And starting from scratch is pretty damned difficult as well, as the PHD settings are persistent to a fault.</p>
<p><strong>Is That All There Is?</strong><br />
I&#8217;m not sure what to do with PHDs at this point. I don&#8217;t think they&#8217;re useful for our environment, or for any existing users. Testing them is downright painful. And data loss is a real possibility, and not a risk I&#8217;m willing to take with other users&#8217; data.</p>
<p>So, after a couple weeks of some very frustrating testing, I&#8217;m afraid I&#8217;ll have to pass on PHDs. It&#8217;s a nice idea, but not ready for prime time from where I sit.</p>
<p>There&#8217;s a slight chance I&#8217;ll try PHDs from scratch with a fresh home account, just to see if it works at all. But we&#8217;ll see. I&#8217;m pretty annoyed at this point.</p>
<p>More annoyed than I ever was with Windows Roaming Profiles. And that&#8217;s a feat.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2009/06/portable-home-directories-part-2-oh-god-make-it-stop.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Portable Home Directories Part 1: What a Mess!</title>
		<link>http://systemsboy.com/2009/05/portable-homes-part-1-miserable-failures.html</link>
		<comments>http://systemsboy.com/2009/05/portable-homes-part-1-miserable-failures.html#comments</comments>
		<pubDate>Sun, 31 May 2009 17:00:08 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[PortableHomeDirectories]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://systemsboy.com/?p=1720</guid>
		<description><![CDATA[Now that I&#8217;ve tried it myself, I&#8217;ve very much enjoyed the advantages that having a network home account has offered. I&#8217;ve also rather disliked some of the disadvantages. Ultimately, the biggest drawback has been that when our production crew is doing a lot of rendering, my home account slows to a crawl and I can&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>Now that I&#8217;ve tried it myself, I&#8217;ve very much enjoyed the advantages that having a <a href="http://systemsboy.com/2008/12/taking-my-own-medicine.html">network home account</a> has offered. I&#8217;ve also rather disliked some of the disadvantages. Ultimately, the biggest drawback has been that when our production crew is doing a lot of rendering, my home account slows to a crawl and I can&#8217;t get work done. Okay, I can, but not without a lot of swearing, and the fellas in the other cubicles just ain&#8217;t digging that, believe me.</p>
<p>After some water-cooler-side conversation, and some <a href="http://systemsboy.com/2008/12/taking-my-own-medicine.html#comments">excellent comments</a> by my excellent readers, I&#8217;ve decided I might be just be a perfect candidate for something that may offer the best of both worlds.</p>
<div id="attachment_1758" class="wp-caption aligncenter" style="width: 522px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/sync.png"><img class="size-full wp-image-1758" title="sync" src="http://systemsboy.com/wp-content/uploads/2009/05/sync.png" alt="Portable Home Accounts" width="512" height="512" /></a><p class="wp-caption-text">Portable Home Directories</p></div>
<p>Portable Home Directories (PHDs), as they&#8217;re called by Apple, essentially allow a user to keep and work from a local copy of his network home account. The local account is synced up with the network account using various strategies, which I&#8217;ll talk about in a bit. It&#8217;s essentially an intelligent implementation of Windows&#8217; crappy Roaming Profiles. The big difference is those strategies I mentioned.</p>
<p>Windows&#8217; Roaming Profiles are problematic, particularly in production environments where users store a lot of data, because Windows simply hard syncs those profiles at login and logout. This means that if you&#8217;ve generated a lot of data in any given session, you&#8217;re in for a long wait when you log out — and another long wait if you log into another machine — while Windows syncs your local and network profiles. It&#8217;s a nice idea — giving you the centrality of a network account and the responsiveness of a local one — but it fails in practice because it is, essentially, dumb, causing the sync process to ruin the experience.</p>
<p>The experience we&#8217;re going for here is, of course, seamlessness. Or as close to it as possible. So: I want to be able to log in to my workstation and have the responsiveness and normalcy of a local account, but I then want to be able to log in to another workstation and have my documents follow me throughout a given facility. Moreover, I want the synchronization of said documents to be as invisible as possible to the user. It should &#8220;just work.&#8221; With as little waiting and confusion as possible.</p>
<p>This is, of course, <a href="http://systemsboy.com/2008/10/syncing-makes-me-cranky.html">easier said than done</a>.</p>
<p>Apple takes a noble stab at this with its Portable Home Directory settings. See, where Microsoft simply syncs account data at login and logout, Apple affords some granularity in what gets synced and at what times. Apple gives you precise control over what gets synced, as well as allowing for not just login and logout syncing, but periodic syncing as well. Smart! And it could make all the difference.</p>
<p>But I&#8217;m getting ahead of myself again. Let&#8217;s actually step through the process of creating a Portable Home Account. I&#8217;ll show where it shines and where it falls apart for me.</p>
<p><strong>Activate Mobility Preferences</strong></p>
<ul>
<li>This all starts in Workgroup Manager. So fire that up and navigate to the user you want on Portable Homes.</li>
<li>Make sure that user&#8217;s current home account is a Network Home Account (i.e., it lives on a server somewhere).</li>
<li>Click the &#8220;Preferences&#8221; button from the toolbar, and then open the &#8220;Mobility&#8221; pane. This is where all the action happens.
<p><div id="attachment_1755" class="wp-caption aligncenter" style="width: 487px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/wgm-mobility-prefs.png"><img class="size-medium wp-image-1755 " title="wgm-mobility-prefs" src="http://systemsboy.com/wp-content/uploads/2009/05/wgm-mobility-prefs-530x436.png" alt="Mobility Preferences" width="477" height="392" /></a><p class="wp-caption-text">Mobility Preferences</p></div></li>
</ul>
<p><strong>Set Account Creation Options</strong></p>
<ul>
<li>The first thing to set up is how and when the local portable account is created. Click on the Account Creation tab and set Manage: to Always.</li>
<li>Since I already have a network home account that I&#8217;ve been using from an NFS share (on a non-Apple server), I set my user to &#8220;Create mobile account when user logs in&#8221; using the &#8220;default sync settings.&#8221; I assumed this would copy everything over from the network account to the local drive and start the ball rolling fresh, but that&#8217;s not what happened. More on that in a bit.
<p><div id="attachment_1761" class="wp-caption aligncenter" style="width: 487px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/wgm-acct-create-creation.png"><img class="size-medium wp-image-1761 " title="wgm-acct-create-creation" src="http://systemsboy.com/wp-content/uploads/2009/05/wgm-acct-create-creation-530x436.png" alt="Account Creation" width="477" height="392" /></a><p class="wp-caption-text">Account Creation</p></div></li>
<li>Under Account Creation&#8217;s Options tab I set a custom path that pointed to a folder that contained a local version of my home account that I&#8217;d rsynced previously. Again, I did this thinking it would speed the initial sync process, but that turned out to not be the case.
<p><div id="attachment_1762" class="wp-caption aligncenter" style="width: 487px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/wgm-acct-create-options.png"><img class="size-medium wp-image-1762 " title="wgm-acct-create-options" src="http://systemsboy.com/wp-content/uploads/2009/05/wgm-acct-create-options-530x436.png" alt="Account Creation Options" width="477" height="392" /></a><p class="wp-caption-text">Account Creation Options</p></div></li>
</ul>
<p><strong>Set Sync Rules</strong></p>
<ul>
<li>Finally it&#8217;s time to define how the syncing between local and network homes will behave. This is the real genius behind the Portable Home Directory system, and what distinguishes it from Roaming Profiles.</li>
<li>First under the Rules tab you have &#8220;Login &amp; Logout Sync.&#8221; This allows you to set specific items to sync only at login and logout. The suggested defaults for this are mainly your account settings, i.e. your entire ~/Library folder. This is quite sane, and I stuck with this setting.
<p><div id="attachment_1763" class="wp-caption aligncenter" style="width: 487px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/wgm-rules-loginout.png"><img class="size-medium wp-image-1763 " title="wgm-rules-loginout" src="http://systemsboy.com/wp-content/uploads/2009/05/wgm-rules-loginout-530x436.png" alt="Login &amp; Logout Rules" width="477" height="392" /></a><p class="wp-caption-text">Login &amp; Logout Rules</p></div></li>
<li>Note the &#8220;Merge with user&#8217;s settings&#8221; checkbox. I initially checked this, but later found it problematic. It was useful on my first sync, but it doesn&#8217;t appear to track deletions and such, so I ended up disabling it.</li>
<li>Also of note is the &#8220;Skip items&#8221; section. This allows for what rsync users would call exclusions. This also greatly speeds syncing as you can exclude unneeded items such as cache and trash. I stuck with the sane defaults here as well.</li>
<li>Next up are your Background Sync settings. Again, very sane defaults are provided: We back up your entire home account, periodically, in the background. Skip the usual suspects and don&#8217;t merge.
<p><div id="attachment_1764" class="wp-caption aligncenter" style="width: 487px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/wgm-rules-bkgnd.png"><img class="size-medium wp-image-1764 " title="wgm-rules-bkgnd" src="http://systemsboy.com/wp-content/uploads/2009/05/wgm-rules-bkgnd-530x436.png" alt="Background Sync Rules" width="477" height="392" /></a><p class="wp-caption-text">Background Sync Rules</p></div></li>
<li>Finally, under Options, we can set the frequency with which the server will run the background sync.
<p><div id="attachment_1765" class="wp-caption aligncenter" style="width: 487px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/wgm-rules-options.png"><img class="size-medium wp-image-1765 " title="wgm-rules-options" src="http://systemsboy.com/wp-content/uploads/2009/05/wgm-rules-options-530x436.png" alt="Background Frequency" width="477" height="392" /></a><p class="wp-caption-text">Background Frequency</p></div></li>
<li>I also set the option to &#8220;Show status in menu bar.&#8221; This, as you&#8217;ll see, becomes quite useful for the way I ultimately ended up using this feature.</li>
</ul>
<p><strong>Some Disclaimers</strong><br />
Portable Home Directories are actually not specifically intended for the sort of use-case we&#8217;re applying them to here. PHDs are actually designed for users with laptops that come and go onto a network that is also populated with stationary workstations. It&#8217;s really made to be used in conjunction with network home accounts, allowing laptop users to use network home accounts without being completely tethered to the network.</p>
<p>So to be clear, this is an experiment. I&#8217;m doing things a bit outside the norm. (I mean, what fun would it be if I weren&#8217;t.) And any problems I had were likely because of this fact. Still, it&#8217;s hinted at in the documentation that PHDs can be used for users of non-portable machines to some advantage, so I wanted to see how we could apply them to our (okay, <em>my</em>) particular situation.</p>
<p>I started off a bit outside the realm of the typical first time setup. I had two things at the outset that essentially represented a test of how we might migrate to a PHD-style system: I had a network home account already populated with data, and I had a copy of that data on a local hard drive. This represents our typical user. But I was also hoping that I&#8217;d be able to use these to get the Portable Homes process underway more speedily. This was not the case at all.</p>
<p><strong>Initial Experiences<br />
</strong>The first thing that happened when I logged into my newly Portable Homes-activated account was that I was greeted with a prompt asking me if I wanted to create a portable home.</p>
<div id="attachment_1770" class="wp-caption aligncenter" style="width: 526px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/prompt.png"><img class="size-full wp-image-1770" title="prompt" src="http://systemsboy.com/wp-content/uploads/2009/05/prompt.png" alt="Initial Prompt" width="516" height="296" /></a><p class="wp-caption-text">Initial Prompt</p></div>
<p>I chose to do so (&#8220;Yes&#8221;), since that was pretty much what I was here to do. And upon login I was greeted, not with my previously set up network home account nor my rsynced local account, but rather with the standard boilerplate skel account you see when creating a new user. Worse, the server seemed to get confused as to where my home account should be placed on the local drive. Though I had defined it on my server as a custom path, it seemed to want to go in a folder called &#8220;User&#8221; on the specified drive, no matter what I entered for the custom path. Apparently, for me anyway, the custom path — and my hopes of speeding the sync process — just plain old didn&#8217;t work.</p>
<div id="attachment_1816" class="wp-caption aligncenter" style="width: 540px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/default-login.png"><img class="size-medium wp-image-1816" title="default-login" src="http://systemsboy.com/wp-content/uploads/2009/05/default-login-530x331.png" alt="Default Login Environment" width="530" height="331" /></a><p class="wp-caption-text">Default Login Environment: Not What I was Hoping For</p></div>
<p>After this I decided to try again. I moved my custom folder off the local drive and, in Mobility Preferences, simply defined the drive I wanted to use for my Portable Home. I also chose to &#8220;Merge with user&#8217;s settings&#8221; for this go &#8217;round under the Rules section of the Mobility prefs. The thought was that this should pull down my network home account and create a local version from it. And this is exactly what happened. And for a time life was good and I thought I was done. I thought I&#8217;d found my magic settings. But the next day I logged in to find that once again my account had reverted back to the default, first-login settings. Yikes!</p>
<div id="attachment_1773" class="wp-caption aligncenter" style="width: 540px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/picture-7.png"><img class="size-medium wp-image-1773" title="picture-7" src="http://systemsboy.com/wp-content/uploads/2009/05/picture-7-530x272.png" alt="Portable Homes Weirdness" width="530" height="272" /></a><p class="wp-caption-text">Portable Homes Weirdness</p></div>
<p>(Here I&#8217;d just like to point out the benefits of having a backup of your entire home account if you&#8217;re going to play around with this. Or just use a spare, dummy account. I actually did lose data numerous times during my testing, as you&#8217;ll see in Part 2.)</p>
<p>After poking around a bit I discovered that my machine had logged me into my network home. Or at least that&#8217;s where the Finder went when I hit Command-Shift-H. But my home account settings were the defaults, not my network home account settings. WTF? Logging out and logging back in I found myself in what I considered to be the right local location, and all my custom settings had returned. But this was clearly getting weird and flaky. And no matter how I configured things, the weirdness persisted. The biggest problem, though, was the fact that my local and network home accounts never synced in the background. And that was sort of the most important part.</p>
<p><strong>Manual Sync</strong><br />
For a time I used Portable Home Directories the only way I could get it to work for me. Remember that tickbox to &#8220;Show status in menu bar?&#8221; Well, it turns out that you can use this menubar widget to manually sync your local and network home accounts. And manual syncing actually worked okay for me. In fact, it was the only way I could get my network and local data in sync.</p>
<div id="attachment_1774" class="wp-caption aligncenter" style="width: 129px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/menubar-icon.png"><img class="size-full wp-image-1774" title="menubar-icon" src="http://systemsboy.com/wp-content/uploads/2009/05/menubar-icon.png" alt="Menubar Icon" width="119" height="87" /></a><p class="wp-caption-text">Menubar Icon</p></div>
<p>During this time I pretty much using the default Mobility settings, but my account was on my Work drive. Portable Homes had placed it at:<br />
/Volumes/Work/systemsboy.xahomes<br />
for some strange reason, but I could live with that. Every so often — particularly if I thought I might be going to another machine and logging in as myself — I&#8217;d hit &#8220;Sync Home Now&#8221; in the Menubar pulldown.</p>
<div id="attachment_1775" class="wp-caption aligncenter" style="width: 428px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/mobile-sync-menubar.png"><img class="size-full wp-image-1775" title="mobile-sync-menubar" src="http://systemsboy.com/wp-content/uploads/2009/05/mobile-sync-menubar.png" alt="Sync Now" width="418" height="125" /></a><p class="wp-caption-text">Sync Home Now</p></div>
<p>This would begin the Home Sync process. The process is far from immediate, but it&#8217;s not too slow. It takes a few minutes. Once it&#8217;s done I can verify that my network and local homes are synced up.</p>
<div id="attachment_1776" class="wp-caption aligncenter" style="width: 512px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/picture-1.png"><img class="size-full wp-image-1776" title="picture-1" src="http://systemsboy.com/wp-content/uploads/2009/05/picture-1.png" alt="Home Sync Status" width="502" height="195" /></a><p class="wp-caption-text">Home Sync Status</p></div>
<p>Conflicts that the service couldn&#8217;t resolve were handled similarly to iPhone-to-AddressBook conflicts, though, with the usual PHD flakiness: often conflicts occurred where they shouldn&#8217;t have.</p>
<div id="attachment_1797" class="wp-caption aligncenter" style="width: 540px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/phd-conflict-resolution.png"><img class="size-medium wp-image-1797" title="phd-conflict-resolution" src="http://systemsboy.com/wp-content/uploads/2009/05/phd-conflict-resolution-530x426.png" alt="PHD Conflict Resolution" width="530" height="426" /></a><p class="wp-caption-text">PHD Conflict Resolution</p></div>
<p>But the biggest problem with Manual Sync was that logging in to another computer failed. A popup alert appeared telling me I was unable to log in at this time because &#8220;an error occurred.&#8221; Great.</p>
<p>I was really hoping for this to be seamless, of course. But it just may not be possible with this particular setup. The best I can get out of Portable Homes so far is not much better than a glorified rsync script with a pretty GUI for running it and some semblance of conflict resolution. And it completely breaks my ability to log into other computers.</p>
<p><strong>Conclusion (For Now)</strong><br />
In the end I decided that my troubles were likely due to the fact that I was not working in the typical Mac OS X idiom. It&#8217;s my guess that Portable Homes failed for me in this instance mainly because my network home account is on a completely different, non-Apple server, one that my Mac Server is not set up to share as a network home location. I would venture that if you set Portable Homes up just like it says in the manual, using Apple kit and AFP and the like (possibly AFP reshares would work), Portable Homes works like a charm. But if you don&#8217;t you&#8217;ll get some strangeness like I did. Ah, the joys of the bleeding edge!</p>
<p>On my first shot at Portable Homes I experienced a number of surprises and inconsistencies. While Portable Homes is a great idea, and in theory looks to be perfect for someone like me, there are major pitfalls in a complex, multi-platform environment that prevent it from being usable for much of anything. But Portable Homes has potential and I plan to delve more into how to get it working for us in our complex environment. In our next installment I&#8217;ll be trying a setup more closely aligned with the Apple-sanctioned method for implementing PHDs. We&#8217;ll see how it goes.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2009/05/portable-homes-part-1-miserable-failures.html/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Software Update Server</title>
		<link>http://systemsboy.com/2009/05/software-update-server.html</link>
		<comments>http://systemsboy.com/2009/05/software-update-server.html#comments</comments>
		<pubDate>Sun, 24 May 2009 15:00:14 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Leopard]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://systemsboy.com/?p=1733</guid>
		<description><![CDATA[I can&#8217;t believe I never wrote this up, but I&#8217;ve been using the Software Update Server included with Mac OS X Leopard Server since I upgraded the servers at my old job. If your network — or Apple&#8217;s servers — are ever slow to get updates, having your own centralized SU Server can make a world [...]]]></description>
			<content:encoded><![CDATA[<p>I can&#8217;t believe I never wrote this up, but I&#8217;ve been using the Software Update Server included with Mac OS X Leopard Server since I upgraded the servers at <a href="http://systemsboy.com/2008/06/whats-going-on.html">my old job</a>. If your network — or Apple&#8217;s servers — are ever slow to get updates, having your own centralized SU Server can make a world of difference. But it&#8217;s most useful when you have a bunch of Macs you need to update all at once. Try doing ten or so over the Internet at the same time. You&#8217;ll get errors and failures, and you&#8217;ll kill your network pretty quickly as all those updates come in at once. But updating a lab full of Macs from your own dedicated Software Update Server will not only <em>not</em> fail, it&#8217;ll actually be quite fast since your using only internal bandwidth, of which you should have plenty.  Setting one of these up is pretty easy, but there are a couple gotchas I always have to remember. So here we go.</p>
<ol>
<li>Activate the service in Server Admin.
<p><div id="attachment_1735" class="wp-caption aligncenter" style="width: 486px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/sa-suserver-services.png"><img class="size-full wp-image-1735 " title="sa-suserver-services" src="http://systemsboy.com/wp-content/uploads/2009/05/sa-suserver-services.png" alt="Activate Software Update Service" width="476" height="392" /></a><p class="wp-caption-text">Activate Software Update Service</p></div></li>
<li>Configure the service. I like to configure the SU Server to &#8220;Automatically copy all new updates from Apple.&#8221; This is the easiest, and I like things easy. But otherwise I use the default settings.
<p><div id="attachment_1737" class="wp-caption aligncenter" style="width: 487px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/sa-suserver-general.png"><img class="size-medium wp-image-1737 " title="sa-suserver-general" src="http://systemsboy.com/wp-content/uploads/2009/05/sa-suserver-general-530x437.png" alt="Configure Service Options" width="477" height="393" /></a><p class="wp-caption-text">Configure General Options</p></div></li>
<li>Start the service and list the updates. And here&#8217;s one of the gotchas: when you first start the service there is no indication that anything is happening. There is no progress bar and nothing will appear in the list of updates. But in fact the SU Server is downloading all the updates (several Gigs) in the background. The easiest way to prove that this is actually happening is to run the df command, then run it again. You should see your root drive getting gradually fuller as the server downloads the updates. This first download will take a long time. I like to let it go overnight.
<p><div id="attachment_1738" class="wp-caption aligncenter" style="width: 487px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/sa-suserver-updates.png"><img class="size-medium wp-image-1738 " title="sa-suserver-updates" src="http://systemsboy.com/wp-content/uploads/2009/05/sa-suserver-updates-530x437.png" alt="Updates" width="477" height="393" /></a><p class="wp-caption-text">Updates</p></div></li>
<li>When you return the next morning, the list should be populated with all the available updates, as seen above. (Also, you see about 10-15 GBs of data in the Software Update Server&#8217;s data store, which is here: /usr/share/swupd/html/content/downloads/.) The last step then — and the thing I often forget — is to tell your client Macs where to get their Software Updates. To do this you&#8217;ll need a computer list in Workgroup Manager. Add any computers you want to use your SU Server to the list. Then go to the Preferences pane for the group and select Software Update. Set the URL for the SU Server to: http://server.domain.com:8088/index.sucatalog
<p><div id="attachment_1740" class="wp-caption aligncenter" style="width: 487px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/wgm-sugroup-url.png"><img class="size-medium wp-image-1740 " title="wgm-sugroup-url" src="http://systemsboy.com/wp-content/uploads/2009/05/wgm-sugroup-url-530x436.png" alt="Create Computer Group" width="477" height="392" /></a><p class="wp-caption-text">Create Computer Group</p></div></li>
<li>After saving that configuration, logging out and logging back in should be all you need to do on your clients to pick up the server. After doing so, run Software Update and you&#8217;ll see the name of your SU Server in the menubar of the interface. This confirms you&#8217;re successfully getting updates from the server.
<p><div id="attachment_1741" class="wp-caption aligncenter" style="width: 429px"><a href="http://systemsboy.com/wp-content/uploads/2009/05/softwareupdate.png"><img class="size-medium wp-image-1741 " title="softwareupdate" src="http://systemsboy.com/wp-content/uploads/2009/05/softwareupdate-465x530.png" alt="It Works!" width="419" height="477" /></a><p class="wp-caption-text">It Works!</p></div></li>
</ol>
<p>Congrats! You&#8217;re not a total moron.  Enjoy!</p>
<p style="text-align: left;"><strong>UPDATE:</strong><br />
Reader Dennis points out in the comments that individual clients can be configured to look to the SUServer for updates without being part of a WGM group or managed by the server at all. This is done by modifying a preference on the client system, which you would do thusly:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:100%;">sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL "http://systemsboy.su.server.com:8088/"</span></code></pre>
</div>
<p>That command can, of course, be sent en masses using Apple Remote Desktop&#8217;s &#8220;Send Unix Command&#8221; directive.</p>
<p style="text-align: left;">And, if you want to revert to the standard method of checking for updates, looking at Apple&#8217;s servers, delete the &#8220;CatalogURL&#8221; entry in the preference file by running:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:100%;">sudo defaults delete /Library/Preferences/com.apple.SoftwareUpdate CatalogURL</span></code></pre>
</div>
<p>Thanks for the tip, Dennis!</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2009/05/software-update-server.html/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Exposé and the Tab Key</title>
		<link>http://systemsboy.com/2009/04/expose-and-the-tab-key.html</link>
		<comments>http://systemsboy.com/2009/04/expose-and-the-tab-key.html#comments</comments>
		<pubDate>Mon, 20 Apr 2009 18:15:34 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Interface]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[MacOSX]]></category>

		<guid isPermaLink="false">http://systemsboy.com/?p=1456</guid>
		<description><![CDATA[I don&#8217;t know if this is general knowledge or not, and I&#8217;m not a big Exposé user, so I could easily be ignorant of such a thing, but I just discovered that you can cycle through Exposé-activated applications using the tab or tilde keys. Here&#8217;s what you do: Hit the Exposé key (which is F3 [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know if this is general knowledge or not, and I&#8217;m not a big Exposé user, so I could easily be ignorant of such a thing, but I just discovered that you can cycle through Exposé-activated applications using the tab or tilde keys. Here&#8217;s what you do:</p>
<ul>
<li>Hit the Exposé key (which is F3 on my <a href="http://systemsboy.com/2009/03/shocked-to-shit.html" target="_self">nifty metal keyboard</a>).</li>
<li>Hit the tab key. This will tab to the next application and display it as though it were in Exposé&#8217;s application window mode, showing all the app&#8217;s open windows.
<p><div id="attachment_1457" class="wp-caption aligncenter" style="width: 540px"><a href="http://systemsboy.com/wp-content/uploads/2009/04/expose-tab-select.png" target="_blank"><img class="size-large wp-image-1457 " title="expose-tab-select" src="http://systemsboy.com/wp-content/uploads/2009/04/expose-tab-select-1024x640.png" alt="Exposé Tab Selection" width="530" height="331" /></a><p class="wp-caption-text">Exposé Tab Selection (click for larger view)</p></div></li>
<li>Continue hitting tab to bring subsequent apps to the front.</li>
<li>Hit the tilde key to cycle backwards through apps.</li>
<li>Hit the Return or Enter key to activate the selected app.</li>
</ul>
<p>This is pretty cool. Who knows, maybe it&#8217;ll even encourage me to start using Exposé.</p>
<p>Maybe.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2009/04/expose-and-the-tab-key.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Too Many Computers</title>
		<link>http://systemsboy.com/2008/11/too-many-computers.html</link>
		<comments>http://systemsboy.com/2008/11/too-many-computers.html#comments</comments>
		<pubDate>Fri, 21 Nov 2008 19:04:13 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[Systems]]></category>

		<guid isPermaLink="false">http://systemsboy.com/?p=854</guid>
		<description><![CDATA[That title&#8217;s not meant as a complaint. It&#8217;s just that I&#8217;ve noticed that over the years I&#8217;ve tended to use fewer and fewer system add-ons and customizations than I once did. And I realize that it&#8217;s because I use so many different computers. There used to be a time when I would customize the hell [...]]]></description>
			<content:encoded><![CDATA[<p>That title&#8217;s not meant as a complaint. It&#8217;s just that I&#8217;ve noticed that over the years I&#8217;ve tended to use fewer and fewer system add-ons and customizations than I once did. And I realize that it&#8217;s because I use so many different computers.</p>
<p>There used to be a time when I would customize the hell out of my Mac. After installing all my apps I&#8217;d get to setting up my user account, tricking out all my apps so that they behaved just like I liked, and installing and configuring any number of productivity utilities to make my life easier. It took forever, and it was a huge pain, but once it was done I could navigate my computer quickly and effortlessly.</p>
<p>Those days are pretty much over at this point. I no longer do much to change the default configuration of my home account in any meaningful way. I barely customize the Dock. I may change the Desktop background. On my primary computers I can&#8217;t live without a pasteboard history, so on those machines I&#8217;ll install the excellent(!) <a href="http://pth.com/products/pthpasteboard/" target="_blank">PTHPasteboard</a>. And there are certain <a href="http://systemsboy.com/2006/01/option-arrow-word-movement-in-terminal.html" target="_self">Terminal settings</a> I really enjoy. But that&#8217;s about it. I don&#8217;t even install my <a href="http://systemsboy.com/2005/06/a-love-affair-with-the-butler.html" target="_self">beloved Butler</a> anymore.</p>
<div id="attachment_859" class="wp-caption aligncenter" style="width: 410px"><a href="http://systemsboy.com/wp-content/uploads/2008/11/lab-011.jpg"><img class="size-full wp-image-859" title="lab-01" src="http://systemsboy.com/wp-content/uploads/2008/11/lab-011.jpg" alt="Too Many Computers!" width="400" height="533" /></a><p class="wp-caption-text">Too Many Computers!</p></div>
<p>There are certain things that have contributed to this. For one, Leopard&#8217;s Spotlight is a great application launcher, largely mitigating the need for Butler. (Yes, there are other things that Butler does that I miss, but I can live without most of them — but application launching is a deal-breaker.) Spaces helps a lot with window management, so I don&#8217;t need the sort of hot corner stuff I used to do. And the newer Mac keyboards have iTunes control built in.</p>
<p>But the main reason for this change (or lack thereof) is the plain fact that I&#8217;m simply touching too many computers in the course of the day to ever really consistently customize them. And if it&#8217;s not consistent, it&#8217;s not going to be very efficient, because every time you go to a different computer your system breaks. I was getting to the point where I&#8217;d go to one of the many computers I have to access on a regular basis — a staff member&#8217;s machine, or some workstation somewhere — and I&#8217;d start frantically hitting the keys for some custom key-command I&#8217;d set at home, getting frustrated when nothing happened. At some point I realized that this inconsistency was actually <em>hurting</em> my productivity. So I made the conscious decision to learn a new way.</p>
<div id="attachment_863" class="wp-caption aligncenter" style="width: 410px"><a href="http://systemsboy.com/wp-content/uploads/2008/11/lab-021.jpg"><img class="size-full wp-image-863" title="lab-02" src="http://systemsboy.com/wp-content/uploads/2008/11/lab-021.jpg" alt="" width="400" height="300" /></a><p class="wp-caption-text">Lockdown!</p></div>
<p>Over the past year or so I&#8217;ve gotten used to working with the system in as out-of-the-box a configuration as possible. Which ain&#8217;t half bad, I have to say. Apple has really done a fine job of making the initial user experience good for both new and experienced users alike. It&#8217;s quite remarkable. And I love not having to set much up beyond installing my apps. It&#8217;s akin to how I felt when I gave up my car to move to Manhattan. You think you&#8217;ll miss it, but you end up realizing what a burden it actually was. It&#8217;s kind of great to have everything I need on any newly installed Mac. And now that I don&#8217;t rely on that other stuff, I don&#8217;t miss it at all.</p>
<p>I know as &#8220;power users&#8221; we like to add to and configure our machines out the wazoo, and I&#8217;ve certainly been no exception. But as a SysAdmin, I have to say, the less of this I do, the better my user experience has been. Surprising, yes. But totally true.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2008/11/too-many-computers.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Just Open It</title>
		<link>http://systemsboy.com/2008/11/just-open-it.html</link>
		<comments>http://systemsboy.com/2008/11/just-open-it.html#comments</comments>
		<pubDate>Fri, 14 Nov 2008 15:58:08 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[Systems]]></category>

		<guid isPermaLink="false">http://systemsboy.com/?p=780</guid>
		<description><![CDATA[One of the new security measures in Leopard is a confirmation dialog that pops up anytime you attempt to open a file or executable bundle that was downloaded from the internet. You may have seen this dialog after downloading and launching a new application, for instance. It looks something like this: Some have hailed this [...]]]></description>
			<content:encoded><![CDATA[<p>One of the new security measures in Leopard is a confirmation dialog that pops up anytime you attempt to open a file or executable bundle that was downloaded from the internet. You may have seen this dialog after downloading and launching a new application, for instance. It looks something like this:</p>
<div id="attachment_782" class="wp-caption aligncenter" style="width: 510px"><a href="http://systemsboy.com/wp-content/uploads/2008/11/leopard-quarantine1.png"><img class="size-full wp-image-782" title="leopard-quarantine" src="http://systemsboy.com/wp-content/uploads/2008/11/leopard-quarantine1.png" alt="Leopard Quarantine: Yes, I Am Sure, Thank You Very Much" width="500" height="243" /></a><p class="wp-caption-text">Leopard Quarantine: Yes, I Am Sure, Thank You Very Much</p></div>
<p>Some have hailed this as a breakthrough in security standards, I&#8217;m sure, though I can&#8217;t find any specific sources to cite. Most folks who notice such things are actually rather annoyed by the alerts, likening them to similar attempts at security in versions of Windows. Indeed, it&#8217;s difficult to make the argument that such a warning would be very effective at preventing user-initiated security breaches. In reality it&#8217;s just the sort of warning that most people click through because 99% of the time it&#8217;s unwarranted. This has most SysAdmins and advanced users asking, &#8220;Why bother?&#8221; After which they promptly ask themselves, &#8220;How do I turn this shit off?&#8221;</p>
<p>The bad news is that there doesn&#8217;t seem to be a GUI way. There is no simple System Preferences checkbox for the alert. The good news is that there appears to be at least a couple possibilities for getting this done.</p>
<p><span id="more-780"></span></p>
<p>The first approach involves watching whatever folder you use for downloads, either via a <a href="http://henrik.nyh.se/2007/10/lift-the-leopard-download-quarantine" target="_blank">Folder Action</a> or via a Launch Daemon. The basic gist is that anytime that folder gets modified a script runs that removes the flag that causes the warning to appear from all items in the downloads folder. Because, you see, that&#8217;s all that&#8217;s going on. Anytime something is downloaded to your computer, Leopard flags it. When you open it in the Finder, the flag triggers the alert. Confirmation of the alert removes the flag. That&#8217;s the mechanism. Using the watch folder method simply disables the flag, which is akin to hitting that &#8220;Open&#8221; button in the alert, only it happens automatically in the background.</p>
<p>There are a couple problems with this method. First off, it&#8217;s difficult to implement, and second, it breaks anytime you decide to start using a different folder for downloads. And then there&#8217;s the obvious fact that it&#8217;s just plain ugly: a script workaround to disable an OS feature? Bluglgh! Terrible!</p>
<p>A better solution would be some sort of preference file. Apple often enables — but hides from the GUI — certain advanced preferences, allowing more savvy users to set the preference either by the addition of a preference (.plist) file, or by using the <code>defaults</code> command. There are all sorts of <a href="http://systemsboy.com/2007/10/hallelujah-items.html" target="_self">mods for the Dock</a>, for instance, that, while unavailable through the GUI can be set via <code>defaults</code>. It appears that Apple has provided such an invisible preference for the Leopard download alert as well. And if you know how to create and edit a .plist file, activating the preference and disabling the alerts is fairly straightforward.</p>
<p><strong>Some Background</strong><br />
The instructions I&#8217;m about to provide have been posted in numerous other spots on the Web. But when I went searching for this info there seemed to be no single place that explained not just how to perform the modification, but also what it did and how the mechanism we&#8217;re defeating works in the first place. So I wanted to provide some background info about just exactly what&#8217;s going on here.</p>
<p><strong>Metadata</strong><br />
The first piece of this puzzle is the basic concept of metadata. Metadata is often best described simply as &#8220;data about data.&#8221; And in Leopard we (or, more particularly, developers) finally have the ability to add <a href="http://arstechnica.com/reviews/os/mac-os-x-10-5.ars/11" target="_blank">arbitrary metadata</a>. That is, as a developer, you can add any sort of descriptive data you want to your files and the files your application creates. Mac OS X 10.5 and up can read that metadata, interpret it and behave accordingly. So, to follow our example, when we download Camino from the Internet, the Mac OS (specifically, the Finder) adds some metadata to our Camino application, and that metada says, &#8220;This application was downloaded from the internet and has not been flagged for approval.&#8221; Now, when we go to open the application for the first time, the Mac OS also knows to behave a certain way based on this metadata, and so we see that alert pop up. Clicking the &#8220;Open&#8221; button writes new metadata to the file, and that metadata now says, &#8220;This application has been opened and flagged for approval.&#8221; The OS now knows not to present the alert the next time the app is opened. Such is the power of metadata.</p>
<p>By the way, I should mention that you can actually tell which files have metadata associated with them by doing a long file listing:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:100%;"><span style="font-family: courier new;">DrMac:~systemsboy$ ls -l Movies<code><span style="font-size:100%;"><span style="font-family: courier new;">
drwxr-xr-x   9 </span></span></code>systemsboy<code><span style="font-size:100%;"><span style="font-family: courier new;">  staff        264 Nov 14 09:35 .
drwxr-xr-x  10 </span></span></code>systemsboy<code><span style="font-size:100%;"><span style="font-family: courier new;">  </span></span></code><code><span style="font-size:100%;"><span><span style="font-family: courier new;">staff</span></span></span></code><code><span style="font-size:100%;"><span style="font-family: courier new;">        296 Nov  7 17:20 ..
</span></span></code><code><span style="font-size:100%;"><span style="font-family: courier new;">-rw-r--r--@  1 </span></span></code>systemsboy<code><span style="font-size:100%;"><span style="font-family: courier new;">  </span></span></code><code><span style="font-size:100%;"><span><span style="font-family: courier new;">staff</span></span></span></code><code><span style="font-size:100%;"><span style="font-family: courier new;">  407041761 Oct 31 15:45 DownloadedMovie.mov</span></span></code>
<code><span style="font-size:100%;"><span style="font-family: courier new;">-rw-r--r--   1 </span></span></code>systemsboy<code><span style="font-size:100%;"><span style="font-family: courier new;">  </span></span></code><code><span style="font-size:100%;"><span><span style="font-family: courier new;">staff</span></span></span></code><code><span style="font-size:100%;"><span style="font-family: courier new;">  407041761 Oct 31 15:45 LocalMovie.mov</span></span></code></span></span></code></pre>
</div>
<p></br><br />
Notice the &#8220;@&#8221; symbol at the end of the permissions info for the DownloadedMovie.mov file? That means that this file has metadata associated with it.</p>
<p>You can look at any metadata your files contain by way of the <code>xattr</code> command. The command is simple to use:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:100%;"><span style="font-family: courier new;">DrMac:~systemsboy$ xattr -l Movies<code><span style="font-size:100%;"><span style="font-family: courier new;">/</span></span></code><code><span style="font-size:100%;"><span><span style="font-family: courier new;">DownloadedMovie.mov</span></span></span></code><code><span style="font-size:100%;"><span style="font-family: courier new;">
Movies/</span></span></code><code><span style="font-size:100%;"><span><span style="font-family: courier new;">DownloadedMovie.mov</span></span></span></code><code><span style="font-size:100%;"><span style="font-family: courier new;">: com.apple.quarantine: 0000;48fa188d;Firefox.app;|org.mozilla.firefox</span></span></code></span></span></code></pre>
</div>
<p></br><br />
Here we can see that our DownloadedMovie.mov has an Apple-branded quarantine flag, and that it was downloaded with Firefox. Nice!</p>
<p><strong>UTIs</strong><br />
The next piece of the puzzle comes in the form of something called Universal Type Identifiers, or UTIs. UTIs are a specific kind of metadata that are meant to describe and define types of files. So, our Camino application has metadata not only that tells the OS that it came from the Big Bad Internet (BBI), but also what sort of file (or in this case bundle) it is, namely that it&#8217;s an application. This particular piece of metadata is the UTI, and there are a bunch of them. The complete list can be found on <a href="http://developer.apple.com/documentation/Carbon/Conceptual/understanding_utis/utilist/chapter_4_section_1.html" target="_blank">Apple&#8217;s Developer site</a>. UTIs can be extremely useful, and they&#8217;ll actually allow us some flexibility in defeating Apple&#8217;s quarantine mechanism. Because with UTIs we can specify which sorts of files trigger the alert and which don&#8217;t, which is pretty great if you need it. And even if you don&#8217;t, it&#8217;s something that might come in handy down the line.</p>
<p><strong>The Defeat</strong><br />
So, with that out of the way, let&#8217;s step through our method for disabling the Mac OS alert for downloaded files.</p>
<ol>
<li>The first thing we&#8217;ll need is a file in our Preferences folder called &#8220;com.apple.DownloadAssessment.plist.&#8221; If you have one, great, if not make one, either with Property List Editor, TextEdit or whatever text editor you have handy.</li>
<li>Next, populate the file with this data:
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:100%;"><span style="font-family: courier new;"> &lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
   "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;
&lt;plist version="1.0"&gt;
  &lt;dict&gt;
    &lt;key&gt;LSRiskCategoryNeutral&lt;/key&gt;
    &lt;dict&gt;
      &lt;key&gt;LSRiskCategoryContentTypes&lt;/key&gt;
      &lt;array&gt;
        &lt;string&gt;public.item&lt;/string&gt;
      &lt;/array&gt;
    &lt;/dict&gt;
  &lt;/dict&gt;
&lt;/plist&gt;</span></span></code></pre>
</div>
</li>
<li>Finally, restart the Finder.</li>
</ol>
<p>From here on out, the OS will flag <em>any</em> item downloaded from the BBI (the UTI &#8220;public.item&#8221;) as &#8220;Neutral.&#8221; This should completely eliminate any sort of alert regarding downloads. Of course, there are exceptions — and I&#8217;ll talk about them in a minute — but this should mostly do the trick.</p>
<p>Using UTIs and the Risk Categories outlined <a href="http://macenterprise.org/content/view/201/84/" target="_blank">here</a>, you can vary and specify the OS behavior for a wide range of file types. Want downloaded applications to raise the alert, but HTML files to be considered safe? Not a problem. Just specify as much in the plist file. It might look something like this:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:100%;"><span style="font-family: courier new;"> &lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
   "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;
&lt;plist version="1.0"&gt;
  &lt;dict&gt;
    &lt;key&gt;LSRiskCategoryUnsafeExecutable&lt;/key&gt;
    &lt;dict&gt;
      &lt;key&gt;LSRiskCategoryContentTypes&lt;/key&gt;
      &lt;array&gt;
        &lt;string&gt;public.executable&lt;/string&gt;
      &lt;/array&gt;
    &lt;/dict&gt;
  &lt;/dict&gt;
</span></span></code><code><span style="font-size:100%;"><span style="font-family: courier new;">  &lt;dict&gt;
    &lt;key&gt;LSRiskCategory&lt;/key&gt;
    &lt;dict&gt;
      &lt;key&gt;LSRiskCategoryContentTypes&lt;/key&gt;
      &lt;array&gt;
        &lt;string&gt;public.html&lt;/string&gt;
      &lt;/array&gt;
    &lt;/dict&gt;
  &lt;/dict&gt;</span></span></code>
<code><span style="font-size:100%;"><span style="font-family: courier new;">&lt;/plist&gt;</span></span></code></pre>
</div>
<p></br><br />
Now, applications we&#8217;ve downloaded from the Internet (UTI &#8220;public.executable&#8221;) will be treated as &#8220;Unsafe Executables&#8221; and will prompt the quarantine alert. But downloaded HTML files (UTI &#8220;public.html&#8221;) will be treated as &#8220;Safe&#8221; and be exempt from the alert. As you can probably gather, you could get really, really fine-grained here if you needed to. Most folks will be covered with the first example, but as a SysAdmin it&#8217;s always good to know you have options.</p>
<p><strong>Exceptions</strong><br />
Now earlier I mentioned exceptions. And one of those exceptions is Camino itself. Remember earlier when I specified that <em>developers</em> could add metadata to files? It&#8217;s important to understand that it&#8217;s not always the Finder or even the Mac OS itself that&#8217;s creating this metadata. Applications themselves can also write metadata to files, and that&#8217;s exactly what Camino does. Anytime you download a file with Camino it adds it&#8217;s own metadata to the download. And that metadata will trigger the Mac OS&#8217;s quarantine alert. So the above hack fails for applications such as these, and there&#8217;s not much to be done about it. The rationale for Camino&#8217;s approach is at least partially detailed in <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=464333" target="_blank">bug report 464333</a> on Camino&#8217;s developer site.</p>
<p>UPDATE: The folks at Camino are now <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=464575" target="_blank">re-examining</a> the issue.</p>
<p><strong>Further Reading</strong><br />
Credit where due, I collected all my info on this topic from the following sources:<br />
<a href="http://henrik.nyh.se/2007/10/lift-the-leopard-download-quarantine" target="_blank">The Folder Action Hack</a><br />
<a href="http://arstechnica.com/reviews/os/mac-os-x-10-5.ars/11" target="_blank">Arbitrarily Extensible Metadata</a><br />
<a href="http://developer.apple.com/documentation/Carbon/Conceptual/understanding_utis/utilist/chapter_4_section_1.html" target="_blank">Uniform Type Identifiers (UTIs)</a><br />
<a href="http://macenterprise.org/content/view/201/84/" target="_blank">Download Security Assessments</a><br />
<a href="http://pseudogreen.org/blog/yes_leopard_i_want_to_open_it_already.html" target="_blank">Creating and/or Modifying the Preference File</a></p>
<p>And inspiration and help for this post came from an <a href="http://systemsboy.com/2008/10/spotlight-sort-options.html#comment-1038" target="_self">excellent bunch of comments</a> in another article right here on this very site.</p>
<p><strong>In Conclusion</strong><br />
I have to admit, I find what Apple is doing here fascinating. I&#8217;m not sure that popup alerts for every downloaded file is a great idea in practice, but I do think it&#8217;s an interesting example of what&#8217;s possible with metadata and highlights just how useful this addition to the OS could be if leveraged properly. Imagine if metadata were something in the hands of everyday users. Imagine if you could assign your own set of actions based on your own set of metadata tags. It could fundamentally change the way you interact with your computer, essentially allowing you to program it at will to your whims. And maybe someday it will, if Apple sees the potential here and continues to push forward with this Great Metadata Experiment in fresh and innovative ways.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2008/11/just-open-it.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Secondary DNS in Leopard</title>
		<link>http://systemsboy.com/2008/11/secondary-dns-in-leopard.html</link>
		<comments>http://systemsboy.com/2008/11/secondary-dns-in-leopard.html#comments</comments>
		<pubDate>Thu, 06 Nov 2008 02:02:03 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://systemsboy.com/?p=759</guid>
		<description><![CDATA[I covered secondary DNS configuration in Tiger (10.4) Server a while back. And while the buttons have moved around a bit, most of those instructions apply to Leopard as well. Leopard does have one fairly cool new addition worth mentioning, though: forwarders. Generally I&#8217;m setting up secondary DNS for internal networks, and generally those internal [...]]]></description>
			<content:encoded><![CDATA[<p>I covered <a href="http://systemsboy.com/2008/02/secondary-dns-configuration.html" target="_self">secondary DNS configuration</a> in Tiger (10.4) Server a while back. And while the buttons have moved around a bit, most of those instructions apply to Leopard as well. Leopard does have one fairly cool new addition worth mentioning, though: forwarders.</p>
<p>Generally I&#8217;m setting up secondary DNS for internal networks, and generally those internal DNS servers  serve DNS <em>only</em> for the internal networks. Everything outside the internal network is handled by external DNS servers (or by DNS servers that sit on a network of which we are a subdomain), and our internal DNS servers need to know who those server are. These external servers are called forwarders, in DNS parlance. They are the first stop for all DNS outside your local network. And you can now set them on your secondary DNS server in the Leopard Server Admin application.</p>
<div id="attachment_762" class="wp-caption aligncenter" style="width: 475px"><a href="http://systemsboy.com/wp-content/uploads/2008/11/forwarders1.png"><img class="size-full wp-image-762" title="forwarders" src="http://systemsboy.com/wp-content/uploads/2008/11/forwarders1.png" alt="Leopard's Forwarders Pane" width="465" height="219" /></a><p class="wp-caption-text">Leopard&#39;s Forwarders Pane</p></div>
<p>To get to the settings, navigate to the &#8220;Settings&#8221; tab under the DNS service. In the bottom-most pane of the window you will see a box labeled &#8220;Forwarder IP Addresses:&#8221; Click the plus sign to add a server to the list, then type in an IP address. Typically you will add two addresses, one for the primary external DNS server and one for the secondary. These will often be your ISP&#8217;s DNS servers, though if you&#8217;re on a subdomain of a larger network you&#8217;ll use the DNS servers for that network&#8217;s domain (i.e. the subdomain systemsboy.com.mail will use the DNS servers for the domain systemsboy.com). Once you&#8217;ve entered and saved the settings, restart your DNS service and you&#8217;re off to the races.</p>
<p>Requests for internal network resources will still be handled by your internal DNS server, but now external requests for things like &#8220;google.com&#8221; will be passed to the appropriate external DNS server. Even if your secondary has to take over DNS duties for a long period of time, you&#8217;ll still be able to properly reach the Big Bad Internet without having to use cached or stale settings.</p>
<p>This is a very handy addition to the DNS configuration GUI in Server Admin.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2008/11/secondary-dns-in-leopard.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 1/36 queries in 0.054 seconds using disk: basic
Object Caching 605/678 objects using disk: basic

Served from: systemsboy.com @ 2012-05-22 18:59:26 -->
