<?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>Sun, 15 Jan 2012 20:35:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Instaview</title>
		<link>http://blog.roguesheep.com/2011/08/01/instaview/</link>
		<comments>http://blog.roguesheep.com/2011/08/01/instaview/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 23:16:36 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[RogueSheep]]></category>

		<guid isPermaLink="false">http://blog.roguesheep.com/?p=629</guid>
		<description><![CDATA[We&#8217;re happy to announce that Instaview is now available on the Mac App Store. You can also learn more about it here on our website.]]></description>
			<content:encoded><![CDATA[<p><br />
We&#8217;re happy to announce that Instaview is now available on the <a href="http://itunes.apple.com/us/app/instaview/id431353913?ls=1&amp;mt=12&amp;partnerId=30&amp;siteID=Rh4pksU9iI0">Mac App Store</a>.<br />
<br />
You can also learn more about it here on our <a href="http://www.roguesheep.com/instaview.html">website</a>.<br />
<br /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roguesheep.com/2011/08/01/instaview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instaview:  Instagram to the Macs</title>
		<link>http://blog.roguesheep.com/2011/07/28/instaview-instagram-to-the-macs/</link>
		<comments>http://blog.roguesheep.com/2011/07/28/instaview-instagram-to-the-macs/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 16:16:26 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[RogueSheep]]></category>

		<guid isPermaLink="false">http://blog.roguesheep.com/?p=598</guid>
		<description><![CDATA[It&#8217;s time to reveal what we&#8217;ve been working on these last few months, but first a little background. Instagram, an app available for iPhone is in the words of its creators at Burbn, &#8220;a fast, beautiful and fun way to share your life with friends.&#8221; The number of people who have adopted this service as [...]]]></description>
			<content:encoded><![CDATA[<p><br />
<a href="http://blog.roguesheep.com/wp-content/uploads/2011/07/InstaviewIcon.png"><img src="http://blog.roguesheep.com/wp-content/uploads/2011/07/InstaviewIcon.png" alt="" title="InstaviewIcon" class="alignright size-full wp-image-617" /></a>It&#8217;s time to reveal what we&#8217;ve been working on these last few months, but first a little background.  <a href="http://instagram.com">Instagram</a>, an app available for iPhone is in the words of its creators at Burbn, &#8220;a fast, beautiful and fun way to share your life with friends.&#8221;  The number of people who have adopted this service as their favorite way to share photos has been nothing short of amazing.  A <a href="http://techcrunch.com/2011/06/13/instagram-five-million-users/">recent article</a> puts its userbase at 5 million.<br />
<br />
We too have enjoyed using the app over the last several months and have decided to provide a way for Instagram users to view these photos with a native Mac application.<br />
<br />
Instaview allows you to easily set up one or more windows which will each show an Instagram photo stream.  You can choose from several picture frames styles to showcase each photo stream.  An overlay appears when you mouse over each stream window, allowing you to see more information about the photo being displayed.  At that point you&#8217;re a click away from viewing who has liked or commented on the photo, further information about the Instagrammer, the ability to like the photo, follow the contributor or add your own comment.  Our badging feature lets you know when new photos are available for viewing.  Finally, each window can also become its own slideshow which will cycle through its stream&#8217;s photos.<br />
<br />
Instaview will be available Monday August 1st exclusively from the Mac App Store at the introductory price of $5.  Feel free to <a href="mailto:support.instaview@roguesheep.com">contact us</a> for more information.
<br /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roguesheep.com/2011/07/28/instaview-instagram-to-the-macs/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Free Macworld 2011 Expo passes</title>
		<link>http://blog.roguesheep.com/2010/12/02/free-macworld-2011-expo-passes/</link>
		<comments>http://blog.roguesheep.com/2010/12/02/free-macworld-2011-expo-passes/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 02:41:31 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[RogueSheep]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.roguesheep.com/?p=499</guid>
		<description><![CDATA[Here at RogueSheep we are gearing up to spotlight our passion at Macworld 2011 in San Francisco and we would like you to be there too! Admission to the exhibition floor is normally $25, but we have a number of free passes available on a first come, first serve basis. Expo If you haven&#8217;t been to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.macworldexpo.com"><img style="display: block; margin-left: auto; margin-right: auto;" src="http://blog.roguesheep.com/wp-content/uploads/2010/12/MW11_Medialogo.png" border="0" alt="MW11_Medialogo.png" width="300" height="142" /></a></p>

<p>Here at RogueSheep we are gearing up to spotlight our passion at <a href="http://www.macworldexpo.com">Macworld 2011 in San Francisco</a> and we would like you to be there too! Admission to the exhibition floor is normally $25, but we have a number of <strong><em>free</em></strong> passes available on a first come, first serve basis.</p>

<p><strong>Expo</strong></p>

<p>If you haven&#8217;t been to Macworld yet, this is a great opportunity to come check it out. The expo hall is full of exciting products and applications. You&#8217;ll be surprised at the sheer number of interesting apps, accessories and books you have probably never encountered before that await you on the show floor. It is also great chance to meet and talk to some of your favorite developers and media personalities in the Apple community.</p>

<p><strong>Conference</strong></p>

<p>In addition to the expo, Macworld 2011 hosts a plethora of conference and training sessions for Apple enthusiasts and professionals. This year there will be a full track for IT folks working with Apple products. There is also a user focused conference with sessions on MacOS, content creation, and small business. The early bird discount for conference sessions ends tomorrow, December 3rd, 2011. If you are thinking of attending, be sure and register now!</p>

<p><strong>Free Pass</strong></p>

<p>Getting a free pass from RogueSheep is simple. Just email us at <a href="mailto:macworld2011@roguesheep.com">macworld2011@roguesheep.com</a> and we will get you set up. Hope to see you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roguesheep.com/2010/12/02/free-macworld-2011-expo-passes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scholarly Shepherding</title>
		<link>http://blog.roguesheep.com/2010/09/24/scholarly-shepherding/</link>
		<comments>http://blog.roguesheep.com/2010/09/24/scholarly-shepherding/#comments</comments>
		<pubDate>Sat, 25 Sep 2010 00:01:03 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.roguesheep.com/?p=475</guid>
		<description><![CDATA[Most of the time our little flock is heads down, creating new apps and software solutions. On occasion, though, we do find the time to pursue other activities of interest. One common extracurricular theme of late has been continuing education. UW &#8211; IPhone and Cocoa Development Last year I was fortunate to be given the [...]]]></description>
			<content:encoded><![CDATA[<p>Most of the time our little flock is heads down, creating new apps and software solutions. On occasion, though, we do find the time to pursue other activities of interest. One common extracurricular theme of late has been continuing education.</p>

<p>
</p><p><strong>UW &#8211; IPhone and Cocoa Development</strong></p>
<p>Last year I was fortunate to be given the opportunity to teach Cocoa programming through the University of Washington&#8217;s Professional and Continuing Education department. With help of an <a href="http://www.pce.uw.edu/prog.aspx?id=4074&amp;terms=cocoa">all-star advisory board</a>, we managed to create a very unique three-course program. Students with solid prior programming experience were taught the ins and outs of MacOS and iOS development and earned a handsome certificate after 30 weeks of study across 3 quarters.</p>
<p>We have had a fantastic response to the program. In our first year we filled two separate sections to capacity. Students completing the program have been overwhelmingly positive in their assessment. Several already have apps in the store or have started career changes based on the knowledge they gained. It has also been a great experience for the instructors to grow our own skills and be able to pass some wisdom on to a new breed of Cocoa developers.</p>
<p>Our certificate program is going for another round again this year. Both <a href="http://www.pce.uw.edu/bio.aspx?id=2755">Hal</a> and myself are returning to teach the MacOS and Advanced courses respectively. We are also adding two new faces to the instructor team for the iOS-focused class. Luke Adamson is a veteran Cocoa developer, having worked for <a href="http://www.omnigroup.com/">The Omni Group</a> and his own Cocoa consulting company for years. Luke will be joined by <a href="http://corporationunknown.com/blog/">Paul Goracke</a>, who has been programming Apple frameworks since back in the CodeWarrior days. The program is going to be even better this year and I can&#8217;t wait to see the student response.</p>
<p>If you are in the Seattle area and want to start your mastery of the Cocoa platforms I recommend you give our program a look. Our downtown Seattle session is now wait-listed, but the Bellevue session that starts in Winter still has spots. You can apply <a href="http://www.pce.uw.edu/prog.aspx?id=4074&amp;terms=cocoa">here</a>. Hope I see you in class this Spring!</p>
<p><strong>HTML5 Mobile Web Development</strong></p>
<p>In addition to all this Cocoa learn&#8217;n, our very own Jake Carter is teaching a course of his own. HTML5 is the new hotness and Jake is your Jedi Master, ready to guide you in the ways of CSS3 on mobile platforms. I&#8217;ve seen some of the cool demos Jake has worked up and I&#8217;m sure this class is going to be great. If you are interested in mobile web development you can&#8217;t afford not to dive in and attend this <strong>FREE</strong> course!</p>
<p>Jake&#8217;s class is a live, 10-session, online offering through O&#8217;Reilly that starts in October. If you can&#8217;t make the online sessions, you can purchase a video edition after. Find out all the details and sign up <a href="http://training.oreilly.com/html5mobile/">here</a>. Did I mention, it is <strong>FREE</strong>?</p>
<div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.roguesheep.com/2010/09/24/scholarly-shepherding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Acorn version 2.5</title>
		<link>http://blog.roguesheep.com/2010/09/17/acorn-version-2-5/</link>
		<comments>http://blog.roguesheep.com/2010/09/17/acorn-version-2-5/#comments</comments>
		<pubDate>Sat, 18 Sep 2010 00:25:19 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Macintosh]]></category>

		<guid isPermaLink="false">http://blog.roguesheep.com/?p=473</guid>
		<description><![CDATA[Our colleagues over at Flying Meat have just released an update to their respected Mac OS X image editing app, Acorn. The new version adds Layer Mask functionality similar to what you would find in Photoshop. Acorn is a real bargain considering the price for all the power it packs. Be sure to check it [...]]]></description>
			<content:encoded><![CDATA[<p>Our colleagues over at <a href="http://flyingmeat.com/">Flying Meat</a> have just released an update to their respected Mac OS X image editing app, <a href="http://flyingmeat.com/acorn/">Acorn</a>. The new version adds Layer Mask functionality similar to what you would find in Photoshop.</p>

<p>Acorn is a real bargain considering the price for all the power it packs. Be sure to check it out if you are in the market for a capable image editor for your Mac.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roguesheep.com/2010/09/17/acorn-version-2-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>
	</channel>
</rss>

