<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Borkware Miniblog</title>
	<atom:link href="http://borkwarellc.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://borkwarellc.wordpress.com</link>
	<description>Bork bork bork bork.</description>
	<lastBuildDate>Tue, 24 Jan 2012 18:53:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='borkwarellc.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Borkware Miniblog</title>
		<link>http://borkwarellc.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://borkwarellc.wordpress.com/osd.xml" title="Borkware Miniblog" />
	<atom:link rel='hub' href='http://borkwarellc.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Interview from Salt Lake City</title>
		<link>http://borkwarellc.wordpress.com/2012/01/24/interview-from-salt-lake-city/</link>
		<comments>http://borkwarellc.wordpress.com/2012/01/24/interview-from-salt-lake-city/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 18:52:03 +0000</pubDate>
		<dc:creator>Mark Dalrymple</dc:creator>
				<category><![CDATA[Big Nerd Ranch]]></category>
		<category><![CDATA[cocoaheads]]></category>
		<category><![CDATA[Questions From Friends]]></category>

		<guid isPermaLink="false">https://borkwarellc.wordpress.com/?p=263</guid>
		<description><![CDATA[Earlier this month I went down to Salt Lake City to do an on-site class for a company there.  Rod Schmidt, the organizer of the SLC CocoaHeads chapter, was kind enough to delay their meeting by a week so I could join them. One of the members, Patrick Cassell, runs an Apple news and commentary [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=263&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Earlier this month I went down to Salt Lake City to do an on-site class for a company there.  Rod Schmidt, the organizer of the <a href="http://saltycocoa.wikispaces.com/">SLC CocoaHeads</a> chapter, was kind enough to delay their meeting by a week so I could join them.</p>
<p>One of the members, Patrick Cassell, runs an Apple news and commentary blog at <a href="http://itechcrossroads.com">iTechCrossroads</a>.  He did a brief interview, and posted it online.</p>
<p>I wasn&#8217;t quite expecting a verbatim interview, so like I guess like that&#8217;s how I actually speak and stuff.  But there were some interesting questions.</p>
<p>Here&#8217;s <a href="http://itechcrossroads.com/mark-dalrymple-developer-interview-part-1-of-2/">part 1</a>, and <a href="http://itechcrossroads.com/mark-dalrymple-developer-interview-part-2-of-2/">part 2</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/borkwarellc.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/borkwarellc.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/borkwarellc.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/borkwarellc.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/borkwarellc.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/borkwarellc.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/borkwarellc.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/borkwarellc.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/borkwarellc.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/borkwarellc.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/borkwarellc.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/borkwarellc.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/borkwarellc.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/borkwarellc.wordpress.com/263/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=263&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://borkwarellc.wordpress.com/2012/01/24/interview-from-salt-lake-city/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bdfaf235f8338d6b577138a55817d3d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MarkD</media:title>
		</media:content>
	</item>
		<item>
		<title>Outlet Collections</title>
		<link>http://borkwarellc.wordpress.com/2011/11/03/outlet-collections/</link>
		<comments>http://borkwarellc.wordpress.com/2011/11/03/outlet-collections/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 16:29:28 +0000</pubDate>
		<dc:creator>Mark Dalrymple</dc:creator>
				<category><![CDATA[Cycling Fusion]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">https://borkwarellc.wordpress.com/?p=261</guid>
		<description><![CDATA[A quick post to explain my tweet. TL;DR: I can batch show and hide UIViews really easily now. Easier than setting up a bunch of outlets, fiddling with tags, making dummy views, or groveling through the view hierarchy. I bet it&#8217;s Cocoa 101 nowadays, but they were new to me, pretty much seeing the reference [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=261&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A quick post to explain my tweet.</p>
<p><img style="display:block;margin-left:auto;margin-right:auto;" title="Screen shot 2011-11-03 at 11.41.55 AM.png" src="http://borkwarellc.files.wordpress.com/2011/11/screen-shot-2011-11-03-at-11-41-55-am.png?w=581&#038;h=100" border="0" alt="Screen shot 2011 11 03 at 11 41 55 AM" width="581" height="100" /></p>
<p>TL;DR: I can batch show and hide UIViews really easily now. Easier than setting up a bunch of outlets, fiddling with tags, making dummy views, or groveling through the view hierarchy.</p>
<p>I bet it&#8217;s Cocoa 101 nowadays, but they were new to me, pretty much seeing the reference when dragging a connection to header files (which I never do) and promptly forgetting about them. I might have seen reference to them in a WWDC sessions or something. But finally now I had a real use. Yay! For a lot of this stuff I need to actually <strong>use</strong> it for Something Real before it sticks in my brain. I can learn stuff by doing, but I&#8217;m lousy at memorization. Just look at my history grades during high school. On second thought, please don&#8217;t.</p>
<p>RideBuddy™ is one of the new apps coming from <a href="http://www.cyclingfusion.com/">Cycling Fusion</a>. Amongst a ton of other stuff, RideBuddy lets you track workout time in various heart zones &#8211; ranges of heart rates that have different benefits and consequences to the body. We like the Sally Edwards <a href="http://heartzones.com/">Heart Zones</a>® system, which is a five-zone system based on certain physiological markers. I won&#8217;t get into specifics here, you can join the Cycling Fusion <a href="http://www.cyclingfusion.com/winter-training/">Winter Training</a> in January and get the full details.</p>
<p>Five zones are kind of a lot for a beginner or just a casual rider to wrap their mind around, so Sally created <a href="http://zoningfitness.com/">Zoning</a>™, a friendlier three-zone system and a color-coded heart rate monitor. It&#8217;s only three zones, but it&#8217;s based on the same physiological markers as the five-zone system. You can get a lot of health and training benefit by using the three zone system, and can graduate to the five-zone system when you feel up to it.</p>
<p>My stuff needs to support both. So, I have a number of screens like this one:</p>
<p><img style="display:block;margin-left:auto;margin-right:auto;" title="two-zone-models.png" src="http://borkwarellc.files.wordpress.com/2011/11/two-zone-models.png?w=400&#038;h=376" border="0" alt="Two zone models" width="400" height="376" /></p>
<p>Something that&#8217;ll support three zones or five zones. Internally I can support from one to five zones. The code that adjusts the layouts based on the zone system in-use hides everything zone-related, then populates and enables stuff zone-by-zone until it runs out of zones. In the above screenie I have four objects per zone: two static labels and two text fields. zone zone zone.</p>
<p>To simplify that work, I have five <code>IBOutletCollection(UIView)</code>s — one for each zone. I walk through all of them to <a href="http://borkware.com/hacks/hide-all-the-things.png">Hide All The Things</a>, then walk the zones enabling a particular collection and populating items until I run out of zones. If I don&#8217;t hit a collection, it stays hidden.</p>
<p>Understandably, this is so much nicer than setting up an IBOutlet for each label and text field and making the connections. Or setting a tag on the items. Or groveling through the view hierarchy showing and hiding things. Or having a dummy UIView just to be a container. Just add the outlet collection and make connections in IB.</p>
<p>Markus Möller on Twitter &#8220;uses them for animating / moving groups of views. Better than putting them all in a container view. Less hierarchy.&#8221; which is another excellent use.</p>
<p> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/borkwarellc.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/borkwarellc.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/borkwarellc.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/borkwarellc.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/borkwarellc.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/borkwarellc.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/borkwarellc.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/borkwarellc.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/borkwarellc.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/borkwarellc.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/borkwarellc.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/borkwarellc.wordpress.com/261/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/borkwarellc.wordpress.com/261/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/borkwarellc.wordpress.com/261/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=261&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://borkwarellc.wordpress.com/2011/11/03/outlet-collections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bdfaf235f8338d6b577138a55817d3d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MarkD</media:title>
		</media:content>

		<media:content url="http://borkwarellc.files.wordpress.com/2011/11/screen-shot-2011-11-03-at-11-41-55-am.png" medium="image">
			<media:title type="html">Screen shot 2011-11-03 at 11.41.55 AM.png</media:title>
		</media:content>

		<media:content url="http://borkwarellc.files.wordpress.com/2011/11/two-zone-models.png" medium="image">
			<media:title type="html">two-zone-models.png</media:title>
		</media:content>
	</item>
		<item>
		<title>CocoaConf Raleigh NC December 2-3</title>
		<link>http://borkwarellc.wordpress.com/2011/10/07/cocoaconf-raleigh-nc-december-2-3/</link>
		<comments>http://borkwarellc.wordpress.com/2011/10/07/cocoaconf-raleigh-nc-december-2-3/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 21:44:54 +0000</pubDate>
		<dc:creator>Mark Dalrymple</dc:creator>
				<category><![CDATA[cocoaheads]]></category>
		<category><![CDATA[conferences]]></category>

		<guid isPermaLink="false">https://borkwarellc.wordpress.com/?p=255</guid>
		<description><![CDATA[I had a great time when I spoke at CocoaConf this last August in Columbus, OH. It was in my back yard and was a no-brainer to go to. I had a huge amount of fun, learned a lot from the other speakers, and had a fun panel discussion. Plus Dave Klein&#8217;s family is a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=255&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="float:right;" title="bork.jpg" src="http://borkwarellc.files.wordpress.com/2011/10/bork.jpg?w=239&#038;h=461" border="0" alt="Bork" width="239" height="461" /></p>
<p>I had a great time when I spoke at <a href="http://cocoaconf.com/">CocoaConf</a> this last August in Columbus, OH. It was in my back yard and was a no-brainer to go to. I had a huge amount of fun, learned a lot from the other speakers, and had a fun panel discussion. Plus Dave Klein&#8217;s family is a lot of fun. Be sure to hang out with Solomon if he&#8217;s there.</p>
<p>I&#8217;m not sure what my gesture over there is from. Maybe from the virtual sock puppet portion of &#8220;Performance Tuning.&#8221;</p>
<p>CocoaConf will be in Raleigh NC, December 2th and 3th. You can browse the <a href="http://cocoaconf.com/schedule">full schedule</a> to see if stuff is interesting to you. There&#8217;s a <a href="http://cocoaconf.com/registration">registration page</a> if you want to go. I can&#8217;t make it because I&#8217;ll be <a href="http://edgewoodsymphony.org/Edgewood_Symphony_Orchestra/Home.html">playing a concert that weekend</a>, otherwise I&#8217;d probably head down.  (December is <strong>always</strong> nuts for me.)</p>
<p>There&#8217;s a $50 discount for CocoaHeads folk. The coupon code is a secret to the non-<strong><em><span style="color:#ff39df;">COCOAHEAD </span></em></strong>individuals out there, but smart folks should be able to figure it out.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/borkwarellc.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/borkwarellc.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/borkwarellc.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/borkwarellc.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/borkwarellc.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/borkwarellc.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/borkwarellc.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/borkwarellc.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/borkwarellc.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/borkwarellc.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/borkwarellc.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/borkwarellc.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/borkwarellc.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/borkwarellc.wordpress.com/255/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=255&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://borkwarellc.wordpress.com/2011/10/07/cocoaconf-raleigh-nc-december-2-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bdfaf235f8338d6b577138a55817d3d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MarkD</media:title>
		</media:content>

		<media:content url="http://borkwarellc.files.wordpress.com/2011/10/bork.jpg" medium="image">
			<media:title type="html">bork.jpg</media:title>
		</media:content>
	</item>
		<item>
		<title>Bummer</title>
		<link>http://borkwarellc.wordpress.com/2011/10/06/bummer/</link>
		<comments>http://borkwarellc.wordpress.com/2011/10/06/bummer/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 15:36:14 +0000</pubDate>
		<dc:creator>Mark Dalrymple</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://borkwarellc.wordpress.com/?p=250</guid>
		<description><![CDATA[I got the news on an iphone last night riding to rehearsal.  Today I&#8217;m on an iPad and two MacBookPros for doing my daily work.  Some of my most joyous times in my youth were spent in front of an Apple ][, then an Apple //e. I&#8217;ve been to a bunch of SteveNotes.  The RDF [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=250&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I got the news on an iphone last night riding to rehearsal.  Today I&#8217;m on an iPad and two MacBookPros for doing my daily work.  Some of my most joyous times in my youth were spent in front of an Apple ][, then an Apple //e.</p>
<p>I&#8217;ve been to a bunch of SteveNotes.  The RDF was real.  I always recommended WWDC (and MacWorld) newtimers  to do at least one SteveNote.  Now we can just reminisce.</p>
<p>The thing that&#8217;s really impressed me about Post-NeXT Apple is the quality of people attracted to, and kept by, the company.  I have friends inside of the The Fruit, all of whom are amazingly awesome.  Curtis. Zach. Evan. Ben. Bill. Clark. Chris. Dave. John.  And any others I&#8217;ve forgotten.  It&#8217;s a true testament to the leadership that such talent has been assembled.</p>
<p>I never met the man.  I did pass within 30 feet of him on the Google campus a couple of years before.  I was helping move 200 pounds of homebrew for a tech talk, and saw someone sitting under a tree chatting with someone else.  I asked my companion &#8220;is that&#8230;&#8221;  &#8221;yes it is&#8221;  &#8221;whoa&#8221;.  And we went on our merry way.</p>
<p>I&#8217;m gonna head over to <a title="folklore.org" href="http://folklore.org/index.py">folklore.org</a> and read some stories now.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/borkwarellc.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/borkwarellc.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/borkwarellc.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/borkwarellc.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/borkwarellc.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/borkwarellc.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/borkwarellc.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/borkwarellc.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/borkwarellc.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/borkwarellc.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/borkwarellc.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/borkwarellc.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/borkwarellc.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/borkwarellc.wordpress.com/250/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=250&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://borkwarellc.wordpress.com/2011/10/06/bummer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bdfaf235f8338d6b577138a55817d3d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MarkD</media:title>
		</media:content>
	</item>
		<item>
		<title>Speaking in Little Rock, AR October 11</title>
		<link>http://borkwarellc.wordpress.com/2011/10/04/speaking-in-little-rock-ar-october-11/</link>
		<comments>http://borkwarellc.wordpress.com/2011/10/04/speaking-in-little-rock-ar-october-11/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 01:02:08 +0000</pubDate>
		<dc:creator>Mark Dalrymple</dc:creator>
				<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">https://borkwarellc.wordpress.com/?p=247</guid>
		<description><![CDATA[Just a quick note for anyone who hasn&#8217;t heard yet &#8211; I&#8217;ll be speaking at Apple Rock on Tuesday, October 11. Location is Pulaski Academy&#8217;s Murphy Theater. The topic is mobile development compared to the desktop. If you&#8217;re in central Arkansas, please stop by and say hi.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=247&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just a quick note for anyone who hasn&#8217;t heard yet &#8211; I&#8217;ll be speaking at <a href="http://applerock.org/">Apple Rock</a> on Tuesday, October 11. Location is Pulaski Academy&#8217;s Murphy Theater. The topic is mobile development compared to the desktop. If you&#8217;re in central Arkansas, please stop by and say hi.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/borkwarellc.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/borkwarellc.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/borkwarellc.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/borkwarellc.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/borkwarellc.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/borkwarellc.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/borkwarellc.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/borkwarellc.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/borkwarellc.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/borkwarellc.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/borkwarellc.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/borkwarellc.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/borkwarellc.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/borkwarellc.wordpress.com/247/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=247&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://borkwarellc.wordpress.com/2011/10/04/speaking-in-little-rock-ar-october-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bdfaf235f8338d6b577138a55817d3d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MarkD</media:title>
		</media:content>
	</item>
		<item>
		<title>My First App: Class Builder</title>
		<link>http://borkwarellc.wordpress.com/2011/08/16/my-first-app-class-builder/</link>
		<comments>http://borkwarellc.wordpress.com/2011/08/16/my-first-app-class-builder/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 18:02:30 +0000</pubDate>
		<dc:creator>Mark Dalrymple</dc:creator>
				<category><![CDATA[cycling]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">https://borkwarellc.wordpress.com/?p=241</guid>
		<description><![CDATA[My first App got accepted into the AppStore yesterday &#8211; Cycling Fusion&#8217;s Class Builder™. Woot! Amazingly enough, it went through the approval process without a peep. There&#8217;s screen shots and tutorial videos (some still in the making &#8211; didn&#8217;t expect AppStore approval so quickly) at the link. And it&#8217;s at the AppStore. Class Builder is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=241&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="float:right;" title="class-builder-beauty.png" src="http://borkwarellc.files.wordpress.com/2011/08/class-builder-beauty.png?w=600&#038;h=317" border="0" alt="Class builder beauty" width="600" height="317" /></p>
<p>My first App got accepted into the AppStore yesterday &#8211; Cycling Fusion&#8217;s <a href="http://www.cyclingfusion.com/classbuilder/">Class Builder</a>™. Woot! Amazingly enough, it went through the approval process without a peep. There&#8217;s screen shots and tutorial videos (some still in the making &#8211; didn&#8217;t expect AppStore approval so quickly) at the link. And it&#8217;s at the <a href="http://itunes.apple.com/us/app/class-builder/id456067264?ls=1&amp;mt=8">AppStore</a>.</p>
<p>Class Builder is a tool for Indoor Cycling (a.k.a. &#8220;Spinning®&#8221;) instructors to lead better classes. Rather than juggling an ipod, sheets of paper or 3&#215;5 cards, and a stopwatch; instructors can plug their Device into the club sound system, run the class, and have cues pop up at the proper time during the class. They can also configure pre-class and post-class music for ambience before and afterwards. If the club has a projector, the instructor can plug their Device into the projector and show everyone the ride profile, along with additional information like current cadence / power / HeartZone®. A slideshow of photos can be shown during the pre-class time to help set the mood.</p>
<p>Despite &#8220;Class&#8221; in the name, this has nothing to do with programming.</p>
<p>Folks have asked me what I&#8217;ve been up to in the year-and-change since I left Google to work with Cycling Fusion. This is it, and the usual billion other things that go on when you work at a startup (along with the major update to <em>AMOSXP</em>)</p>
<p>The code is pretty much all mine, end-to-end. 13,000 non-comment / non-whitespace / non-brace LoC, 84 classes, 32 html files, and 677 .pngs. Not huge, but respectable. It was my first time really to work on something small enough that could be coded by a single programmer &#8211; usually I work on behind-the-scenes stuff that nobody else wants to touch. App design was by me and Gene Nacey, the fearless leader of Cycling Fusion. Graphic design by Emanuel Rufino and me. Luckily I now have the Photoshop skills to convert between an inspired artist and the user interface, to tone things down or amp them up as needed to fit the demands of the UI.</p>
<p>Class Builder is a part of the overall <a href="http://www.cyclingfusion.com/">Cycling Fusion</a> strategy for bringing the worlds of Indoor and Outdoor cycling together. We&#8217;re revolutionizing Indoor Cycling as we now know it through curriculum and certification, targeted training programs, web-based tools, mobile device apps, licensable music and an online video training library. Our big coming-out party is in the fall. If you&#8217;re into that kind of stuff, come on down to the <a href="http://www.irideindoors.com/">ICI Pro Conference</a> in October and check us out.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/borkwarellc.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/borkwarellc.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/borkwarellc.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/borkwarellc.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/borkwarellc.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/borkwarellc.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/borkwarellc.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/borkwarellc.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/borkwarellc.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/borkwarellc.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/borkwarellc.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/borkwarellc.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/borkwarellc.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/borkwarellc.wordpress.com/241/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=241&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://borkwarellc.wordpress.com/2011/08/16/my-first-app-class-builder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bdfaf235f8338d6b577138a55817d3d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MarkD</media:title>
		</media:content>

		<media:content url="http://borkwarellc.files.wordpress.com/2011/08/class-builder-beauty.png" medium="image">
			<media:title type="html">class-builder-beauty.png</media:title>
		</media:content>
	</item>
		<item>
		<title>The New Phone Books Are Here!  The New Phone Books Are Here!</title>
		<link>http://borkwarellc.wordpress.com/2011/08/15/the-new-phone-books-are-here-the-new-phone-books-are-here/</link>
		<comments>http://borkwarellc.wordpress.com/2011/08/15/the-new-phone-books-are-here-the-new-phone-books-are-here/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 15:56:43 +0000</pubDate>
		<dc:creator>Mark Dalrymple</dc:creator>
				<category><![CDATA[amosxp]]></category>
		<category><![CDATA[Big Nerd Ranch]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">https://borkwarellc.wordpress.com/?p=230</guid>
		<description><![CDATA[It&#8217;s been a while in the making, but Advanced Mac OS X Programming 3 / The Big Nerd Ranch Guide has finally started trickling out to folks.  I got my Author Copies today.  WOOOO!  You can see Vikki posing with the new edition.  Everything on the internet is improved by adding a cat. This book [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=230&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="float:right;" title="vikki-book.jpg" src="http://borkwarellc.files.wordpress.com/2011/08/vikki-book.jpg?w=300&#038;h=292" border="0" alt="Vikki book" width="300" height="292" />It&#8217;s been a while in the making, but <a href="http://www.amazon.com/Advanced-Mac-OS-Programming-Guides/dp/0321706250/">Advanced Mac OS X Programming 3 / The Big Nerd Ranch Guide</a> has finally started trickling out to folks.  I got my Author Copies today.  WOOOO!  You can see Vikki posing with the new edition.  Everything on the internet is improved by adding a cat.</p>
<p>This book is a massive overhaul of the second edition.  I dropped a number of chapters (I&#8217;m pretty sure folks know about version control systems these days), and a number were added (DTrace and GCD anyone?), with pretty much everything edited and improved (bye-bye Shark :-(  Hello Instruments :-) ), covering stuff through 10.6 / iOS 4.  Students taking <a href="http://bignerdranch.com/classes/advanced_mac_os_x">my class at the ranch</a> get <span style="text-decoration:line-through;">to be guinea pigs</span> a sneak peek of the Lion-related material.  It had already been over five years since the second edition, so we decided to go ahead and ship it, and then do a thorough job on the Lion / iOS5 / iCloud stuff in a later edition.  Hopefully not so much later this time.</p>
<p>Speaking of Editing, Susan and Chris Loper from <a href="http://www.intelligentenglish.com/">Intelligent English</a> edited the book and maintained the DocBook-based pipeline of tools.  The second edition did not have an editor, and it shows.  Chris wrangled the tools, and thanks to Susan&#8217;s work I&#8217;m quite proud of the third edition, the quality of the writing, and the quality of the index (another second edition sore spot).</p>
<p>These things make great Labor Day gifts.  Be sure to order several for the children.  I&#8217;ll have a couple with me at CocoaHeads/Pittsburgh this week to give away.</p>
<p><strong>Edit2</strong>: Gaige Paulsen pointed out that it&#8217;s already available in the iBooks / Kindle stores.  You can snarf the free sample and check out the table of contents.</p>
<p><strong>Edit1</strong>: Folks have asked what&#8217;s new (skimming down the ToC &#8211; I&#8217;ve been living inside this thing, and teaching out of it for five years now&#8230;)</p>
<ul>
<li>ObjC 2.0 stuff, properties, etc</li>
<li>Blocks</li>
<li>64-Bit computing</li>
<li>getopt_long</li>
<li>lib/otool</li>
<li>Garbage Collection</li>
<li>Debugging techniques</li>
<li>DTrace</li>
<li>Overhaul of Performance Tuning</li>
<li>Instruments</li>
<li>NSFileManager got a complete overhaul</li>
<li>IPv6, overhaul of the code</li>
<li>CFHost</li>
<li>FSEvents</li>
<li>Operations</li>
<li>GCD</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/borkwarellc.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/borkwarellc.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/borkwarellc.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/borkwarellc.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/borkwarellc.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/borkwarellc.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/borkwarellc.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/borkwarellc.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/borkwarellc.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/borkwarellc.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/borkwarellc.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/borkwarellc.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/borkwarellc.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/borkwarellc.wordpress.com/230/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=230&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://borkwarellc.wordpress.com/2011/08/15/the-new-phone-books-are-here-the-new-phone-books-are-here/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bdfaf235f8338d6b577138a55817d3d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MarkD</media:title>
		</media:content>

		<media:content url="http://borkwarellc.files.wordpress.com/2011/08/vikki-book.jpg" medium="image">
			<media:title type="html">vikki-book.jpg</media:title>
		</media:content>
	</item>
		<item>
		<title>Speaking at CocoaConf</title>
		<link>http://borkwarellc.wordpress.com/2011/06/25/speaking-at-cocoaconf/</link>
		<comments>http://borkwarellc.wordpress.com/2011/06/25/speaking-at-cocoaconf/#comments</comments>
		<pubDate>Sat, 25 Jun 2011 22:36:48 +0000</pubDate>
		<dc:creator>Mark Dalrymple</dc:creator>
				<category><![CDATA[conferences]]></category>
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">https://borkwarellc.wordpress.com/?p=225</guid>
		<description><![CDATA[Wanted to let folks know I&#8217;m speaking at CocoaConf, Columbus OH, August 12-13. There&#8217;s a pretty nice lineup of speakers and sessions. Mine about debugging and performance tuning.  Sexy and exciting topics to be sure. For folks in/near the DC area, iOSDevCampDC is happening that same weekend. I wish I could be split in two, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=225&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Wanted to let folks know I&#8217;m speaking at <a href="http://cocoaconf.com/">CocoaConf</a>, Columbus OH, August 12-13. There&#8217;s a pretty nice lineup of speakers and sessions. Mine about debugging and performance tuning.  Sexy and exciting topics to be sure.</p>
<p>For folks in/near the DC area, <a href="http://iosdevcampdc.com/">iOSDevCampDC</a> is happening that same weekend. I wish I could be split in two, because they&#8217;ve got some good speakers as well.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/borkwarellc.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/borkwarellc.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/borkwarellc.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/borkwarellc.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/borkwarellc.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/borkwarellc.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/borkwarellc.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/borkwarellc.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/borkwarellc.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/borkwarellc.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/borkwarellc.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/borkwarellc.wordpress.com/225/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/borkwarellc.wordpress.com/225/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/borkwarellc.wordpress.com/225/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=225&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://borkwarellc.wordpress.com/2011/06/25/speaking-at-cocoaconf/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bdfaf235f8338d6b577138a55817d3d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MarkD</media:title>
		</media:content>
	</item>
		<item>
		<title>Scrivener for long-form technical writing</title>
		<link>http://borkwarellc.wordpress.com/2011/06/14/scrivener-for-long-form-technical-writing/</link>
		<comments>http://borkwarellc.wordpress.com/2011/06/14/scrivener-for-long-form-technical-writing/#comments</comments>
		<pubDate>Tue, 14 Jun 2011 22:00:03 +0000</pubDate>
		<dc:creator>Mark Dalrymple</dc:creator>
				<category><![CDATA[amosxp]]></category>
		<category><![CDATA[meta]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">https://borkwarellc.wordpress.com/?p=219</guid>
		<description><![CDATA[  Every now and then I come across a software tool that Gets It. A tool that does everything right. A tool that is a joy to use. VoodooPad is one. MarsEdit is another. Scrivener is the latest to enter the pantheon of My Favorite Apps.  The last three big chunks of new stuff for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=219&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>Every now and then I come across a software tool that Gets It. A tool that does everything right. A tool that is a joy to use. VoodooPad is one. MarsEdit is another. Scrivener is the latest to enter the pantheon of My Favorite Apps.  The last three big chunks of new stuff for AMOSXP(3), (GCD, using Instruments, and a re-write and major updating of NSFileManager) were organized and written in Scrivener, and then later converted to DocBook for inclusion in the book. In all, about 18,000 words worth of work.</p>
<p><a href="http://literatureandlatte.com/">Scrivener</a> is a non-linear text editing environment. Rather than having, say, a chapter of a book in one single Word or Pages document, you can have each section or sub-section of that chapter in an entity. You can organize these entities in an outline, and Scrivener will automatically flow the text as if it were a larger document. Each entity can be as long or as short as it needs to be.</p>
<p>For example, this is the &#8220;binder&#8221;, the outline view, for the new GCD chapter:</p>
<p><img style="display:block;margin-left:auto;margin-right:auto;" title="dispatch-binder.png" src="http://borkwarellc.files.wordpress.com/2011/06/dispatch-binder.png?w=332&#038;h=465" border="0" alt="Dispatch binder" width="332" height="465" /></p>
<p>It has all of the sections of the chapter. If I&#8217;m wanting to edit the text for Dispatch Groups, I can select it in the Binder and focus in only on that text. If I wanted to make sure that the text flows into and out of that section, I can multi-select Time, Dispatch Groups, and Semaphores, and see those three sections of text in one editing panel, with subtle separators between the sections. If I decide that I really should talk about queues before terminology, I can just drag the entity and rearrange things. This feature alone, to me, is worth the low price of admission ($45).  Doing major surgery like that in a single document is fraught with peril.  With Scrivener, it&#8217;s drag and drop.  Don&#8217;t like it?  Undo it.</p>
<p>In addition to seeing the text, and a standard wordprocesor-style outline view (which I don&#8217;t use), there&#8217;s a cool corkboard mode. I originally thought it was silly and gratuitous, but I eventually found it to be a nice (and fun) way to play with the organization of the document. The corkboard mode also shows metadata, such as a high-level description of the section, its draft status, and other things:</p>
<p><img style="display:block;margin-left:auto;margin-right:auto;" title="corkboard.png" src="http://borkwarellc.files.wordpress.com/2011/06/corkboard.png?w=600&#038;h=323" border="0" alt="Corkboard" width="600" height="323" /></p>
<p>￼You can see that most of the chapters are First Draft, meaning that I&#8217;ve gurgitated out the text, did an editing pass, and it&#8217;s ready to make the one-way trip to DocBookland for markup, professional editing, and indexing. A couple are &#8220;In Progress&#8221;, meaning they&#8217;re being worked on but not ready to see the light of day. I can tell at a glance what shape the chapter is in. You can rearrange the document here too. Clicking and dragging the note cards is reflected in the outline view, and hence in your overall body of text.</p>
<p>One of the cool things is the text contents of the note cards. The title of the card matches the title in the Binder view. Simple enough. But you can also have a description, independent from the actual contents of the section. Scrivener gives you a <strong>lot</strong> of opportunity for out-of-band data. With traditional word processing environments, pretty much everything that&#8217;s in the document is part of the flow of text, except maybe things like reviewer&#8217;s comments. Scrivener has lots of opportunities for attaching meaningful metadata to sections: add tags, arbitrary keywords, arbitrary long notes and descriptions. Fiction writers can tag scenes with characters, themes, locations, smells, etc. Later on they can do searches to see all the scenes a particular character is in, or what sections concentrate on badger foreshadowing.  I didn&#8217;t use much metadata stuff, mainly the note card descriptions and the status.</p>
<p>In addition to the &#8220;Draft&#8221; area, which has all the text of your document in the little entity files, you can have any number of non-publishing hierarchies of stuff. I do most of my research in VoodooPad – it&#8217;s where all the raw information goes as I read technical docs, research on the web, and write test apps. Then I bring it over piecemeal into Scrivener as I suss out how things should be organized, and figure out what needs to be included and what can be left on the floor. Here&#8217;s the research part for Instruments:</p>
<p><img style="float:right;" title="research.png" src="http://borkwarellc.files.wordpress.com/2011/06/research.png?w=225&#038;h=328" border="0" alt="Research" width="225" height="328" /></p>
<p>￼Each of the texty-looking icons is the equivalent of a text file. You can have whatever text you want there, formatted how you want, embedded images, etc. Kind of like Keynote, these text docs aren&#8217;t the leaves of the tree. They&#8217;re also the internal nodes. The &#8220;Different Kinds of Instruments&#8221; text doc actually has three child documents too, each with their own text. I can select &#8220;Different Kinds of Templates&#8221;, and see its text, along with the children&#8217;s text in-line (if I want). There are also images, in this case screenshots, that are part of the &#8220;document&#8221; hierarchy. As I was writing the chapter, I&#8217;d be migrating important information from Voodoo Pad, arranging and rearranging entities so the order of presentation made sense. I wrote a fair amount of the chapter&#8217;s prose here. As I took screen shots, I added them as child nodes to the text they would appear in. This way they&#8217;d carried along as I rearranged chapters. It&#8217;s a very powerful, yet easy to use system.</p>
<p>One odd thing about Scrivener is that it is actually fun to write in. No other text editor feels as responsive as Scriv&#8217;s. It&#8217;s hard to describe, but typing just feels better than in other apps. The obligatory full-screen mode is nice when you have to concentrate to Get Things Done.  Also, I am a huge fan of the &#8220;typewriter&#8221; mode. This centers the line being edited in the window. I can have a tall window so I can get lots of context, but when I&#8217;m actually typing and editing, the text is in the sweet-spot of my eyeglasses.</p>
<p>Indie developers would should take a good look at Scrivener&#8217;s website.  I spent a long time reading the materials, and looking at the demo movies.  They&#8217;re all very targeted.  &#8221;Here is a cool feature, here&#8217;s how it fits in with the rest of the product and here is how you would use it.&#8221;  After awhile, I got a very good sense of the how the product worked, and what particular features would make my life easier.  I had zero problems getting Real Work done immediately after download.</p>
<p>So, if you&#8217;re into any kind of long-form writing, whether it be novels for NaNoWriMo or technical books, or even the occasional complicated blog post, I recommend you check out Scrivener. It does so much Right that it is a joy to use.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/borkwarellc.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/borkwarellc.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/borkwarellc.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/borkwarellc.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/borkwarellc.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/borkwarellc.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/borkwarellc.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/borkwarellc.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/borkwarellc.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/borkwarellc.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/borkwarellc.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/borkwarellc.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/borkwarellc.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/borkwarellc.wordpress.com/219/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=219&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://borkwarellc.wordpress.com/2011/06/14/scrivener-for-long-form-technical-writing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bdfaf235f8338d6b577138a55817d3d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MarkD</media:title>
		</media:content>

		<media:content url="http://borkwarellc.files.wordpress.com/2011/06/dispatch-binder.png" medium="image">
			<media:title type="html">dispatch-binder.png</media:title>
		</media:content>

		<media:content url="http://borkwarellc.files.wordpress.com/2011/06/corkboard.png" medium="image">
			<media:title type="html">corkboard.png</media:title>
		</media:content>

		<media:content url="http://borkwarellc.files.wordpress.com/2011/06/research.png" medium="image">
			<media:title type="html">research.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Blast from the past: gprof</title>
		<link>http://borkwarellc.wordpress.com/2011/05/06/blast-from-the-past-gprof/</link>
		<comments>http://borkwarellc.wordpress.com/2011/05/06/blast-from-the-past-gprof/#comments</comments>
		<pubDate>Fri, 06 May 2011 17:56:51 +0000</pubDate>
		<dc:creator>Mark Dalrymple</dc:creator>
				<category><![CDATA[history]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Visix]]></category>

		<guid isPermaLink="false">https://borkwarellc.wordpress.com/?p=212</guid>
		<description><![CDATA[I stumbled across this little tutorial I wrote back in the mists of time, probably around 1996 or 1997.  And it was based on a tutorial I wrote at Visix, probably in 1993 during one of our Optimization Parties.  It describes how to read the output of gprof, a profiling tool available on most unix [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=212&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="https://picasaweb.google.com/borkwareLLC/BonesAndStones"><img style="float:right;" title="dino-rific.jpg" src="http://borkopolis.files.wordpress.com/2011/05/dino-rific.jpg?w=450&#038;h=298" border="0" alt="Dino rific" width="450" height="298" /></a></p>
<p>I stumbled across this little tutorial I wrote back in the mists of time, probably around 1996 or 1997.  And it was based on a tutorial I wrote at Visix, probably in 1993 during one of our Optimization Parties.  It describes how to read the output of gprof, a profiling tool available on most unix systems.  It&#8217;s even still there on Mac OS X.  So you kids with your fancy Shark and Instruments, here&#8217;s what some of your elders used.</p>
<p>gprof is not a GNU tool, even though it has the leading &#8220;g&#8221;.  That &#8220;g&#8221; probably stands for &#8220;call Graph&#8221; profiler. You&#8217;ll need to check your system&#8217;s documentation (e.g. <code>man gprof</code>) for exact instructions on getting gprof to work, but usually it just involves compiling and linking with <code>-pg</code>, running your program, and doing <code>gprof gmon.out &gt; oopack.</code></p>
<p><a href="http://badgertronics.com/writings/gprofsample.html" target="gprof">Here&#8217;s</a> a 300K sample of output from gprof on the Dec Alpha if you want to take a look at it. This particular report is from a run of <a href="http://www.aolserver.com">AOLServer 2.2.1</a> which involved fetching index.html 53,623 times.  The links that follow go to anchors in that 300K sample.  What was I wanting to profile?  I wanted a gut check to make sure that life in the server was sane, and if there were any obvious bottlenecks that maybe I could address if I had the time.  The test was to fetch index.html over and over again.  In this case, around 53,000 times</p>
<p>There&#8217;s 4 parts to gprof output:</p>
<ul>
<li> <a href="http://badgertronics.com/writings/gprofsample.html#Documentation" target="gprof"> Built-in documentation</a>: Short form of everything here,          and more.
</li>
<li> <a href="http://badgertronics.com/writings/gprofsample.html#CallGraph" target="gprof">Call-graph</a>: Each function, who called it, whom it          called, and how many times said calling happened.
</li>
<li> <a href="http://badgertronics.com/writings/gprofsample.html#FlatProfile" target="gprof">Flat profile</a> How many times each function got called, the total times          involved, sorted by time consumed.
</li>
<li> <a href="http://badgertronics.com/writings/gprofsample.html#Index" target="gprof">Index</a>:         Cross-reference of function names and gprof identification numbers numbers. </li>
</ul>
<p>I go to the flat profile section when I first start looking at gprof output.  The big time consumers are usually pretty obvious.  You&#8217;ll notice that each function has a [number] after it.  You can search on that number throughout the file to see who called that function and what functions that function calls.  Emacs incremental search is really nice for bouncing around the file like this.</p>
<p><a href="http://badgertronics.com/writings/gprofsample.html#BigWasters" target="gprof">Here</a> you can see that DString is a big time gobbler:</p>
<pre>  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 17.7       3.72     3.72 13786208     0.00     0.00  Ns_DStringNAppend [8]
  6.1       5.00     1.28   107276     0.01     0.03  MakePath [10]
  2.9       5.60     0.60  1555972     0.00     0.00  Ns_DStringFree [35]
  2.7       6.18     0.58  1555965     0.00     0.00  Ns_DStringInit [36]
  2.3       6.67     0.49  1507858     0.00     0.00  ns_realloc [40]</pre>
<p>Out of 21.05 seconds of total clock time, Ns_DStringNAppend consumed about 4 seconds, or about 18% of the time in and of itself.  It was called 13 million times.</p>
<p>MakePath consumed one and a half seconds itself, and its children consumed three and a half seconds.  At least one individual call to this consumed 0.01, and at least one individual call took a total of 0.03 seconds in MakePath and its children.</p>
<p>Handy tip &#8211; the function numbers in brackets are approximately sorted by time consumption, so a function with a [low number] will generally be more interesting than one with a [high number].</p>
<p>Now that you know that Ns_DStringNAppend is called a bunch of times, this could be a useful target for optimization, I&#8217;d look at <a href="http://badgertronics.com/writings/gprofsample.html#DStringNAppendGraph" target="gprof">its entry</a> in the call graph section.</p>
<p>Before doing that, just for illustration, take a look at <a href="http://badgertronics.com/writings/gprofsample.html#AllocateCa" target="gprof">AllocateCa [33]</a> since it has all of the interesting pieces of the call graph in a more compact size:</p>
<pre>                0.04        0.18   53622/160866      Ns_CacheNewEntry [62]
                0.04        0.18   53622/160866      Ns_CacheDoStat [58]
                0.04        0.18   53622/160866      Ns_CacheLockURL [64]
[33]     3.0    0.11        0.53  160866         AllocateCa [33]
                0.16        0.17  160866/321890      Ns_DStringVarAppend [30]
                0.06        0.00  160866/1555972     Ns_DStringFree [35]
                0.06        0.00  160866/1555965     Ns_DStringInit [36]
                0.04        0.00  160866/1341534     Ns_LockMutex [43]
                0.03        0.00  160866/1341534     Ns_UnlockMutex [53]</pre>
<p>The entries above AllocateCa [33] are the functions that call AllocateCa.  The entries below that are the functions that AllocateCa calls.  There are two numbers separated by a slash: the first number is the number of calls that the function has made, while the second number is the total number of invocations of that function.</p>
<p>In other words, for 160866/321890 Ns_DStringVarAppend [30], AllocateCa called Ns_DStringVarAppend 160866 times.  Across all of AOLServer, Ns_DStringVarAppend was called 321890 times.</p>
<p>Similarly, for 53622/160866 Ns_CacheNewEntry [62], means that Ns_CacheNewEntry called AllocateCa 53622 times, and AllocateCa was called 160866 times total.</p>
<p>So, just by looking at this snippet, you know that the three Ns_Cache functions each call AllocateCa about once per serving of index.html, and that AllocateCa makes a single call to Ns_DStringVarAppend, Ns_DStringFree, etc&#8230; each time.  What&#8217;s also interesting to note is that someone is calling Ns_DStringFree more than Ns_DStringInit.  This may be (or may not) be a bug in AOLServer. You can go see <a href="http://badgertronics.com/writings/gprofsample.html#DStringInit" target="gprof">Ns_DStringInit</a> and <a href="http://badgertronics.com/writings/gprofsample.html#DStringFree" target="gprof">Ns_DStringFree</a> yourself and track down who the culprit is.</p>
<p>The floating &#8220;3.0&#8243; on the left is the percent of total time that the function consumed.  The two columns of numbers are the amount of time (in seconds) that the function consumed itself (AllocateCa took 0.11 seconds of time total to run its own code) and the amount of time in the function&#8217;s children (0.53 seconds were spent in its children)</p>
<p>Getting back to real analysis of <a href="http://badgertronics.com/writings/gprofsample.html#DStringNAppendGraph" target="gprof">DStringNAppend</a>, you can see that <a href="http://badgertronics.com/writings/gprofsample.html#MakePath" target="gprof">MakePath</a> made 50% of the Ns_DStringNAppend calls.  Since you know that there were 53623 fetches of index.html, that means that for each page, MakePath was called twice, and for each call to MakePath, Ns_DStringNAppend was called 64 times.</p>
<p>If one call to MakePath could be elided (since it&#8217;s getting called twice), or if fewer than 64 Ns_DStringNAppends could be done per call, we could see a performance boost.</p>
<p>Just browsing the gprof output can be an illuminating exercise.  If you have a gut feeling that a particular function is a hot spot (say, Ns_LockMutex [43]), you can see the call graph for that function, see if it&#8217;s consuming lots of time, or if it&#8217;s being called a whole bunch.  Here it was called 1,341,534 times, or about 25 times per page serve. Maybe that&#8217;s high.  Maybe that&#8217;s right.  Sometimes a suspected culprit isn&#8217;t there, or you find a surprising time waster.</p>
<p>Because this sample gprof output was done on a Dec Alpha system, there was some suckage involved, such as no explicit time recorded for system calls. So we don&#8217;t know if, for example, select() blocked for a long time on each call.</p>
<p> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/borkwarellc.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/borkwarellc.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/borkwarellc.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/borkwarellc.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/borkwarellc.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/borkwarellc.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/borkwarellc.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/borkwarellc.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/borkwarellc.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/borkwarellc.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/borkwarellc.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/borkwarellc.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/borkwarellc.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/borkwarellc.wordpress.com/212/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=borkwarellc.wordpress.com&amp;blog=1529685&amp;post=212&amp;subd=borkwarellc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://borkwarellc.wordpress.com/2011/05/06/blast-from-the-past-gprof/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bdfaf235f8338d6b577138a55817d3d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MarkD</media:title>
		</media:content>

		<media:content url="http://borkopolis.files.wordpress.com/2011/05/dino-rific.jpg" medium="image">
			<media:title type="html">dino-rific.jpg</media:title>
		</media:content>
	</item>
	</channel>
</rss>
