<?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>Ryan McKern &#187; ruby</title>
	<atom:link href="http://ryanmckern.com/tag/ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://ryanmckern.com</link>
	<description>Loudmouth web engineer from the Boston area; loud music, sketchy source code, good food.</description>
	<lastBuildDate>Fri, 27 Apr 2012 03:11:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>&quot;Learn code the hard way&quot; is Zed Shaw&#039;s most awesome project to date</title>
		<link>http://ryanmckern.com/2012/04/learn-code-the-hard-way-is-zed-shaws-most-awesome-project-to-date/</link>
		<comments>http://ryanmckern.com/2012/04/learn-code-the-hard-way-is-zed-shaws-most-awesome-project-to-date/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 05:22:51 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[books]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[literary]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://ryanmckern.com/?p=1389</guid>
		<description><![CDATA[Posted in booksgeneralliterarytechnicalNot a whole lot to say about it, but I think that the Learn Code The Hard Way initiative is absolutely awesome; it's probably Zed Shaw's (@zedshaw) best work. I've used his Learn Python The Hard Way book (and snippets of Learn C The Hard Way, because sometimes the Old Ways are the Best Ways) [...]]]></description>
			<content:encoded><![CDATA[<p>Not a whole lot to say about it, but I think that the <a href="http://learncodethehardway.org/" class="aga aga_6">Learn Code The Hard Way</a> initiative is absolutely awesome; it's probably <a href="http://zedshaw.com/" class="aga aga_7">Zed Shaw</a>'s (<a href="https://twitter.com/zedshaw" class="aga aga_8">@zedshaw</a>) best work. I've used his <a href="http://learnpythonthehardway.org/" class="aga aga_9">Learn Python The Hard Way</a> book (and snippets of <a href="http://c.learncodethehardway.org/" class="aga aga_10">Learn C The Hard Way</a>, because sometimes the <em>Old Ways</em> are the <strong>Best Ways</strong>) as reference but they really excel when used linearly to do what it says on the label.</p>

<p>This series uses example-based tutorials to explain and illustrate concepts and new lessons build upon concepts learned from previous lessons and examples. By the time you've gone through one of the books the most fundamental lessons have been iterated over numerous times (but without beating you over the head with them), and that's how these things stick. But honestly, my favorite things about these books are that they're priced to move (free &amp; cheap, based on what format you're looking for) and that they're open-source (<a href="https://gitorious.org/~zedshaw" class="aga aga_11">the source code is up on Zed's Gitorious account</a>) <strong>but</strong> they're edited; no wild-ass Wikipedia style misinformation, just people contributing what they know where they think it'll do some good.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanmckern.com/2012/04/learn-code-the-hard-way-is-zed-shaws-most-awesome-project-to-date/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Literary beta testing: Build Awesome Command-Line Applications in Ruby</title>
		<link>http://ryanmckern.com/2012/03/literary-beta-testing-build-awesome-command-line-applications-in-ruby/</link>
		<comments>http://ryanmckern.com/2012/03/literary-beta-testing-build-awesome-command-line-applications-in-ruby/#comments</comments>
		<pubDate>Wed, 21 Mar 2012 06:22:27 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[books]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://ryanmckern.com/?p=1205</guid>
		<description><![CDATA[Posted in booksrubyDavid Copeland (@davetron5000), author of GLI (Git-like Interface Command Parser) has written a book called Build Awesome Command-Line Applications in Ruby. I've been beta-testing the book while it was going through the publishing process, and it is excellent. Of note: it focuses on writing command suites (like the rails command or git) and stand-alone command-line [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.naildrivin5.com/blog" class="aga aga_21">David Copeland</a> (<a href="http://twitter.com/davetron5000" class="aga aga_22">@davetron5000</a>), author of <a href="https://github.com/davetron5000/gli" class="aga aga_23">GLI (Git-like Interface Command Parser</a>) has written a book called <em><a href="http://pragprog.com/book/dccar/build-awesome-command-line-applications-in-ruby" class="aga aga_24">Build Awesome Command-Line Applications in Ruby</a></em>. I've been beta-testing the book while it was going through the publishing process, and it is excellent. Of note: it focuses on writing command suites (like the <code>rails</code> command or <code>git</code>) <strong>and</strong> stand-alone command-line applications (like <code>rsync</code>).</p>

<p><a href="http://ryanmckern.com/wp-content/uploads/2012/03/dccar1.jpg" ><img class="alignleft size-full wp-image-1394" title="Build Awesome Command-Line Applications in Ruby" src="http://ryanmckern.com/wp-content/uploads/2012/03/dccar1.jpg" alt="Build Awesome Command-Line Applications in Ruby" width="208" height="250" /></a></p>

<p>So like I mentioned up there, I initially grabbed the book around its second or third beta release, figuring that while it was still in the process of becoming a Real Book I sometimes feel like I'm still in the process of becoming a Real Admin so, you know, what the hell, let's work through it together.</p>

<p>I know a number of developers who only know Ruby in the context of the Rails framework (and maybe related Rake tasks) and this book is an exceptional guide to using Ruby for more than just Rails applications. Command-line tooling has long been an area of interest for me as working in operations means often having to perform a number of repetitive tasks which lend themselves well to being scripted; good admins write good scripts. <span id="more-1205"></span></p>

<p>To that end, I think there's a philosophy behind useful scripting and I think that sticking to system tools like Bash (or if you insist, standard bourne shell) whenever possible is always your safest bet. But sometimes it's just easier or smarter (and sometimes both) to use a language like Ruby or Perl for tasks like string manipulation, data aggregation and analysis, or "<a href="http://en.wikipedia.org/wiki/Glue_code" class="aga aga_25">glue code</a>". I think the most important thing this book does is try to instill a general philosophy of how good shell scripts and command line tools are built <strong>and</strong> maintained.</p>

<p>Beyond its focus on OptionParser (the standard Ruby argv parser library), <em>Build Awesome Command-Line Applications in Ruby</em> also gives a high level but functional overview of some of the popular options (<a href="http://trollop.rubyforge.org/" class="aga aga_26">Trollop</a>, David's own <a href="https://github.com/davetron5000/methadone" class="aga aga_27">methadone</a>, and <a href="https://github.com/ahoward/main" class="aga aga_28">main</a>) for parsing options and building help screens for your tools. For those of you who are curious, <a href="http://lee.jarvis.co/slop/" class="aga aga_29">Slop</a> is also somewhat popular but I understand that reviewing all of the options would have unnecessarily extended the length and scope of the book; you have to draw the line somewhere.</p>

<p>David has written a pretty useful book and I think it's a must-read for anyone who has to roll their own tools with any regularity. If you work in operations, development, or tooling you owe it to yourself to give it a read if only for the overview of what makes a successful command line tool that people appreciate using and what makes a shitty ad-hoc script with no help screen or sanity checking that your coworkers hate using but no one wants to take the time to refactor.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanmckern.com/2012/03/literary-beta-testing-build-awesome-command-line-applications-in-ruby/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mark Wunsch, on Installing Gems</title>
		<link>http://ryanmckern.com/2011/08/mark-wunsch-on-installing-gems/</link>
		<comments>http://ryanmckern.com/2011/08/mark-wunsch-on-installing-gems/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 21:58:00 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[gripes]]></category>
		<category><![CDATA[grumbling]]></category>

		<guid isPermaLink="false">http://ryanmckern.com/2011/08/mark-wunsch-on-installing-gems/</guid>
		<description><![CDATA[Posted in rubytechnicalhttp://mwunsch.tumblr.com/post/8645762505/installing-gemsI have 3 or 4 queued up posts about Ruby butthurt, and what Mark has to say is pretty in line with a lot of it.]]></description>
			<content:encoded><![CDATA[<p>I have 3 or 4 queued up posts about Ruby butthurt, and what Mark has to say is pretty in line with a lot of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanmckern.com/2011/08/mark-wunsch-on-installing-gems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSSEdit &amp; TextMate = L-O-V-E</title>
		<link>http://ryanmckern.com/2007/11/cssedit-textmate/</link>
		<comments>http://ryanmckern.com/2007/11/cssedit-textmate/#comments</comments>
		<pubDate>Sat, 17 Nov 2007 05:59:16 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[applications]]></category>
		<category><![CDATA[coda]]></category>
		<category><![CDATA[cssedit]]></category>
		<category><![CDATA[panic]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[text editor]]></category>
		<category><![CDATA[textmate]]></category>

		<guid isPermaLink="false">http://ryanmckern.com/applications/11/</guid>
		<description><![CDATA[Posted in applicationsI don't know if I've ever personally mentioned this and I know I'm years late to the party, but it bears repeating that CSSEdit and TextMate are two of the only applications I miss when I'm on a Linux machine. One could argue that there is always (re: eternally) going to be vi/vim or emacs, [...]]]></description>
			<content:encoded><![CDATA[<p>I don't know if I've ever personally mentioned this and I know I'm <strong>years</strong> late to the party, but it bears repeating that <a href="http://macrabbit.com" class="aga aga_37">CSSEdit</a> and <a href="http://macromates.com" class="aga aga_38">TextMate</a> are two of the only applications I miss when I'm on a Linux machine. One could argue that there is always (re: eternally) going to be vi/vim or emacs, but in my opinion there is no beating the combination of these two applications for web development or layout work. <span id="more-11"></span></p>

<p>CSSEdit has the most powerful and well thought-out interface I've ever seen for working with stylesheet properties, and its source-and-visual CSS editor is rightfully award-winning. If you've got to spend more than an hour a week in stylesheets, CSSEdit is the only reasonable tool for the job.</p>

<p>If you're more of a codemonkey, TextMate is the darling of both the Unix refugee camp that took shelter in OS X recently, as well as the <a href="http://www.ruby-lang.org/en/" class="aga aga_39">Ruby</a> and <a href="http://rubyonrails.com/" class="aga aga_40">Rails</a> development communities. It's sort of the best damned text-and-code editor ever produced for the MacOS, with the possible exception of the long-time heavyweight, <a href="http://www.barebones.com/" class="aga aga_41">BBEdit</a>. The <a href="http://wiki.macromates.com/Main/Bundles" class="aga aga_42">bundles</a> are well structured, and support almost any language or variant you can think of.</p>

<p>If you're in the market for power editors, you could do worse than giving these two a spin. Of course, if you're the "all in one" sort, there is always <a href="http://www.panic.com/coda/" class="aga aga_43">Coda</a>, by the boys at Panic. While it was slightly raw the last time I used it, if I hadn't already owned a license for TextMate and CSSEdit when it came out I'd have probably purchased it. It's improved considerably, and it is under steady development, but it is extremely web-centric (see the supported languages) and that might be a drawback for some people.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanmckern.com/2007/11/cssedit-textmate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching 25/46 queries in 0.099 seconds using disk: basic
Object Caching 1065/1097 objects using disk: basic

Served from: ryanmckern.com @ 2012-05-22 19:07:12 -->
