<?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>Standard Orbit &#187; Cocoa</title>
	<atom:link href="http://standardorbit.net/blog/category/cocoa/feed/" rel="self" type="application/rss+xml" />
	<link>http://standardorbit.net/blog</link>
	<description></description>
	<lastBuildDate>Thu, 10 Jun 2010 04:42:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>iPhone OS Installed Fonts</title>
		<link>http://standardorbit.net/blog/2010/06/iphone-os-installed-fonts/</link>
		<comments>http://standardorbit.net/blog/2010/06/iphone-os-installed-fonts/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 04:42:04 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://standardorbit.net/blog/?p=95</guid>
		<description><![CDATA[Chad Fuller posted a list of fonts installed with iPhone OS 2.2.1.  I needed to see a more updated list for iPhone OS 3.1.
Deriving from his code, I used the following snippet to output a list of installed fonts to the console.

for (NSString *family in [UIFont familyNames] ) {
  NSLog(@"Family: %@", family);
  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://chadfuller.com/blog/iphone/iphone-os-fonts" target="_blank">Chad Fuller</a> posted a list of fonts installed with iPhone OS 2.2.1.  I needed to see a more updated list for iPhone OS 3.1.</p>
<p>Deriving from his code, I used the following snippet to output a list of installed fonts to the console.</p>
<pre>
for (NSString *family in [UIFont familyNames] ) {
  NSLog(@"Family: %@", family);
  NSLog(@"Fonts:\n");
  for (NSString *name in [UIFont fontNamesForFamilyName: family]) {
    NSLog(@"\t%@", name);
  }
  NSLog(@"\n");
}
</pre>
<p>Here&#8217;s the list of fonts reported for iPhone OS 3.1.3.</p>
<pre>
Family: AppleGothic
Fonts:
	 AppleGothic

Family: Hiragino Kaku Gothic ProN
Fonts:
	 HiraKakuProN-W6
	 HiraKakuProN-W3

Family: Arial Unicode MS
Fonts:
	 ArialUnicodeMS

Family: Heiti K
Fonts:
	 STHeitiK-Medium
	 STHeitiK-Light

Family: DB LCD Temp
Fonts:
	 DBLCDTempBlack

Family: Helvetica
Fonts:
	 Helvetica-Oblique
	 Helvetica-BoldOblique
	 Helvetica
	 Helvetica-Bold

Family: Marker Felt
Fonts:
	 MarkerFelt-Thin

Family: Times New Roman
Fonts:
	 TimesNewRomanPSMT
	 TimesNewRomanPS-BoldMT
	 TimesNewRomanPS-BoldItalicMT
	 TimesNewRomanPS-ItalicMT

Family: Verdana
Fonts:
	 Verdana-Bold
	 Verdana-BoldItalic
	 Verdana
	 Verdana-Italic

Family: Georgia
Fonts:
	 Georgia-Bold
	 Georgia
	 Georgia-BoldItalic
	 Georgia-Italic

Family: Arial Rounded MT Bold
Fonts:
	 ArialRoundedMTBold

Family: Trebuchet MS
Fonts:
	 TrebuchetMS-Italic
	 TrebuchetMS
	 Trebuchet-BoldItalic
	 TrebuchetMS-Bold

Family: Heiti TC
Fonts:
	 STHeitiTC-Light
	 STHeitiTC-Medium

Family: Geeza Pro
Fonts:
	 GeezaPro-Bold
	 GeezaPro

Family: Courier
Fonts:
	 Courier
	 Courier-BoldOblique
	 Courier-Oblique
	 Courier-Bold

Family: Arial
Fonts:
	 ArialMT
	 Arial-BoldMT
	 Arial-BoldItalicMT
	 Arial-ItalicMT

Family: Heiti J
Fonts:
	 STHeitiJ-Medium
	 STHeitiJ-Light

Family: Arial Hebrew
Fonts:
	 ArialHebrew
	 ArialHebrew-Bold

Family: Courier New
Fonts:
	 CourierNewPS-BoldMT
	 CourierNewPS-ItalicMT
	 CourierNewPS-BoldItalicMT
	 CourierNewPSMT

Family: Zapfino
Fonts:
	 Zapfino

Family: American Typewriter
Fonts:
	 AmericanTypewriter
	 AmericanTypewriter-Bold

Family: Heiti SC
Fonts:
	 STHeitiSC-Medium
	 STHeitiSC-Light

Family: Helvetica Neue
Fonts:
	 HelveticaNeue
	 HelveticaNeue-Bold

Family: Thonburi
Fonts:
	 Thonburi-Bold
	 Thonburi
</pre>
]]></content:encoded>
			<wfw:commentRss>http://standardorbit.net/blog/2010/06/iphone-os-installed-fonts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Doc-based Application Xcode Project Template</title>
		<link>http://standardorbit.net/blog/2009/12/doc-based-app-project-template/</link>
		<comments>http://standardorbit.net/blog/2009/12/doc-based-app-project-template/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 02:45:07 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Shiny]]></category>

		<guid isPermaLink="false">http://standardorbit.net/blog/?p=82</guid>
		<description><![CDATA[Just started a collection of Xcode file and project templates on bitbucket.org.
The big feature of the collection is a project template for a document-based Cocoa application with explicit NSWindowControllers.  This project illustrates using the Cocoa document architecture to implement an explicitly managed main window and an associated inspector window.
Download a zip archive of the project template [...]]]></description>
			<content:encoded><![CDATA[<p>Just started a <a href="http://bitbucket.org/billgarrison/xcodetemplates" target="_blank">collection of Xcode file and project templates</a> on bitbucket.org.</p>
<p>The big feature of the collection is a project template for a document-based Cocoa application with explicit NSWindowControllers.  This project illustrates using the Cocoa document architecture to implement an explicitly managed main window and an associated inspector window.</p>
<p>Download a zip archive of the project template <a href="http://bitbucket.org/billgarrison/xcodetemplates/downloads/DocBasedAppWithWindowControllersTemplate.zip">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://standardorbit.net/blog/2009/12/doc-based-app-project-template/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SOLogger: a Cocoa ASL Logging framework</title>
		<link>http://standardorbit.net/blog/2009/08/sologger-a-cocoa-asl-logging-framework/</link>
		<comments>http://standardorbit.net/blog/2009/08/sologger-a-cocoa-asl-logging-framework/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 23:26:16 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Shiny]]></category>
		<category><![CDATA[Utilities]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://standardorbit.net/blog/?p=44</guid>
		<description><![CDATA[I spent some time recently putting together a Cocoa interface to the built-in Apple System Logging (ASL) facility.
Following Peter Hosey&#8217;s excellent blog series on ASL and some other tidbits on Cocoa-Dev, I fashioned small and simple Cocoa framework for integrating ASL&#8217;s multi-leveled logging into your project.
&#8212;
#import &#60;SOLogger/SOLogger.h&#62;
SOLogger *logger;
logger = [SOLogger loggerForFacility: @"com.example.MyApp" options:ASL_OPT_STDERR];
[logger debug:@"A debugging [...]]]></description>
			<content:encoded><![CDATA[<p>I spent some time recently putting together a Cocoa interface to the built-in Apple System Logging (ASL) facility.</p>
<p>Following <a href="http://boredzo.org/blog/archives/2008-01-20/why-asl">Peter Hosey&#8217;s excellent blog series on ASL</a> and some other tidbits on Cocoa-Dev, I fashioned small and simple Cocoa framework for integrating ASL&#8217;s multi-leveled logging into your project.</p>
<p>&#8212;<br />
#import &lt;SOLogger/SOLogger.h&gt;</p>
<p>SOLogger *logger;</p>
<p>logger = [SOLogger loggerForFacility: @"com.example.MyApp" options:ASL_OPT_STDERR];</p>
<p>[logger debug:@"A debugging note on: %@", [NSDate date]];</p>
<p>[logger info:@"We just did something."];<br />
[logger notice:@"That's going to leave a mark"];<br />
[logger warning:@"WTF?"];<br />
[logger alert:@"WTF!"];<br />
[logger critical:@"OMG"];<br />
[logger panic:@"OMG WTF!"];<br />
&#8212;</p>
<p>An interesting feature of SOLogger (courtesy of ASL) is that you can create separate loggers for subsystems in your code, potentially logging them to separate destinations.</p>
<p>I host the <a href="http://bitbucket.org/billgarrison/sologger/" target="_blank">SOLogger project on Bitbucket</a> with a BSD License.</p>
<p>Check it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://standardorbit.net/blog/2009/08/sologger-a-cocoa-asl-logging-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running selected unit tests with GHUnit</title>
		<link>http://standardorbit.net/blog/2009/03/running-selected-unit-tests-with-ghunit/</link>
		<comments>http://standardorbit.net/blog/2009/03/running-selected-unit-tests-with-ghunit/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 23:55:47 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Unit Testing]]></category>
		<category><![CDATA[UnitTesting]]></category>

		<guid isPermaLink="false">http://standardorbit.net/blog/?p=21</guid>
		<description><![CDATA[I love the sanity that GHUnit brings to running and debugging unit tests.  The under-documented Xcode 3 mojo needed to configure SenTest unit test bundles for debugging throws a wet towel on the practice of test-driven Cocoa development.
The current GHUnit distribution runs all unit tests found in your app or framework.  I did [...]]]></description>
			<content:encoded><![CDATA[<p>I love the sanity that <a href="http://github.com/gabriel/gh-unit/tree/master">GHUnit</a> brings to running and debugging unit tests.  The under-documented Xcode 3 mojo needed to configure SenTest unit test bundles for debugging throws a wet towel on the practice of test-driven Cocoa development.</p>
<p>The current GHUnit distribution runs all unit tests found in your app or framework.  I did some work today to enable running a selected test cases and individual unit tests.</p>
<p>This works similarly to the SenTestingKit&#8217;s otest tool.  You specify a unit test case and/or test name to run as an argument to the GHUnit test application.</p>
<p>In the Xcode&#8217;s executable panel for the test application, add arguments of the form:</p>
<p><code>-Test UserTests<br />
-Test UserTests/testEmptyUserName<br />
-Test All<br />
</code></p>
<p>When you run or debug the test app, only the specified test case or individual test will be executed.   The argument <em>-Test All</em> will run all available unit test cases.</p>
<p>The patch file is <a href="http://standardorbit.net/downloads/ghunit-bgarrison.patch">here</a> and works for Mac OS X.  To apply the patch:</p>
<p><code>$ cd your-GHUnit-project-directory<br />
$ patch -p1 &lt; path-to-patch-file<br />
</code></p>
<p>I&#8217;ve submitted the patch to Gabriel, so maybe it&#8217;ll make it into a future release.</p>
]]></content:encoded>
			<wfw:commentRss>http://standardorbit.net/blog/2009/03/running-selected-unit-tests-with-ghunit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cocoawithlove.com</title>
		<link>http://standardorbit.net/blog/2008/08/cocoawithlovecom/</link>
		<comments>http://standardorbit.net/blog/2008/08/cocoawithlovecom/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 17:26:06 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Blogs]]></category>

		<guid isPermaLink="false">http://standardorbit.net/blog/?p=17</guid>
		<description><![CDATA[
[MattGallagher programming:Cocoa with:Love] is one of my new favorite Cocoa blogs.  I discovered it through Planet Cocoa, so thanks for that.
Matt writes at a sweet spot of Cocoa geekness style that I find really appealing.  He uses code recipes balanced with concise commentary to pack a lot of goodness into a tight blog posting.  I want [...]]]></description>
			<content:encoded><![CDATA[<div>
<p><a href="http://cocoawithlove.com/" target="_blank">[MattGallagher programming:Cocoa with:Love]</a> is one of my new favorite Cocoa blogs.  I discovered it through <a href="http://planetcooca.org" target="_blank">Planet Cocoa</a>, so thanks for that.</p>
<p>Matt writes at a sweet spot of Cocoa geekness style that I find really appealing.  He uses code recipes balanced with concise commentary to pack a lot of goodness into a tight blog posting.  I want my blog articles to read like his.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://standardorbit.net/blog/2008/08/cocoawithlovecom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implementing the reflection effect on images</title>
		<link>http://standardorbit.net/blog/2008/08/implementing-the-reflection-effect-on-images/</link>
		<comments>http://standardorbit.net/blog/2008/08/implementing-the-reflection-effect-on-images/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 16:50:37 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[NSImageView]]></category>

		<guid isPermaLink="false">http://standardorbit.net/blog/?p=13</guid>
		<description><![CDATA[bithaus blogs about a category on NSImageView to do the reflection effect.  A must for modern sexy UI.
See this on cocoadev.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://bithaus.com/2006/11/05/nsimage-reflection/" target="_blank">bithaus</a> blogs about a category on NSImageView to do the reflection effect.  A must for modern sexy UI.</p>
<p>See this on <a href="http://www.cocoadev.com/index.pl?DrawingReflections" target="_blank">cocoadev</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://standardorbit.net/blog/2008/08/implementing-the-reflection-effect-on-images/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C4[2] Registration is open!&#8230;and closed.</title>
		<link>http://standardorbit.net/blog/2008/08/c42-registration-is-openand-closed/</link>
		<comments>http://standardorbit.net/blog/2008/08/c42-registration-is-openand-closed/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 16:30:52 +0000</pubDate>
		<dc:creator>Bill</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[whining]]></category>

		<guid isPermaLink="false">http://standardorbit.net/blog/?p=4</guid>
		<description><![CDATA[Well, shit.
8:30 PM, July 31: 75% of seats for C4[2] have been sold.  (C4 Twitter)
2:01 AM, August 1: C4[2] registration opens for the public early Friday morning, 2:01 AM, 8/1.  
9:00 AM, August 2: C4[2] is sold out.
I completely missed the announcement until this morning.  And apparently, previous attendees got first dibs at an early private registration.
C4 has [...]]]></description>
			<content:encoded><![CDATA[<p>Well, shit.</p>
<p>8:30 PM, July 31: 75% of seats for <a href="http://rentzsch.com/c4/twoOpen" target="_blank">C4[2]</a> have been sold.  (<a href="http://twitter.com/c4/" target="_blank">C4 Twitter</a>)</p>
<p>2:01 AM, August 1: <a href="http://rentzsch.com/c4/twoOpen" target="_blank">C4[2]</a> registration opens for the public early Friday morning, 2:01 AM, 8/1.  </p>
<p>9:00 AM, August 2: C4[2] is sold out.</p>
<p>I completely missed the announcement until this morning.  And apparently, previous attendees got first dibs at an early private registration.</p>
<p>C4 has been a small gathering in past years, with attendees capped at around 75.  So there were likely around 18-20 open spots left when public registration opened.  That&#8217;s not very many.</p>
<p>Looks like C4 is becoming an exclusive event along the lines of <a href="http://en.wikipedia.org/wiki/World_Economic_Forum" target="_blank">Davos</a>.  Someday, I&#8217;ll be invited.  Oh, crap, I just spilled my milk&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://standardorbit.net/blog/2008/08/c42-registration-is-openand-closed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
