<?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>RedOchre's Project Page</title>
	<atom:link href="http://redochre.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://redochre.wordpress.com</link>
	<description>follow along as our intrepid geek-wannabe tries to learn some skills</description>
	<lastBuildDate>Tue, 11 Dec 2007 03:53:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='redochre.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>RedOchre's Project Page</title>
		<link>http://redochre.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://redochre.wordpress.com/osd.xml" title="RedOchre&#039;s Project Page" />
	<atom:link rel='hub' href='http://redochre.wordpress.com/?pushpress=hub'/>
		<item>
		<title>RubyCocoa Example: SpeakLine</title>
		<link>http://redochre.wordpress.com/2007/12/10/rubycocoa-example-speakline/</link>
		<comments>http://redochre.wordpress.com/2007/12/10/rubycocoa-example-speakline/#comments</comments>
		<pubDate>Tue, 11 Dec 2007 02:55:21 +0000</pubDate>
		<dc:creator>redochre</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[RubyCocoa]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[hillegrass]]></category>
		<category><![CDATA[nscolorwell]]></category>
		<category><![CDATA[nslog]]></category>
		<category><![CDATA[nsspeechsynthesizer]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[speakline]]></category>

		<guid isPermaLink="false">http://redochre.wordpress.com/2007/12/10/rubycocoa-example-speakline/</guid>
		<description><![CDATA[I&#8217;m working my way through Cocoa Programming for Mac OS X by Aaron Hillegass, which would be the perfect book for what I want to learn, except it&#8217;s using Objective-C and not RubyCocoa. So I&#8217;m getting double the exercise, following along with the Obj-C examples and then translating into RubyCocoa. Today: Chapter 4. The example: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=redochre.wordpress.com&amp;blog=1715261&amp;post=18&amp;subd=redochre&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working my way through <a href="http://www.bignerdranch.com/products/cocoa1.shtml" title="cocoa programming for mac os x">Cocoa Programming for Mac OS X</a> by <a href="http://www.bignerdranch.com/instructors/hillegass.shtml" title="Aaron Hillegass">Aaron Hillegass</a>, which would be the perfect book for what I want to learn, except it&#8217;s using Objective-C and not RubyCocoa.  So I&#8217;m getting double the exercise, following along with the Obj-C examples and then translating into RubyCocoa.  Today: Chapter 4.  The example: a program that will speak a line the user types in.</p>
<p>I won&#8217;t go through the Interface Builder set-up, since it&#8217;s in the book, but the app will look like this:</p>
<p><a href="http://redochre.files.wordpress.com/2007/12/speakline.jpg" title="SpeakLine window"><img src="http://redochre.files.wordpress.com/2007/12/speakline.jpg?w=477" alt="SpeakLine window" /></a></p>
<p>If you&#8217;ve been playing around with Interface Builder, you should see from my code below what needs to be set up.  (oh, and that thing in the bottom left corner is a Color Well)</p>
<p>Make a Cocoa-Ruby Application in XCode.  Set up the nib file as it shows in the book, with one exception: don&#8217;t &#8220;Create Files for AppController&#8221; in Interface Builder, do that later by hand in XCode by adding a new &#8220;Ruby NSObject subclass&#8221; file to the project.  Call it AppController.rb.</p>
<blockquote><p><code><font color="#993300"># the first line of any RubyCocoa file:</font><br />
require 'osx/cocoa'</code></p>
<p><code><font color="#993300"># create the class as a subclass of NSObject</font><br />
class AppController &lt; OSX::NSObject</code></p>
<p><code><font color="#993300"># list the outlets that were created in Interface Builder,<br />
#  they'll be used as variables like @textField</font><br />
ib_outlets :textField, :colorWell</code></p>
<p><code><font color="#993300"># we're going to define an init method, but it's not<br />
# necessary for all applications</font><br />
def init<br />
<font color="#993300"> # when calling a super's method, preceed the method name by super_</font><br />
super_init<br />
<font color="#993300"> # we'll throw a lot of stuff in the log for now,<br />
# it'll show up when the program is run</font><br />
OSX::NSLog("init")<br />
<font color="#993300"> # creating a new variable of type NSSpeechSynthesizer<br />
# with the default system voice</font><br />
@speechSynth = OSX::NSSpeechSynthesizer.alloc.init<br />
<font color="#993300"> # when overriding the init command, make sure to return self:</font><br />
self<br />
end</code></p>
<p><code><font color="#993300"># awakeFromNib is run after everything's initialized, but<br />
# before the user can do anything.  I'm not actually sure<br />
# why both methods are necessary...</font><br />
def awakeFromNib<br />
<font color="#993300"> # setting the color shown in the Color Well to be that of<br />
# the initial contents of textField</font><br />
@colorWell.setColor(@textField.textColor)<br />
end</code></p>
<p><code><font color="#993300"># the method to speak the given text</font><br />
def sayIt(sender)<br />
OSX::NSLog("sayIt")<br />
<font color="#993300"> # get string that the user entered</font><br />
string = @textField.stringValue.to_s<br />
<font color="#993300"> # if it's empty, don't do anything</font><br />
return if string.length == 0<br />
<font color="#993300"> # speak the text</font><br />
@speechSynth.startSpeakingString(string)<br />
end</code></p>
<p><code><font color="#993300"># stop speaking the given text</font><br />
def stopIt(sender)<br />
<font color="#993300"> # here I tried puts intead of NSLog, just to see what the difference was</font><br />
puts("stopIt")<br />
<font color="#993300"> # stop speaking.  simple, yes?</font><br />
@speechSynth.stopSpeaking<br />
end</code></p>
<p><code><font color="#993300"># change the color of the text in the textField based on<br />
# what the user chooses from the Color Well</font><br />
def changeTextColor(sender)<br />
@textField.setTextColor(sender.color)<br />
OSX::NSLog("changing text color")<br />
end</code></p>
<p><code>end</code></p></blockquote>
<p>Build.  Run.  Make your computer say dirty things.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/redochre.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/redochre.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/redochre.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/redochre.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/redochre.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/redochre.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/redochre.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/redochre.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/redochre.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/redochre.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/redochre.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/redochre.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/redochre.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/redochre.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/redochre.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/redochre.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=redochre.wordpress.com&amp;blog=1715261&amp;post=18&amp;subd=redochre&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://redochre.wordpress.com/2007/12/10/rubycocoa-example-speakline/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/17c5ec4f132604066ade9787c520f33a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">redochre</media:title>
		</media:content>

		<media:content url="http://redochre.files.wordpress.com/2007/12/speakline.jpg" medium="image">
			<media:title type="html">SpeakLine window</media:title>
		</media:content>
	</item>
		<item>
		<title>Ruby Example: toRoman</title>
		<link>http://redochre.wordpress.com/2007/12/02/ruby-example-toroman/</link>
		<comments>http://redochre.wordpress.com/2007/12/02/ruby-example-toroman/#comments</comments>
		<pubDate>Mon, 03 Dec 2007 04:02:39 +0000</pubDate>
		<dc:creator>redochre</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[roman]]></category>
		<category><![CDATA[roman numerals]]></category>

		<guid isPermaLink="false">http://redochre.wordpress.com/2007/12/02/ruby-example-toroman/</guid>
		<description><![CDATA[Problem: convert a number to its equivalent in Roman numerals. Solution shows use of cases, array and string manipulation, exception raising, and an &#8220;each&#8221; block. Working through the problem in irb, we start with an array of the Roman numerals: irb(main):001:0&#62; roman_array = ['i', 'v', 'x', 'l', 'c', 'd', 'm'] =&#62; ["i", "v", "x", "l", [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=redochre.wordpress.com&amp;blog=1715261&amp;post=17&amp;subd=redochre&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Problem: convert a number to its equivalent in Roman numerals.</p>
<p>Solution shows use of cases, array and string manipulation, exception raising, and an &#8220;each&#8221; block.</p>
<p>Working through the problem in <code>irb</code>, we start with an array of the Roman numerals:</p>
<blockquote><p><code>irb(main):001:0&gt; roman_array = ['i', 'v', 'x', 'l', 'c', 'd', 'm']<br />
=&gt; ["i", "v", "x", "l", "c", "d", "m"]</code></p></blockquote>
<p>and a given number, <code>num</code>.  For example, set</p>
<blockquote><p><code>irb(main):002:0&gt; num = 2683<br />
=&gt; 2683</code></p></blockquote>
<p>Next, we turn this into an array of characters:</p>
<blockquote><p><code>irb(main):003:0&gt; char_array = num.to_s.split(//)<br />
=&gt; ["2", "6", "8", "3"]</code></p></blockquote>
<p>Because we want to convert the ones column first, then tens etc. until we hit the end of the number, it&#8217;s convenient to reverse the array (instead of traversing it backwards):</p>
<blockquote><p><code>irb(main):004:0&gt; char_array.reverse!<br />
=&gt; ["3", "8", "6", "2"]</code></p></blockquote>
<p>Here I&#8217;m going to throw in a method called <code>trans</code> that translates a single digit into roman numerals.  I pass it a digit and an array with the Roman numerals associated with the correct power of ten (the one, five, and ten).  For example, to translate the &#8220;3&#8243; in the number &#8220;37&#8243;, I call <code>trans(3, ["x", "l", "c"])</code>.  Here&#8217;s the method:</p>
<blockquote><p><code>irb(main):005:0&gt; def trans(passed_num, arr)<br />
irb(main):006:1&gt;   case passed_num<br />
irb(main):007:2&gt;     when 1 then arr[0]<br />
irb(main):008:2&gt;     when 2 then arr[0]*2<br />
irb(main):009:2&gt;     when 3 then arr[0]*3<br />
irb(main):010:2&gt;     when 4 then arr[0]+arr[1]<br />
irb(main):011:2&gt;     when 5 then arr[1]<br />
irb(main):012:2&gt;     when 6 then arr[1]+arr[0]<br />
irb(main):013:2&gt;     when 7 then arr[1]+arr[0]*2<br />
irb(main):014:2&gt;     when 8 then arr[1]+arr[0]*3<br />
irb(main):015:2&gt;     when 9 then arr[0]+arr[2]<br />
irb(main):016:2&gt;     else ''<br />
irb(main):017:2&gt;   end<br />
irb(main):018:1&gt; end<br />
=&gt; nil</code></p></blockquote>
<p>Okay, hoping that makes sense, lets get back to our <code>char_array</code>.  For an element of <code>char_array</code> we can find the correct subarray of <code>roman_array</code> to send to <code>trans</code> because we know that the form of <code>char_array</code> is now [ones, tens, hundreds, thousands].  For the digit at <code>char_array[0]</code> we want to send the subarray <code>roman_array[0,3]</code>.  For <code>char_array[1]</code> we want <code>roman_array[2,3]</code>.  And so on.  So for <code>char_array[i]</code>, we want to pass the subarray <code>roman_array[i*2, 3]</code>.The call, then, to change an element of <code>char_array</code> to its Roman counterpart, is</p>
<blockquote><p><code>char_array[i] = trans(char_array[i].to_i, roman_array[i*2, 3])</code></p></blockquote>
<p>(note: I&#8217;m overwriting the array instead of creating a new array with the Roman numerals, for no real reason at all).We want to do this for each element of <code>char_array</code>, which looks like this:</p>
<blockquote><p><code>irb(main):019:0&gt; char_array.each_index{|i| char_array[i] = trans(char_array[i].to_i, roman_array[i*2, 3])}<br />
=&gt; ["iii", "lxxx", "dc", "mm"]</code></p></blockquote>
<p>We then want to reverse the order again, and stick the pieces back together:</p>
<blockquote><p>&gt;<code>irb(main):020:0&gt; char_array.reverse.to_s<br />
=&gt; "mmdclxxxiii"</code></p></blockquote>
<p>which gives us our number, converted into Roman numerals.</p>
<p>Putting it all together (apologies for the lack of indentation):</p>
<blockquote><p> <code>def toRoman(num)<br />
raise "this program only handles 1..3999" if num&gt;=4000 or num&lt;=0<br />
roman_array = ['i', 'v', 'x', 'l', 'c', 'd', 'm']<br />
char_array = num.to_s.split(//).reverse<br />
char_array.each_index{|i| char_array[i] = trans(char_array[i].to_i, roman_array[i*2, 3])}.reverse.to_s<br />
end<br />
def trans(passed_num, arr)<br />
case passed_num<br />
when 1 then arr[0]<br />
when 2 then arr[0]*2<br />
when 3 then arr[0]*3<br />
when 4 then arr[0]+arr[1]<br />
when 5 then arr[1]<br />
when 6 then arr[1]+arr[0]<br />
when 7 then arr[1]+arr[0]*2<br />
when 8 then arr[1]+arr[0]*3<br />
when 9 then arr[0]+arr[2]<br />
else ''<br />
end<br />
end</code></p></blockquote>
<p>To use these methods as a stand-alone, useful .rb file, make the first line in the file:</p>
<blockquote><p><code>#!usr/bin/ruby</code></p></blockquote>
<p>or whatever works for your path, then at the end of the file, after the two methods:</p>
<blockquote><p><code> if __FILE__ == $0<br />
toRoman(ARGV[0].to_i)<br />
end</code></p></blockquote>
<p>This lets you call the method toRoman from the terminal, or use it as a library file in other code.  A terminal call would look like:</p>
<blockquote><p><code>$ ruby toRoman.rb 3195<br />
mmmcxcv</code></p></blockquote>
<p>while to use the method in other ruby code, include the line</p>
<blockquote><p><code>irb(main):002:0&gt; require 'toRoman.rb'<br />
=&gt; true</code></p></blockquote>
<p>and then call the method as</p>
<blockquote><p><code>irb(main):003:0&gt; toRoman(3195)<br />
=&gt; "mmmcxcv"</code></p></blockquote>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/redochre.wordpress.com/17/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/redochre.wordpress.com/17/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/redochre.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/redochre.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/redochre.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/redochre.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/redochre.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/redochre.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/redochre.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/redochre.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/redochre.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/redochre.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/redochre.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/redochre.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/redochre.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/redochre.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=redochre.wordpress.com&amp;blog=1715261&amp;post=17&amp;subd=redochre&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://redochre.wordpress.com/2007/12/02/ruby-example-toroman/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/17c5ec4f132604066ade9787c520f33a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">redochre</media:title>
		</media:content>
	</item>
		<item>
		<title>Review of RubyCocoa Tutorials</title>
		<link>http://redochre.wordpress.com/2007/11/30/review-of-rubycocoa-tutorials/</link>
		<comments>http://redochre.wordpress.com/2007/11/30/review-of-rubycocoa-tutorials/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 14:19:32 +0000</pubDate>
		<dc:creator>redochre</dc:creator>
				<category><![CDATA[Overview]]></category>
		<category><![CDATA[RubyCocoa]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[interfacebuilder]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://redochre.wordpress.com/2007/11/30/review-of-rubycocoa-tutorials/</guid>
		<description><![CDATA[I&#8217;d been playing around with Ruby for a few weeks, making some little programs that I was happy with, when I decided it was time to venture into GUI. The obvious choice for my mac-loving self was Cocoa, so I found the RubyCocoa gem and went off in search for tutorials. I had never touched [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=redochre.wordpress.com&amp;blog=1715261&amp;post=16&amp;subd=redochre&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;d been playing around with Ruby for a few weeks, making some little programs that I was happy with, when I decided it was time to venture into GUI.  The obvious choice for my mac-loving self was Cocoa, so I found the RubyCocoa gem and went off in search for tutorials.  I had never touched XCode, Cocoa, Objective-C, or InterfaceBuilder before.  It&#8217;s a lot to learn all at once, but I found some sites that have helped.</p>
<p><a href="http://blog.8thlight.com/articles/2007/08/13/rubycocoa-tutorial" title="RubyCocoa Tutorial">This tutorial</a> is the first one that I tried to work through.  The instructions are very detailed, which I found extremely helpful as I&#8217;d never worked with XCode or InterfaceBuilder before.  Being told exactly what to click on, along with tons of screenshots, was exactly what I needed in my first tutorial.  By the end, I was left with a toy program that did work (there was one mis-named class in the tutorial, easy to spot if you&#8217;ve got your eyes open, or read the comments at the bottom).  However, I didn&#8217;t feel like I had actually learned much.  I knew how to make that program, but didn&#8217;t really understand much of what I did or have any idea how to extend it or make other programs.  <strong><em>Detailed instructions good, explanations lacking.</em></strong></p>
<p>Next up was an <a href="http://www.rubycocoa.com/an-introduction-to-rubycocoa" title="An">Introduction to RubyCocoa</a> from <a href="http://www.rubycocoa.com/">rubycocoa.com</a>.  Not really a tutorial, but discussion of the parts of RubyCocoa (ruby, cocoa, objective-c) and where to find (mostly offline) resources for each.  Elsewhere at the site is a guide to writing a small Asteroids-type game with RubyCocoa, but I haven&#8217;t had success with it.  The instructions were too high-level, I didn&#8217;t understand XCode or InterfaceBuilder enough to follow them.  I&#8217;ve gone back to this tutorial after I&#8217;d learned a bit more, and now can&#8217;t get the ruby code to work.  I don&#8217;t know what I&#8217;m missing, but <strong><em>thumbs way, way down on this one.</em></strong></p>
<p>After that frustration, I decided it was time for a purely Cocoa tutorial, that would hopefully help me understand XCode and InterfaceBuilder enough to focus more on the ruby aspect of what I wanted to be doing.  <a href="http://cocoadevcentral.com/" title="Cocoa Dev Central">Cocoa Dev Central</a> has two fantastic introductory tutorials, <a href="http://cocoadevcentral.com/d/learn_cocoa/" title="Learn Cocoa">Learn Cocoa</a> and <a href="http://cocoadevcentral.com/d/learn_cocoa_two/" title="Learn Cocoa II">Learn Cocoa II</a>.  Aimed at people who have never coded, they did a great job of explaining what was going on in XCode and InterfaceBuilder.  I was starting to understand.  <strong><em>This is the tutorial I should have started with.</em></strong></p>
<p>Happy with my burgeoning understanding, I wanted to work through another tutorial or two to get more of a feel for the Objective-C aspect of RubyCocoa.  I was thrilled to discover <a href="http://metaatem.net/2007/05/27/your-first-few-days-on-rubycocoa" rel="bookmark">Your first few days on RubyCocoa</a> at <a href="http://metaatem.net/">Meta | ateM</a>.  With the newcocoa gem I could use RubyCocoa without XCode!  This tutorial was a snap (at this point I don&#8217;t know if it&#8217;s because it&#8217;s a really good tutorial, or because I&#8217;ve picked things up from the other tutorials), and I&#8217;m excited now about trying my own code.  <strong><em>Brilliant.  So glad I found this one.</em></strong></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/redochre.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/redochre.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/redochre.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/redochre.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/redochre.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/redochre.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/redochre.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/redochre.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/redochre.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/redochre.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/redochre.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/redochre.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/redochre.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/redochre.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/redochre.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/redochre.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=redochre.wordpress.com&amp;blog=1715261&amp;post=16&amp;subd=redochre&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://redochre.wordpress.com/2007/11/30/review-of-rubycocoa-tutorials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/17c5ec4f132604066ade9787c520f33a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">redochre</media:title>
		</media:content>
	</item>
		<item>
		<title>Ambition</title>
		<link>http://redochre.wordpress.com/2007/11/29/ambition/</link>
		<comments>http://redochre.wordpress.com/2007/11/29/ambition/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 14:07:25 +0000</pubDate>
		<dc:creator>redochre</dc:creator>
				<category><![CDATA[Overview]]></category>

		<guid isPermaLink="false">http://redochre.wordpress.com/2007/11/29/ambition/</guid>
		<description><![CDATA[Things I&#8217;m trying to learn, all at the same time: postgreSQL ruby XCode cocoa objective-c My goal is to learn a bit more about coding (I took a couple of courses in Java back in first year uni, it was a while ago) by making a GTD app. It&#8217;s a lot to get my head [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=redochre.wordpress.com&amp;blog=1715261&amp;post=15&amp;subd=redochre&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Things I&#8217;m trying to learn, all at the same time:</p>
<ul>
<li>postgreSQL</li>
<li>ruby</li>
<li>XCode</li>
<li>cocoa</li>
<li>objective-c</li>
</ul>
<p>My goal is to learn a bit more about coding (I took a couple of courses in Java back in first year uni, it was a while ago) by making a GTD app.  It&#8217;s a lot to get my head around all at once, so welcome to my attempt at project-tracking.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/redochre.wordpress.com/15/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/redochre.wordpress.com/15/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/redochre.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/redochre.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/redochre.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/redochre.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/redochre.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/redochre.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/redochre.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/redochre.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/redochre.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/redochre.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/redochre.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/redochre.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/redochre.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/redochre.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=redochre.wordpress.com&amp;blog=1715261&amp;post=15&amp;subd=redochre&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://redochre.wordpress.com/2007/11/29/ambition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/17c5ec4f132604066ade9787c520f33a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">redochre</media:title>
		</media:content>
	</item>
	</channel>
</rss>
