<?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>Inside RogueSheep &#187; Macintosh</title>
	<atom:link href="http://blog.roguesheep.com/category/macintosh/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.roguesheep.com</link>
	<description>Behind the scenes with the sheep</description>
	<lastBuildDate>Thu, 15 Jul 2010 20:17:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Acorn and JSTalk</title>
		<link>http://blog.roguesheep.com/2010/03/27/acorn-and-jstalk/</link>
		<comments>http://blog.roguesheep.com/2010/03/27/acorn-and-jstalk/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 21:25:52 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Postage]]></category>

		<guid isPermaLink="false">http://blog.roguesheep.com/?p=357</guid>
		<description><![CDATA[Last month when planning for exhibiting our iPhone apps at Macworld Expo, we decided to use the fabulous services at MOO to create promotional materials to hand out at the show. We wanted to have a a simple way for attendees to take something with them with as a reminder of our iPhone apps. We [...]]]></description>
			<content:encoded><![CDATA[<p>Last month when planning for exhibiting <a href="http://apps.roguesheep.com/">our iPhone apps</a> at Macworld Expo, we decided to use the fabulous services at <a href="http://us.moo.com/en/">MOO</a> to create promotional materials to hand out at the show. We wanted to have a a simple way for attendees to take something with them with as a reminder of our iPhone apps. We also needed a method to hand out iTunes App Store promotional codes that could be used to redeem copies after the attendees went home.</p>

<p>Moo&#8217;s MiniCards were very affordable and sized just right for our purposes: 
</p>

<div style="text-align:center;"><img src="http://blog.roguesheep.com/wp-content/uploads/2010/03/Macworld-MooCards-Blog.png" alt="Macworld MooCards Blog.png" border="0" width="400" height="198" /></div>

<p>They are sized small enough that its not a burden to carry around the conference. Not everyone at Macworld wants to load up a bag full of chotskies, schwag and product materials! We found the MiniCard&#8217;s appearance and quality really attracted the attention of attendees. Also, critical to our needs each card can have one side that con be printed with a separate image. Perfect for making individual cards each have a unique promo code. 
</p>

<p>Apple allots developers 50 promotional codes per version of their application. In total we had four versions of Postage plus, SnoGlobe and RoseGlobe that we wanted to make a full set of 50 moo cards with a promo code on the back for. That was <strong>300</strong> unique images we needed to make and upload! Certainly a tedious process at best.</p>

<p>Lucky for us, we had some automation magic in our toolchest thanks to Flying Meat&#8217;s image editor <a href="http://flyingmeat.com/acorn/">Acorn</a> and <a href="http://shapeof.com/">Gus&#8217;s</a> excellent new technology project <a href="http://jstalk.org/">JSTalk</a>. While there are plenty of Mac OS graphics tools that support AppleScript for automation, I have to be completely honest here. Every time I try to use AppleScript I find myself struggling with the syntax and terminology. Frequently I just give up and do whatever I was trying to accomplish manually after banging my head on the keyboard for a few hours.</p>

<p>JSTalk exposes Cocoa frameworks and applications for scripting and automation using JavaScript. It also performs some preprocessor shenanigans so you can write JavaScript that looks a lot like Objective-C. Being an Objective-C programmer for a good number of years now, I find this absolutely charming. I don&#8217;t have to bootstrap myself into learning a new language, especially not some crazy english-language hybrid that demoralizes me for weeks at time after it beats me over the head with my apparent lack of basic English language literacy.</p>

<p>While Acorn has built-in support for JSTalk, Gus has made it easy for other applications to add support as well. JSTalk also allows other applications without support to be automated using the Script Bridge.</p>

<p>To create the backs for our MiniCards, we started with a the image of the layout of the back of the card. Brad left an empty spot for the text :
</p>

<div style="text-align:center;"><img src="http://blog.roguesheep.com/wp-content/uploads/2010/03/PostageMooCardsBack.png" alt="PostageMooCardsBack.png" border="0" width="437" height="189" /></div>

<p>Then I created a JSTalk script to drive Acorn. First the script reads in the promo codes from the file that iTunes Connect creates for you when you generate promo codes. Then for each of the codes, the script opens our layout image, creates a new text layer with the promo code and styles it properly. Finally, it saves the newly created image with a proper name.</p>

<p>Here is what the script looks like :</p>

<div class="codecolorer-container objc blackboard codecolorer-noborder" style="border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">var acorn <span style="color: #002200;">=</span> JSTalk.application<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">&quot;Acorn&quot;</span><span style="color: #002200;">&#41;</span>;<br />
<br />
var codes <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> stringWithContentsOfFile<span style="color: #002200;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;/Users/twenty3/Desktop/SnoGlobePromoCodes.txt&quot;</span><span style="color: #002200;">&#93;</span>;<br />
var lines <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>codes componentsSeparatedByCharactersInSet<span style="color: #002200;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSCharacterSet_Class/"><span style="color: #400080;">NSCharacterSet</span></a> newlineCharacterSet<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;<br />
<br />
var sourceFilePath <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">&quot;/Users/twenty3/Desktop/&quot;</span><br />
var sourceFileName <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">&quot;SnoGlobeMooCardsBack&quot;</span>;<br />
var sourceFileExtension <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">&quot;.png&quot;</span>;<br />
var destinationFolder <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">&quot;SnoGlobeMooBacks/&quot;</span>;<br />
<br />
<span style="color: #a61390;">for</span> <span style="color: #002200;">&#40;</span>i<span style="color: #002200;">=</span><span style="color: #2400d9;">0</span>; i&lt;<span style="color: #002200;">&#91;</span>lines length<span style="color: #002200;">&#93;</span>; i<span style="color: #002200;">++</span><span style="color: #002200;">&#41;</span><br />
<span style="color: #002200;">&#123;</span><br />
&nbsp; &nbsp; var doc <span style="color: #002200;">=</span> acorn.open<span style="color: #002200;">&#40;</span>sourceFilePath<span style="color: #002200;">+</span>sourceFileName<span style="color: #002200;">+</span>sourceFileExtension<span style="color: #002200;">&#41;</span>;<br />
<br />
&nbsp; &nbsp; var layer <span style="color: #002200;">=</span> doc.layers<span style="color: #002200;">&#40;</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#91;</span><span style="color: #2400d9;">0</span><span style="color: #002200;">&#93;</span>;<br />
&nbsp; &nbsp; var wc <span style="color: #002200;">=</span> doc.windowController<span style="color: #002200;">&#40;</span><span style="color: #002200;">&#41;</span>;<br />
<br />
&nbsp; &nbsp; var shapeLayer <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>wc addNewShapeLayer<span style="color: #002200;">:</span><span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span>;<br />
<br />
&nbsp; &nbsp; var textArea <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>shapeLayer addTextWithBounds<span style="color: #002200;">:</span>NSMakeRect<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">526</span>, <span style="color: #2400d9;">106</span>, <span style="color: #2400d9;">264</span>, <span style="color: #2400d9;">40</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;<br />
<br />
&nbsp; &nbsp; var promoCodeText &nbsp; <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSMutableAttributedString_Class/"><span style="color: #400080;">NSMutableAttributedString</span></a> alloc<span style="color: #002200;">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; initWithString<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>lines objectAtIndex<span style="color: #002200;">:</span>i<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;<br />
&nbsp; &nbsp; var promoCodeFont &nbsp; <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSFont_Class/"><span style="color: #400080;">NSFont</span></a> fontWithName<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Menlo-Bold&quot;</span> size<span style="color: #002200;">:</span><span style="color: #2400d9;">30</span><span style="color: #002200;">&#93;</span>;<br />
&nbsp; &nbsp; var promoCodeColor&nbsp; <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSColor_Class/"><span style="color: #400080;">NSColor</span></a> whiteColor<span style="color: #002200;">&#93;</span>;<br />
&nbsp; &nbsp; var promoStyle&nbsp; &nbsp; &nbsp; <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSMutableParagraphStyle_Class/"><span style="color: #400080;">NSMutableParagraphStyle</span></a> defaultParagraphStyle<span style="color: #002200;">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mutableCopyWithZone<span style="color: #002200;">:</span>NSDefaultMallocZone<span style="color: #002200;">&#93;</span>;<br />
<br />
&nbsp; &nbsp; promoStyle.setAlignment<span style="color: #002200;">&#40;</span>NSCenterTextAlignment<span style="color: #002200;">&#41;</span>;<br />
<br />
&nbsp; &nbsp; var promoCodeAttributes <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/"><span style="color: #400080;">NSDictionary</span></a> dictionaryWithObjectsAndKeys<span style="color: #002200;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; promoCodeFont, NSFontAttributeName,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; promoCodeColor, NSForegroundColorAttributeName,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #a61390;">nil</span> <span style="color: #002200;">&#93;</span>;<br />
<br />
&nbsp; &nbsp; <span style="color: #002200;">&#91;</span>promoCodeText setAttributes<span style="color: #002200;">:</span>promoCodeAttributes<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; range<span style="color: #002200;">:</span>NSMakeRange<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">0</span>,<span style="color: #002200;">&#91;</span>promoCodeText length<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #002200;">&#91;</span>textArea setContents<span style="color: #002200;">:</span> promoCodeText<span style="color: #002200;">&#93;</span>;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; doc.dataOfType<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">&quot;public.png&quot;</span><span style="color: #002200;">&#41;</span>.writeToFile<span style="color: #002200;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sourceFilePath <span style="color: #002200;">+</span> destinationFolder <span style="color: #002200;">+</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sourceFileName <span style="color: #002200;">+</span> i <span style="color: #002200;">+</span> sourceFileExtension <span style="color: #002200;">&#41;</span>;<br />
&nbsp; &nbsp; doc.close<span style="color: #002200;">&#40;</span><span style="color: #002200;">&#41;</span>;<br />
<span style="color: #002200;">&#125;</span><br />
<br />
<span style="color: #002200;">&#91;</span>acorn activate<span style="color: #002200;">&#93;</span>;</div></div>

<p>Now, I got a little bi-polar there going back and forth between Objective-C style brackets and plain ol&#8217; JavaScript style function calls. You can use whatever syntax makes the most sense to you personally though. </p>

<p>And here is a sample of one of the generated images:</p>

<div style="text-align:center;"><img src="http://blog.roguesheep.com/wp-content/uploads/2010/03/PostageMooCardsBack0.png" alt="PostageMooCardsBack0.png" border="0" width="437" height="189" /></div>

<p>Using this technique we generated all 300 images in something like 10 minutes. Add a little time to that to create the script and it added up to a whole lot of time saved. Plus, it was way more fun than the copy/paste dance it would have taken to do this by hand. </p>

<p>Count me in as a fan of <a href="http://jstalk.org/">JSTalk</a>. Its such a cool technology and Gus has been kind enough to develop and distribute it completely free of charge! If you develop Mac apps you should think about dropping in support for JSTalk. If you have the need to do some automated image manipulation or creation, Acorn + JSTalk may be the perfect tool to tackle your problem. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roguesheep.com/2010/03/27/acorn-and-jstalk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BusyCal Public Beta</title>
		<link>http://blog.roguesheep.com/2009/07/27/busycal-public-beta/</link>
		<comments>http://blog.roguesheep.com/2009/07/27/busycal-public-beta/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 17:47:32 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Macintosh]]></category>

		<guid isPermaLink="false">http://blog.roguesheep.com/?p=108</guid>
		<description><![CDATA[Local Seattle software developer and friend of the sheep, BusyMac, have just released their latest creation into public beta. BusyCal is a fully integrated replacement for iCal.

 We use iCal heavily around here and to be honest, it feels rather neglected these days. I&#8217;ve been using BusyCal for a little while now and I can [...]]]></description>
			<content:encoded><![CDATA[<p>Local Seattle software developer and friend of the sheep, <a href="http://www.busymac.com/index.html">BusyMac</a>, have just released their latest creation into public beta. <strong>BusyCal</strong> is a fully integrated replacement for iCal.</p>

<p> We use iCal heavily around here and to be honest, it feels rather neglected these days. I&#8217;ve been using BusyCal for a little while now and I can report if you are looking for an iCal replacement you&#8217;ll not likely be disappointed. My two favorite features so far include publish and subscribe of calendars on the LAN and an event editing interface that is so much smoother than the changes brought to iCal with Leopard. I also love the live weather integration.</p>

<p>Head over to <a href="http://www.busymac.com/index.html">BusyMac&#8217;s site</a> and sign up for the public beta and get some relief for your calendaring ailments.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roguesheep.com/2009/07/27/busycal-public-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UW Course on Mac and iPhone programming</title>
		<link>http://blog.roguesheep.com/2009/07/15/uw-course-on-mac-and-iphone-programming/</link>
		<comments>http://blog.roguesheep.com/2009/07/15/uw-course-on-mac-and-iphone-programming/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 15:39:19 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.roguesheep.com/?p=102</guid>
		<description><![CDATA[The University of Washington is now offering a certificate course in Macintosh and iPhone programming. 

This program is offered in 3 parts, with the first class that introduces objective-C and Cocoa starting this fall. Our good friend Hal Mueller is teaching the first course. The advisory board for this program is comprised of many of [...]]]></description>
			<content:encoded><![CDATA[<p>The University of Washington is now offering a <a href="http://www.extension.washington.edu/ext/certificates/iph/iph_gen.asp">certificate course in Macintosh and iPhone programming</a>. </p>

<p>This program is offered in 3 parts, with the first class that introduces objective-C and Cocoa starting this fall. Our good friend <a href="http://halmueller.wordpress.com/">Hal Mueller</a> is teaching the first course. The <a href="http://www.extension.washington.edu/ext/certificates/iph/iph_brd.asp">advisory board</a> for this program is comprised of many of the best and well-known Mac and iPhone developers in the region, so you know the content is going to be great.</p>

<p>If you are in the Seattle area and looking to become a master of Cocoa and Objective-C, you don&#8217;t want to miss out on this opportunity. I know that the classes will fill up quick, so apply soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roguesheep.com/2009/07/15/uw-course-on-mac-and-iphone-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spike Wants You&#8230;</title>
		<link>http://blog.roguesheep.com/2008/04/22/spike-wants-you/</link>
		<comments>http://blog.roguesheep.com/2008/04/22/spike-wants-you/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 01:24:45 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[InDesign]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[RogueSheep]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blog.roguesheep.com/2008/04/22/spike-wants-you/</guid>
		<description><![CDATA[for the RogueSheep Army. 

Things are really starting to cook around here lately. We have a variety of new clients discussing fresh projects and long-term partners coming back with some exciting plans for the remainder of this year. We are also fully engaged in work on our own technology platform that is centered around automated [...]]]></description>
			<content:encoded><![CDATA[<p>for the RogueSheep Army. </p>

<p>Things are really starting to cook around here lately. We have a variety of new clients discussing fresh projects and long-term partners coming back with some exciting plans for the remainder of this year. We are also fully engaged in work on our own technology platform that is centered around automated publishing. It has been a busy year and I think I can still see January back there not too far down the timeline.  </p>

<p>Those of you that know me, know that I hate saying no. Having to turn down excellent opportunities and slowing down work on our internal projects one to many times has finally tipped the balance. We are ready to shepherd in a new engineer in the Seattle office in the very near future. The full details and job application form are available <a href="http://jobs.roguesheep.com">online</a>.</p>

<p>Send us your résumé if you are interested or pass the word on to anyone you know that might be a good fit. I&#8217;m really looking forward to seeing a few fresh muzzles around here. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roguesheep.com/2008/04/22/spike-wants-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ask Apple to Support Virtualization on the Desktop</title>
		<link>http://blog.roguesheep.com/2008/03/22/ask-apple-to-support-virtualization-on-the-desktop/</link>
		<comments>http://blog.roguesheep.com/2008/03/22/ask-apple-to-support-virtualization-on-the-desktop/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 16:17:06 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.roguesheep.com/2008/03/22/ask-apple-to-support-virtualization-on-the-desktop/</guid>
		<description><![CDATA[Craig Hockenberry, developer of fine applications such as Twitterrific and other goodies over at the Icon Factory has called on developers to join his crusade to convince Apple to support virtualization on the desktop.

Currently, Apple&#8217;s licensing restrictions for the Mac OS prevent the desktop client from being used as the guest operating system in a [...]]]></description>
			<content:encoded><![CDATA[<p>Craig Hockenberry, developer of fine applications such as Twitterrific and other goodies over at the <a href="http://iconfactory.com/home">Icon Factory</a> has called on developers to join his crusade to convince Apple to support virtualization on the desktop.</p>

<p>Currently, Apple&#8217;s licensing restrictions for the Mac OS prevent the desktop client from being used as the guest operating system in a virtual machine. Because of this limitation virtualization tools such as VMWare Fusion or Parallels Desktop prevent you from installing the MacOS into a virtual machine.</p>

<p>This limitation in purely for licensing compliance. With the release of Leopard, Apple has modified the software license so that virtualization is allowed for OS X Server. Both VMWare and Parallels have betas that allow installation of Leopard Server in a virtual machine. This relaxation of the restriction for servers is a step in the right direction. We may even put that to use on our intranet here at RogueSheep.</p>

<p>Still, I believe that nearly all developers can benefit from virtualization of the standard MacOS. Craig makes excellent points about testing in various versions of the OS and easily having parallel installs of your development environments such as Xcode. In our work, we run into even more situations on a regular basis that I wish we could use virtualization for.</p>

<p>We often have multiple projects in progress for several different clients or our own in house development. Frequently, work for a particular client will require all manner of supporting frameworks and libraries as well as specific configuration of InDesign, InCopy and the various Creative Suite applications to enable the proper operation of a workflow environment.</p>

<p>Many times as one project is winding down, a new project is beginning. Sometimes the components required for two projects that any one of us happen to be working on at one time will conflict. Other times the pain comes from just having to juggle the configuration of the development environment and supported applications when switching contexts between projects.</p>

<p>If we could virtualize the MacOS, each project could start with an image that was prepared with our needed development environments and configured properly for the system that is being developed. Only one person would have to do this configuration and the result could be shared with all members of our team. When any one of us was forced to switch projects for a quick bug fix or consultation, it would be as simple as launching the appropriate virtual machine. The benefits to our work and our clients, Apple&#8217;s customers, I think is clear!</p>

<p>I&#8217;m not going to claim I know the exact reasons for Apple&#8217;s restrictive licensing. I will suggest though that I would be absolutely fine with requiring Select or Premier membership in the developer program to gain this support. If Apple wants to work with VMWare so that the only desktop OS that will install virtually are those downloaded as assets from our ADC benefits, I&#8217;m game.</p>

<p>I chatted briefly with the VMWare folks at MacWorld this year. They said they would love to add support for virtualization of the standard Mac OS. They encouraged all of us that need virtualization to contact Apple and let them know about our needs. Personally, I&#8217;ve done just <a href="rdar://problem/5814628">that.</a></p>

<p>If you are developer using a Mac, I urge you to read <a href="http://furbo.org/2008/03/21/vote-for-virtualization/">Craig&#8217;s blog posting</a> and then file your own bug, referencing the bug he notes.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roguesheep.com/2008/03/22/ask-apple-to-support-virtualization-on-the-desktop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coda Developer Screencasts</title>
		<link>http://blog.roguesheep.com/2008/01/27/code-developer-screencasts/</link>
		<comments>http://blog.roguesheep.com/2008/01/27/code-developer-screencasts/#comments</comments>
		<pubDate>Sun, 27 Jan 2008 22:00:45 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blog.roguesheep.com/2008/01/27/code-developer-screencasts/</guid>
		<description><![CDATA[My favorite application for creating web layout and sites has quickly become Panic&#8217;s excellent web-editing swiss army knife, Coda. Before Coda I used to really dread any website duties that fell on my shoulders. Now I sail through those tasks with ease and even, dare I say, enjoyment. 

Steven Frank, Panic co-founder and Mac programming [...]]]></description>
			<content:encoded><![CDATA[<p>My favorite application for creating web layout and sites has quickly become Panic&#8217;s excellent web-editing swiss army knife, <a href="http://www.panic.com/coda/">Coda</a>. Before Coda I used to really dread any website duties that fell on my shoulders. Now I sail through those tasks with ease and even, dare I say, enjoyment. </p>

<p><a href="http://stevenf.com/">Steven Frank</a>, Panic co-founder and Mac programming sage, has recently posted several <a href="http://www.panic.com/coda/developer/">screencasts</a> for web developers seeking an introduction to Coda. If you haven&#8217;t tried Coda yet, these short tutorials will surely excite you into downloading the trial. If you are already tinkering around in the application, you will probably find a few goodies you may not have discovered yet in your personal explorations. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roguesheep.com/2008/01/27/code-developer-screencasts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Iron Coder VII</title>
		<link>http://blog.roguesheep.com/2007/10/31/iron-coder-vii/</link>
		<comments>http://blog.roguesheep.com/2007/10/31/iron-coder-vii/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 22:59:12 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Macintosh]]></category>

		<guid isPermaLink="false">http://blog.roguesheep.com/2007/10/31/iron-coder-vii/</guid>
		<description><![CDATA[Attention Macintosh Programmers : Iron Coder 7 has been scheduled. Clear your weekend and put on your creative-codin&#8217; hat. I think 7 may be my new lucky number&#8230;

Update : IC VII is going to be 9 days long and the Grand Prize is now an 8GB iPod Touch! Thanks to our Seattle brethren at Brain [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Attention Macintosh Programmers</strong> : <a href="http://ironcoder.org">Iron Coder 7</a> has been scheduled. Clear your weekend and put on your creative-codin&#8217; hat. I think 7 may be my new lucky number&#8230;</p>

<p><strong>Update</strong> : IC VII is going to be 9 days long and the Grand Prize is now an 8GB iPod Touch! Thanks to our Seattle brethren at <a href="http://brainmurmurs.com/">Brain Murmurs</a> for providing this enticing booty. Look for the API and theme at 7PM CST on 11.09.2007.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roguesheep.com/2007/10/31/iron-coder-vii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Acorn : innovative Mac OS X image editing</title>
		<link>http://blog.roguesheep.com/2007/10/28/acorn-innovative-mac-os-x-image-editing/</link>
		<comments>http://blog.roguesheep.com/2007/10/28/acorn-innovative-mac-os-x-image-editing/#comments</comments>
		<pubDate>Mon, 29 Oct 2007 05:54:38 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[RogueSheep]]></category>

		<guid isPermaLink="false">http://blog.roguesheep.com/2007/10/28/acorn-innovative-mac-os-x-image-editing/</guid>
		<description><![CDATA[I&#8217;m late to the party as usual, but I&#8217;d be remiss if I didn&#8217;t urge any of you reading that don&#8217;t already know to check out Flying Meat&#8217;s new image editor : Acorn. Acorn is a light-weight bitmap image editor with a focus on ease of use. Gus took a moment to rethink the typical [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m late to the party as usual, but I&#8217;d be remiss if I didn&#8217;t urge any of you reading that don&#8217;t already know to check out Flying Meat&#8217;s new image editor : <a href="http://www.flyingmeat.com/acorn/">Acorn</a>. Acorn is a light-weight bitmap image editor with a focus on ease of use. Gus took a moment to rethink the typical Photoshop interface cloning technique that most alternative editors use as a launching point and has given us something innovative and refreshing.</p>

<p>Rather than pummel you with a plethora of separate floating palettes, Acorn concentrates the tools you need to get your most common tasks done in a single, straightforward palette. Under the hood, Acorn leverages Core Image and the rest of Apple&#8217;s excellent graphics frameworks to bring you excellent performance and a good dose of power.My personal favorite Acorn feature : the filter panel. Flying Meat licensed RogueSheep&#8217;s Core Image filtering library found in our Magma Effects InDesign plug-in for Acorn. Applying image effects in Acorn uses the very same core component found in Magma Effects! There&#8217;s a little sheep in that nut. I&#8217;ll let you in on a secret: there is also a sheepy easter egg in Acorn as well. Good hunting!</p>

<p>Gus tells me Acorn has been doing quite well. The reviews across the web are very favorable. Acorn also enjoyed being in the top 10 of Apple&#8217;s most popular downloads for a good run over at the <a href="http://www.apple.com/downloads/macosx/audio/discoxt.html">Downloads</a> site. If you haven&#8217;t downloaded it yet, be sure to check it out.</p>

<p>I&#8217;m looking forward to seeing what Gus builds on top of this excellent premiere release.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roguesheep.com/2007/10/28/acorn-innovative-mac-os-x-image-editing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
