<?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>Juixe Techknow &#187; Ruby</title>
	<atom:link href="http://juixe.com/techknow/index.php/category/techknow/ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://juixe.com/techknow</link>
	<description>Break Coders Block!</description>
	<lastBuildDate>Mon, 23 Jan 2012 16:01:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>TechKnow Year In Review 2009</title>
		<link>http://juixe.com/techknow/index.php/2009/12/31/techknow-year-in-review-2009/</link>
		<comments>http://juixe.com/techknow/index.php/2009/12/31/techknow-year-in-review-2009/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 00:48:55 +0000</pubDate>
		<dc:creator>TechKnow</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML/XML]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[TechKnow]]></category>
		<category><![CDATA[calacanis]]></category>
		<category><![CDATA[dhh]]></category>
		<category><![CDATA[griffon]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[quotes]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[tweet]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://juixe.com/techknow/?p=962</guid>
		<description><![CDATA[It is that time of year where we reflect on the accomplishments of the passing year and look forward to the one to come. Here is a window into the past year in technology through this year’s popular posts on TechKnow Juixe. Top Favorites Laws of Source Code and Software Development Repetative Recursion Technology and [...]]]></description>
			<content:encoded><![CDATA[<p>It is that time of year where we reflect on the accomplishments of the passing year and look forward to the one to come. Here is a window into the past year in technology through this year’s popular posts on <a href="http://juixe.com/techknow">TechKnow Juixe</a>.</p>
<p><b>Top Favorites</b></p>
<ul>
<li><a href="http://juixe.com/techknow/index.php/2009/05/07/laws-of-source-code-and-software-development/">Laws of Source Code and Software Development</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/05/09/repetative-recursion/">Repetative Recursion</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/08/19/technology-and-politics/">Technology and Politics</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/05/29/being-a-better-rails-developer/">Being a Better Rails Developer</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/05/28/programming-memes/">Programming Memes</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/05/28/developers-perpetual-todo-list/">Developer&#8217;s Perpetual Todo List</a></li>
</ul>
<p><b>Fav Tutorial</b></p>
<ul>
<li><a href="http://juixe.com/techknow/index.php/2009/05/11/the-anatomy-of-a-javascript-bookmarklet/">Anatomy of a JavaScript Bookmarklet</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/05/11/dynamically-create-html-elements-with-javascript/">Dynamically Create HTML Elements with JavaScript</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/06/09/grinding-griffon-the-setup/">Grinding Griffon</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/08/17/the-1kb-css-grid/">The 1KB CSS Grid</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/10/27/download-twitter-profile-images-using-ruby/">Download Twitter Profile Images Using Ruby</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/10/08/jamming-with-ruby-yaml/">Jamming with Ruby YAML</a></li>
</ul>
<p><b>Memorable Quotes</b></p>
<ul>
<li><a href="http://juixe.com/techknow/index.php/2009/12/31/quotable-calacanis-2009/">Quotable Calacanis</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/11/25/quotable-dhh-2009/">Quotable DHH</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/11/18/favorite-programming-quotes-2009/">Favorite Programming Quotes 2009</a></li>
</ul>
<p><b>Twitter</b></p>
<ul>
<li><a href="http://juixe.com/techknow/index.php/2009/01/12/twitter-ruby-gem/">Twitter Ruby Gem</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/02/11/twitter-business-model/">Twitter Business Model</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/04/26/the-three-laws-of-twitters/">The Three Laws of Twitters</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/05/26/twitcode/">Twitcode</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/08/22/songs-in-code/">Songs in Code</a></li>
</ul>
<p><b>Twitter Conversations</b></p>
<ul>
<li><a href="http://juixe.com/techknow/index.php/2009/07/20/remote-debug-your-thinking-process/">Remote Debug Your Thinking Process</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/05/18/all-code-is-inherently-evil/">All Code is Inherently Evil</a></li>
<li><a href="http://juixe.com/techknow/index.php/2009/11/25/the-mayor-of-dead-space/">The Mayor of Dead Space</a></li>
</ul>
<p><b>Year in Review</b></p>
<ul>
<li><a href="http://juixe.com/techknow/index.php/2008/12/30/techknow-year-in-review-2008/">2008</a></li>
<li><a href="http://juixe.com/techknow/index.php/2007/12/11/techknow-year-in-review-2007/">2007</a></li>
<li><a href="http://juixe.com/techknow/index.php/2006/12/31/techknow-year-in-review-2006/">2006</a></li>
<li><a href="http://juixe.com/techknow/index.php/2005/12/27/techknow-year-in-review-2005/">2005</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://juixe.com/techknow/index.php/2009/12/31/techknow-year-in-review-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quotable DHH 2009</title>
		<link>http://juixe.com/techknow/index.php/2009/11/25/quotable-dhh-2009/</link>
		<comments>http://juixe.com/techknow/index.php/2009/11/25/quotable-dhh-2009/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 22:18:03 +0000</pubDate>
		<dc:creator>TechKnow</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[TechKnow]]></category>
		<category><![CDATA[dhh]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[quote]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ror]]></category>
		<category><![CDATA[rubyist]]></category>

		<guid isPermaLink="false">http://www.juixe.com/techknow/?p=398</guid>
		<description><![CDATA[David Heinemeier Hansson, commonly referred as DHH, is a polarizing programmer with a self professed fucking potty-mouth. He is opinionated and uncensored. He is a world renowned hater, he hates big enterprise software, large startup valuations, and apple pie. The web development framework he fashioned after himself is as opinionated and know-it-all as he is. [...]]]></description>
			<content:encoded><![CDATA[<p>David Heinemeier Hansson, commonly referred as DHH, is a polarizing programmer with a self professed fucking potty-mouth.  He is opinionated and uncensored.  He is a world renowned hater, he hates big enterprise software, large startup valuations, and apple pie.  The web development framework he fashioned after himself is as opinionated and know-it-all as he is.  From Wikipedia&#8230;</p>
<blockquote><p>
Hansson is known for the crude and brutal way he expresses his opinions; both online and in real life. One of the main criticisms of Hansson has been about his and his company&#8217;s arrogance. Hansson, however considers these criticism unfounded and in fact he openly acknowledges and embraces the arrogant claim made for him.
</p></blockquote>
<p>Over the last year I have collected a few choice quotes from DHH&#8217;s keynotes, blog posts, and twitter updates covering a range of topics such as programming, enterprise sotware, and company valuations.</p>
<blockquote><p>
Constraints drive innovation and getting your idea out in the wild in two months instead of six will likely do you a world of good. A month or two out the gates, you’ll have a pretty good idea of whether you &#8220;got something&#8221; or not.<br />
<a href="http://www.37signals.com/svn/archives2/entrepreneurs_angels_and_the_cost_of_launch.php">Entrepreneurs, Angels, and the cost of launch</a>
</p></blockquote>
<blockquote><p>
The best frameworks are in my opinion extracted, not envisioned. And the best way to extract is first to actually do.<br />
<a href="http://www.loudthinking.com/posts/6-why-theres-no-rails-inc">Why there&#8217;s no Rails Inc</a>
</p></blockquote>
<blockquote><p>
Lines of code by itself doesn’t really mean that much to me. What you’re able to express in those lines mean a lot, though. So if you&#8217;re able to write the same piece of functionality in 10 lines instead of 100 lines you’ve made huge strides in simplicity. That’s part of the argument for why Ruby is a more pleasant language to work with than say Java or C#.<br />
<a href="http://www.infoq.com/articles/ruby20-dhh-interview">Talking Rails 2.0 with David Heinemeier Hansson</a>
</p></blockquote>
<blockquote><p>
This is a snowflake&#8230; Your application is not one of them. For most of the time, for most of the people what they do is not unique. You are not special<br />
<a href="http://stevenbristol.blogspot.com/2006/02/quote-from-dhh-on-ror.html">Quote from DHH on ROR</a>
</p></blockquote>
<blockquote><p>
In the beginning, there was no Rails, there was only Basecamp. After working on Basecamp for a while, though, I eyed the option of giving all the generic pieces a life of their own. But even then, I continued to work on Basecamp first. Which meant that all the functionality of Rails came as extractions of a real application, not of a &#8220;what somebody might need some day&#8221; fantasy, so prevalent in framework design.<br />
<a href="http://www.37signals.com/svn/posts/660-ask-37signals-the-genesis-and-benefits-of-rails">Ask 37signals: The genesis and benefits of Rails</a>
</p></blockquote>
<blockquote><p>
I&#8217;m certainly of no illusions that Rails is perfect nor that Ruby is a speed daemon.<br />
<a href="http://www.loudthinking.com/arc/000608.html">Twitter trouble</a>
</p></blockquote>
<blockquote><p>
When you work with open source and you discover new requirements not met by the software, it&#8217;s your shining opportunity to give something back. Rather than just sit around idle waiting for some vendor to fix your problems, you get the unique chance of being a steward of your own destiny. To become a participant in the community rather than a mere spectator.<br />
<a href="http://www.loudthinking.com/arc/000608.html">Twitter trouble</a>
</p></blockquote>
<blockquote><p>
Scaling is the act of removing bottlenecks. When you remove one bottleneck (like application code execution), you tend to reveal another (like database queries). That’s natural and means you&#8217;re making progress.<br />
<a href="http://www.loudthinking.com/arc/000608.html">Twitter trouble</a>
</p></blockquote>
<blockquote><p>
Requiring X years of experience on platform Y in your job posting is, well, ignorant. As long as applicants have 6 months to a year of experience, consider it a moot point for comparison. Focus on other things instead that’ll make much more of a difference.<br />
<a href="http://www.37signals.com/svn/posts/833-years-of-irrelevance">Years of Irrelevance</a>
</p></blockquote>
<blockquote><p>
One of the easiest ways to shoot down good ideas, interesting policies, or worthwhile experiments is by injecting the assumption that whatever you’re doing needs to last forever and ever.<br />
<a href="http://www.37signals.com/svn/posts/896-optimize-for-now">Optimize for Now</a>
</p></blockquote>
<blockquote><p>
PHP scales down like no other package for the web and it deserves more credit for tackling that scope.<br />
<a href="http://www.loudthinking.com/posts/23-the-immediacy-of-php">The Immediacy of PHP</a>
</p></blockquote>
<blockquote><p>
Bitching is such a succinct form of expression. It doesn’t require or usually entail deep analysis. It’s the easiest way to write something “interesting”.<br />
<a href="http://www.37signals.com/svn/posts/968-bitching-is-the-killer-app-for-twitter">Bitching is the killer app for Twitter</a>
</p></blockquote>
<blockquote><p>
All odds are not created equal.<br />
<a href="http://www.juixe.com/techknow/index.php/2008/04/22/startup-school-2008/">Startup School 2008</a>
</p></blockquote>
<blockquote><p>
Often the simplest idea in the world, like treating your customers nicely, while still asking for money for what you do, can work. And you can build great businesses like that.<br />
<a href="http://www.juixe.com/techknow/index.php/2008/04/22/startup-school-2008/">Startup School 2008</a>
</p></blockquote>
<blockquote><p>
Forgoing sleep is like borrowing from a loan shark. Sure you get that extra hours right now to cover for your overly-optimistic estimation, but at what price? The shark will be back and if you can’t pay, he’ll break your creativity, morale, and good-mannered nature as virtue twigs.<br />
<a href="http://www.37signals.com/svn/posts/1006-sleep-deprivation-is-not-a-badge-of-honor">Sleep deprivation is not a badge of honor</a>
</p></blockquote>
<blockquote><p>
What separates programmers who are 10x more effective than the norm is not that they write 10x as many lines of code. It’s that they use their creativity to solve the problem with 1/10th of the effort. The creativity to come up with those 1/10th solutions drops drastically when I’m tired.<br />
<a href="http://www.37signals.com/svn/posts/1006-sleep-deprivation-is-not-a-badge-of-honor">Sleep deprivation is not a badge of honor</a>
</p></blockquote>
<blockquote><p>
Software development is rarely a sprint, it’s a marathon. It’s multiple marathons, actually. So trying to extract 110% performance from today when it means having only 70% performance available tomorrow is a bad deal. You end up with just 77% of your available peak. What a bad trade.<br />
<a href="http://www.37signals.com/svn/posts/1006-sleep-deprivation-is-not-a-badge-of-honor">Sleep deprivation is not a badge of honor</a>
</p></blockquote>
<blockquote><p>
I’ve always been a jealous person. I’ve always wanted things that others had. Skills they possessed. Authority they held. Success they enjoyed. But instead of feeling sorry for myself and growing spiteful of others, I found it to be the best motivation to imitate, adopt, and strive for the same rewards.<br />
<a href="http://www.37signals.com/svn/posts/1033-productive-jealousy">Productive Jealousy</a>
</p></blockquote>
<blockquote><p>
Don&#8217;t let growth be your primary yardstick of success.<br />
<a href="http://www.37signals.com/svn/posts/1068-finding-the-natural-size-for-your-company">Finding the natural size for your company</a>
</p></blockquote>
<blockquote><p>
How about you turn your perceived weakenesses into strengths. Embrace your constraints, work with limited budget of your own money and write less software.<br />
<a href="http://www.37signals.com/svn/posts/1078-it-doesnt-have-to-be-all-or-nothing-with-a-startup">It doesn&#8217;t have to be all or nothing with a startup</a>
</p></blockquote>
<blockquote><p>
Average environments begets average work.<br />
<a href="http://www.37signals.com/svn/posts/1164-average-environments-beget-average-work">Average environments begets average work</a>
</p></blockquote>
<blockquote><p>
No one can be a rock star without a great scene.<br />
<a href="http://www.37signals.com/svn/posts/1164-average-environments-beget-average-work">Average environments begets average work</a>
</p></blockquote>
<blockquote><p>
So if you want your team to excel, quit thinking about how you can land a room full of rock stars and ninjas. Start thinking about the room instead!<br />
<a href="http://www.37signals.com/svn/posts/1164-average-environments-beget-average-work">Average environments begets average work</a>
</p></blockquote>
<blockquote><p>
Do you value effort over effect?<br />
<a href="http://www.37signals.com/svn/posts/1164-average-environments-beget-average-work">Average environments begets average work</a>
</p></blockquote>
<blockquote><p>
Humans are incredibly eager to live down to low expectations.<br />
<a href="http://www.37signals.com/svn/posts/1164-average-environments-beget-average-work">Average environments begets average work</a>
</p></blockquote>
<blockquote><p>
Are you finding the root causes for your daily grind or does the wheels just keep spinning on the same issues?<br />
<a href="http://www.37signals.com/svn/posts/1174-are-you-finding-the-root-cause">Are you finding the root cause?</a>
</p></blockquote>
<blockquote><p>
Aesthetics is a feature in itself.<br />
<a href="http://www.37signals.com/svn/posts/1247-theres-no-shame-in-looking-good">There&#8217;s no shame in looking good</a>
</p></blockquote>
<blockquote><p>
There&#8217;s absolutely no pleasing everyone. You can&#8217;t and shouldn&#8217;t try to make everyone love you. The best you can do is make sure that they&#8217;re hating you for the right reasons.<br />
<a href="http://www.loudthinking.com/posts/36-work-on-what-you-use-and-share-the-rest">Work on what you use and share the rest</a>
</p></blockquote>
<blockquote><p>
My core philosophy about open source is that we should all be working on the things that we personally use and care about. Working for other people is just too hard and the quality of the work will reflect that. But if we all work on the things we care about and then share those solutions between us, the world gets richer much faster.<br />
<a href="http://www.loudthinking.com/posts/36-work-on-what-you-use-and-share-the-rest">Work on what you use and share the rest</a>
</p></blockquote>
<blockquote><p>
I think the days of the traditional San Francisco startup approach are numbered. It’ll be flushed down the drain along with CDO’s and zero-down mortgages.<br />
<a href="http://www.37signals.com/svn/posts/1615-how-did-the-web-lose-faith-in-charging-for-stuff">How did the web lose faith in charging for stuff?</a>
</p></blockquote>
<blockquote><p>
Of all the terms I hate with a passion, &#8220;professional&#8221; would probably rank above &#8220;enterprise&#8221; and just below &#8220;potty mouth&#8221;.<br />
<a href="http://twitter.com/dhh/status/1631034662">@dhh</a>
</p></blockquote>
<blockquote><p>
Speaking of presentations. I&#8217;d much rather we banished kung-fu kittens and went with beautiful women for the filler stock art. Works in ads!<br />
<a href="http://twitter.com/dhh/status/1585995449">@dhh</a>
</p></blockquote>
<blockquote><p>
You&#8217;re bound to upset, offend, or annoy people when you&#8217;re not adding heavy layers of social sugarcoating.<br />
<a href="http://www.loudthinking.com/posts/39-im-an-r-rated-individual">I&#8217;m an R rated individual</a>
</p></blockquote>
<blockquote><p>
Nothing is sacred in Rails, everything is up for debate.<br />
<a href="http://en.oreilly.com/rails2009/public/schedule/detail/9035">Rails 3 and the Real Secret to High Productivity</a>
</p></blockquote>
<blockquote><p>
When an advertiser is claiming something to be an “all-new” car/soap/computer/camera it usually means exactly the opposite. It actually hardly even means new, at best it’s most commonly just “marginally-new” or “just-a-few-tweaks-new”.<br />
<a href="http://www.37signals.com/svn/posts/1696-theres-nothing-new-about-all-new">There&#8217;s nothing new about all-new</a>
</p></blockquote>
<blockquote><p>
Focusing on just the newness of something is usually a pretty weak selling point.<br />
<a href="http://www.37signals.com/svn/posts/1696-theres-nothing-new-about-all-new">There&#8217;s nothing new about all-new</a>
</p></blockquote>
<blockquote><p>
Ideas on their own are just not that important. It’s incredibly rare that someone comes up with an idea so unique, so protectable that the success story writes itself. Most ideas are nothing without execution.<br />
<a href="http://www.37signals.com/svn/posts/1122-i-had-that-idea-years-ago">I had that idea years ago!</a>
</p></blockquote>
<blockquote><p>
Just because you thought of a site to share photos with friends wouldn’t have made you Flickr.<br />
<a href="http://www.37signals.com/svn/posts/1122-i-had-that-idea-years-ago">I had that idea years ago!</a>
</p></blockquote>
<blockquote><p>
Why does the idea of work have to be so bad that you want to sacrifice year’s worth of prime living to get away from it forever? The answer is that it doesn’t. Finding something you to love to work on seems to be a much more fruitful pursuit than trying to get away from the notion of work altogether.<br />
<a href="http://www.37signals.com/svn/posts/1121-early-retirement-is-a-false-idol">Early retirement is a false idol</a>
</p></blockquote>
<blockquote><p>
If you come to the realization that work in itself isn’t evil, you can stop living your life as a waterfall-planned software project too. No need to divide your timeline on earth into the false dichotomies of Sucky Work Era and Blissful Retirement Era.<br />
<a href="http://www.37signals.com/svn/posts/1121-early-retirement-is-a-false-idol">Early retirement is a false idol</a>
</p></blockquote>
<blockquote><p>
There&#8217;s nothing like the look of beautiful Ruby code in the morning. Gracefully colored by TextMate and rendered in Bitstream Vera pt 12.<br />
<a href="http://twitter.com/dhh/status/5830020299">@dhh</a>
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://juixe.com/techknow/index.php/2009/11/25/quotable-dhh-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Download Twitter Profile Images Using Ruby</title>
		<link>http://juixe.com/techknow/index.php/2009/10/27/download-twitter-profile-images-using-ruby/</link>
		<comments>http://juixe.com/techknow/index.php/2009/10/27/download-twitter-profile-images-using-ruby/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 05:21:57 +0000</pubDate>
		<dc:creator>TechKnow</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[tweet]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://juixe.com/techknow/?p=890</guid>
		<description><![CDATA[Recently, I gave myself the small task of going through all my Twitter retries and downloading each profile image from each Twitter user that replied to me. To access my Twitter replies I used the Twitter Ruby Gem. I am using Twitter gem version 0.4.1. The script is small and pretty concise that it can [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I gave myself the small task of going through all my Twitter retries and downloading each profile image from each Twitter user that replied to me.  To access my Twitter replies I used the <a href="http://juixe.com/techknow/index.php/2009/01/12/twitter-ruby-gem/">Twitter Ruby Gem</a>.  I am using Twitter gem version 0.4.1.</p>
<p>The script is small and pretty concise that it can speak for itself.  I use my Twitter credential to log on and query for the 40 most recent replies.  For each reply download the user&#8217;s profile image.</p>
<pre class="brush: ruby; title: ; notranslate">
require 'rubygems'

gem 'twitter', '=0.4.1'

require 'twitter'
require 'open-uri'
require 'find'

twitter = Twitter::Base.new(username, password)
replies = twitter.replies(:count =&gt; 40)

replies.each do |status|
  user = status.user
  image_url = user.profile_image_url
  image_name = image_url.match(/([\w_]+).(\w\w\w)$/)
  file_path = &quot;profile/#{image_name[1]}.#{image_name[2]}&quot;

  # Did I already download this image?
  unless File.exists?(file_path)
    File.open(file_path, 'w') do |output|
      # Download image
      open(image_url) do |input|
        output &lt;&lt; input.read
      end
    end
  end
end
</pre>
]]></content:encoded>
			<wfw:commentRss>http://juixe.com/techknow/index.php/2009/10/27/download-twitter-profile-images-using-ruby/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Jamming with Ruby YAML</title>
		<link>http://juixe.com/techknow/index.php/2009/10/08/jamming-with-ruby-yaml/</link>
		<comments>http://juixe.com/techknow/index.php/2009/10/08/jamming-with-ruby-yaml/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 06:09:31 +0000</pubDate>
		<dc:creator>TechKnow</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[TechKnow]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[markup]]></category>
		<category><![CDATA[yaml]]></category>

		<guid isPermaLink="false">http://juixe.com/techknow/?p=881</guid>
		<description><![CDATA[When working with Ruby, the library/class I use and abuse most often is YAML. YAML stands for YAML Ain&#8217;t Markup Language and it is a versatile human friendly data serialization format. It is easier to use and understand than JSON. A YAML file is much like a Java properties file in that is used to [...]]]></description>
			<content:encoded><![CDATA[<p>When working with Ruby, the library/class I use and abuse most often is YAML.  <a href="http://www.yaml.org/">YAML</a> stands for <b>YAML Ain&#8217;t Markup Language</b> and it is a versatile human friendly data serialization format.  It is easier to use and understand than <a href="http://www.json.org/">JSON</a>.</p>
<p>A YAML file is much like a Java properties file in that is used to store name/value pairs.  YAML is more powerful than simple Java properties file but that is a good way to think of it to begin with.  Here is a example of a simple YAM file used to store user name and password.</p>
<pre class="brush: ruby; title: ; notranslate">
user: juixe-username
pass: juixe-password
</pre>
<p>The above YAML snippet can go into a file, typically with a yml extension.  To load the YAML file in ruby you can do it in with following Ruby code.</p>
<pre class="brush: ruby; title: ; notranslate">
require 'yaml'

yml = YAML::load(File.open('userinfo.yml'))
puts yml['user'] # juixe-username
</pre>
<p>Just replace userinfo.yml with the name and path of your YAML file.  The object that is loaded from the YAML file is a regular Ruby hash object so you can iterate through all the name/value pairs like the following.</p>
<pre class="brush: ruby; title: ; notranslate">
require 'yaml'

yml = YAML.load_file 'userinfo.yml'
yml.each_pair { |key, value|
  puts &quot;#{key} = #{value}&quot;
}
</pre>
<p>What makes YAML files more powerful than a regular Java properties file is that you can complex object collections, structures, or hierarchies.  For example, imagine that I want to log into a series of Twitter accounts and get their most recent at replies.  I can keep a collection of twitter account usernames and passwords in a YAML file much like the following.</p>
<pre class="brush: ruby; title: ; notranslate">
juixe:
 user: juixe-user
 pass: juixe-pass
techknow:
 user: techknow-user
 pass: techknow-pass
</pre>
<p>Here is the sample Ruby code that can be used to iterate through each user account from the YAML file.</p>
<pre class="brush: ruby; title: ; notranslate">
require 'yaml'

yml = YAML.load_file 'userinfo.yml'
yml.each_key { |key|
  username = yml[key]['user']
  password = yml[key]['pass']

  puts &quot;#{username} =&gt; #{password}&quot;
  # login ...
}
</pre>
<p>You build more complex data structures than this using YAML, but this should be enough to get you going.</p>
]]></content:encoded>
			<wfw:commentRss>http://juixe.com/techknow/index.php/2009/10/08/jamming-with-ruby-yaml/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Rubyist: August 2009 Edition</title>
		<link>http://juixe.com/techknow/index.php/2009/09/07/the-rubyist-august-2009-edition/</link>
		<comments>http://juixe.com/techknow/index.php/2009/09/07/the-rubyist-august-2009-edition/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 01:09:05 +0000</pubDate>
		<dc:creator>TechKnow</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[TechKnow]]></category>
		<category><![CDATA[jruby]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ror]]></category>
		<category><![CDATA[rubyist]]></category>

		<guid isPermaLink="false">http://juixe.com/techknow/?p=853</guid>
		<description><![CDATA[Here is a recap of the top Ruby-related links for the month of August 2009. Links for The Rubyist are provided by A Rubyist Railstastic Adventure, a tumblelog. Ruby Ruby5 Podcast &#8211; Episode #1 Ruby Hoedown 2009 Wrap-Up Avi Bryant on Trendly, Ruby, Smalltalk and Javascript Compiling Ruby: From Text to Bytecode Ruby&#8217;s Metaprogramming Toolbox [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a recap of the top Ruby-related links for the month of August 2009. Links for The Rubyist are provided by <a href="http://rubyist.tumblr.com/">A Rubyist Railstastic Adventure</a>, a tumblelog.</p>
<p><b>Ruby</b></p>
<ul>
<li><a href='http://ruby5.envylabs.com/'>Ruby5 Podcast &#8211; Episode #1</a></li>
<li><a href='http://lylejohnson.name/blog/2009/08/31/ruby-hoedown-2009-wrap-up/'>Ruby Hoedown 2009 Wrap-Up</a></li>
<li><a href='http://www.infoq.com/interviews/bryant-smalltalk-trendly'>Avi Bryant on Trendly, Ruby, Smalltalk and Javascript</a></li>
<li><a href='http://www.engineyard.com/blog/2009/the-anatomy-of-a-ruby-jit-compile/'>Compiling Ruby: From Text to Bytecode</a></li>
<li><a href='http://weare.buildingsky.net/2009/08/25/rubys-metaprogramming-toolbox'>Ruby&#8217;s Metaprogramming Toolbox</a></li>
<li><a href='http://teachingkids.railsbridge.org/2009/08/15/teaching-ruby-to-high-school-girls.html'>Teaching Ruby to High School Girls</a></li>
<li><a href='http://superjared.com/entry/introducing-pedant-ruby-library-will-annoy-you/'>Introducing Pedant, a tiny Ruby library that will annoy the hell out of you</a></li>
<li><a href='http://yehudakatz.com/2009/08/24/my-10-favorite-things-about-the-ruby-language/'>My 10 Favorite Things About the Ruby Language</a></li>
<li><a href='http://extralogical.net/2009/07/ruby-one-niner/'>Ruby One Niner</a></li>
<li><a href='http://www.skorks.com/2009/08/method-arguments-in-ruby/'>Method Arguments In Ruby</a></li>
<li><a href='http://antoniocangiano.com/2009/08/10/how-much-faster-is-ruby-on-linux/'>How much faster is Ruby on Linux?</a></li>
<li><a href='http://rapd.wordpress.com/2009/07/13/python-vs-ruby-slightly-more-in-depth/'>Python vs Ruby, slightly more in-depth</a></li>
</ul>
<p><b>Rails</b></p>
<ul>
<li><a href='http://yehudakatz.com/2009/08/26/how-to-build-sinatra-on-rails-3/'>How to Build Sinatra on Rails 3</a></li>
<li><a href='http://news.ycombinator.com/item?id=782428'>11 Awesome RailsRumble Apps that Deserve to Be Startups</a></li>
<li><a href='http://www.infoq.com/articles/flightcaster-clojure-rails'>Clojure and Rails &#8211; the Secret Sauce Behind FlightCaster</a></li>
<li><a href='http://charlesmaxwood.com/ruby-on-rails-testing-out-edge-rails/'>Ruby on Rails: Testing out Edge Rails</a></li>
<li><a href='http://www.bingocardcreator.com/abingo/'>A/Bingo: Rails AB Testing</a></li>
<li><a href='http://charlesmaxwood.com/good-bye-rails-envy-hello-ruby-5/'>Good-bye Rails Envy, Hello Ruby 5!</a></li>
<li><a href='http://www.rubyinside.com/late-2009-ruby-and-rails-events-2213.html'>Upcoming Late 2009 Ruby and Rails Events</a></li>
<li><a href='http://b.lesseverything.com/2009/8/3/rails-in-the-enterprise'>Rails in the Enterprise</a></li>
<li><a href='http://awesomeful.net/posts/45-postgresql-rails-and-why-you-should-care'>PostgreSQL, Rails, and why you should care</a></li>
<li><a href='http://www.therailsway.com/2009/8/3/users-and-passwords'>Users and Passwords</a></li>
<li><a href='http://rails-primer.appspot.com/'>JRuby on Rails on Google App Engine</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://juixe.com/techknow/index.php/2009/09/07/the-rubyist-august-2009-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Rubyist: July 2009 Edition</title>
		<link>http://juixe.com/techknow/index.php/2009/08/03/the-rubyist-july-2009-edition/</link>
		<comments>http://juixe.com/techknow/index.php/2009/08/03/the-rubyist-july-2009-edition/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 04:39:28 +0000</pubDate>
		<dc:creator>TechKnow</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[TechKnow]]></category>
		<category><![CDATA[july]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rubyist]]></category>

		<guid isPermaLink="false">http://juixe.com/techknow/?p=808</guid>
		<description><![CDATA[Here is a recap of the top Ruby-related links for the month of July 2009. Links for The Rubyist are provided by A Rubyist Railstastic Adventure, a tumblelog. Ruby The Great Ruby IDE Smackdown of &#8217;09 Three Years of Real-World Ruby Python vs Ruby Python&#8217;s Beards and Ruby&#8217;s &#8220;Cool&#8221; Guys The Ruby Programming Language An [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a recap of the top Ruby-related links for the month of July 2009. Links for The Rubyist are provided by <a href="http://rubyist.tumblr.com/">A Rubyist Railstastic Adventure</a>, a tumblelog.</p>
<p><b>Ruby</b></p>
<ul>
<li><a href='http://pivotallabs.com/users/chad/blog/articles/933-the-great-ruby-ide-smackdown-of-09'>The Great Ruby IDE Smackdown of &#8217;09</a></li>
<li><a href='http://www.infoq.com/presentations/fowler-ruby'>Three Years of Real-World Ruby</a></li>
<li><a href='http://regebro.wordpress.com/2009/07/12/python-vs-ruby/'>Python vs Ruby</a></li>
<li><a href='http://www.straw-dogs.co.uk/07/30/pythons-beards-and-rubys-cool-guys/'>Python&#8217;s Beards and Ruby&#8217;s &#8220;Cool&#8221; Guys</a></li>
<li><a href='http://www.i-programmer.info/bookreviews/40-ruby/197-the-ruby-programming-language.html'>The Ruby Programming Language </a></li>
<li><a href='http://platypope.org/blog/2009/7/10/an-example-of-why-ruby-is-no-longer-my-loc'>An example of why Ruby is no longer my LoC</a></li>
<li><a href='http://anemone.rubyforge.org/'>Anemone &#8211; Ruby Web-Spider Framework</a></li>
<li><a href='http://devver.net/blog/2009/06/a-dozen-or-so-ways-to-start-sub-processes-in-ruby-part-1/'>A dozen (or so) ways to start sub-processes in Ruby</a></li>
<li><a href='http://www.therailsway.com/2009/7/22/do-it-later-with-delayed-job'>Do it Later With Delayed Job</a></li>
<li><a href='http://merbist.com/2009/07/27/ruby-rack-and-couchdb-lots-of-awesomeness/'>Ruby, Rack and CouchDB = lots of awesomeness</a></li>
</ul>
<p><b>Rails</b></p>
<ul>
<li><a href='http://blog.thinkrelevance.com/2009/7/21/insurance-on-rails-2'>Insurance on Rails</a></li>
<li><a href='http://net.tutsplus.com/tutorials/ruby/20-ruby-on-rails-tutorials-to-rule-them-all/'>20 Ruby on Rails Tuts to Rule Them All</a></li>
<li><a href='http://net.tutsplus.com/tutorials/ruby/from-codeigniter-to-ruby-on-rails-a-conversion/'>From CodeIgniter to Ruby on Rails: A Conversion</a></li>
<li><a href='http://kangaroobox.blogspot.com/2009/07/generating-pdfs-in-rails-using-prawn.html'>Generating PDFs in Rails using Prawn</a></li>
<li><a href='http://weblog.rubyonrails.org/2009/7/20/rails-2-3-3-touching-faster-json-bug-fixes'>Rails 2.3.3: Touching, faster JSON, bug fixes</a></li>
<li><a href='http://www.pathf.com/blogs/2009/07/review-head-first-rails/'>Review: Head First Rails</a></li>
<li><a href='http://blog.railsrumble.com/2009/7/6/2009-contest-registration'>Rails Rumble 2009 Contest Registration</a></li>
</ul>
<p><b>JRuby</b></p>
<ul>
<li><a href='http://code.google.com/p/appengine-jruby/wiki/GettingStarted'>Google App Engine API Wrappers for JRuby</a></li>
<li><a href='http://www.softdevtube.com/2009/07/20/jruby-and-beyond-a-renaissance-for-the-java-platform/'>JRuby and Beyond: A Renaissance for the Java Platform</a></li>
<li><a href='http://blog.headius.com/2009/07/jrubys-importance-to-ruby-and-erubycon.html'>JRuby&#8217;s Importance to Ruby, and eRubyCon 2009</a></li>
<li><a href='http://www.itworld.com/business/72663/suns-jruby-team-jumps-ship-engine-yard'>Sun&#8217;s JRuby team jumps ship to Engine Yard</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://juixe.com/techknow/index.php/2009/08/03/the-rubyist-july-2009-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Rubyist: May 2009 Edition</title>
		<link>http://juixe.com/techknow/index.php/2009/06/01/the-rubyist-may-2009-edition/</link>
		<comments>http://juixe.com/techknow/index.php/2009/06/01/the-rubyist-may-2009-edition/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 16:24:18 +0000</pubDate>
		<dc:creator>TechKnow</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[TechKnow]]></category>

		<guid isPermaLink="false">http://www.juixe.com/techknow/?p=648</guid>
		<description><![CDATA[Ruby &#8211; I was really excited to play with _Why&#8217;s latest project, Bloopsaphone. Bloopsaphone allows you to program 8-bit sounds&#8230; Early 8-bit Sounds from _why&#8217;s Bloopsaphone What It&#8217;s Like Being A Ruby Rock Star The Ruby Toolbox Fixing Threads in Ruby 1.8: A 2-10x performance boost Engine Yard Has Taken Over Ruby 1.8.6 Maintenance Ruby [...]]]></description>
			<content:encoded><![CDATA[<p><b>Ruby</b> &#8211; I was really excited to play with _Why&#8217;s latest project, Bloopsaphone.  Bloopsaphone allows you to program 8-bit sounds&#8230;</p>
<ul>
<li><a href='http://www.urbanhonking.com/ideasfordozens/2009/05/early_8bit_sounds_from__whys_b.html'>Early 8-bit Sounds from _why&#8217;s Bloopsaphone</a></li>
<li><a href='http://gilesbowkett.blogspot.com/2009/05/what-its-like-being-ruby-rock-star.html'>What It&#8217;s Like Being A Ruby Rock Star</a></li>
<li><a href='http://ruby-toolbox.com/'>The Ruby Toolbox</a></li>
<li><a href='http://timetobleed.com/fixing-threads-in-ruby-18-a-2-10x-performance-boost/'>Fixing Threads in Ruby 1.8: A 2-10x performance boost</a></li>
<li><a href='http://www.infoq.com/news/2009/05/ruby186-maintenance'>Engine Yard Has Taken Over Ruby 1.8.6 Maintenance</a></li>
<li><a href='http://ruby.alltop.com/'>Ruby Alltop</a></li>
<li><a href='http://antony-raj.blogspot.com/2009/05/regular-expression-ruby.html'>Regular expression Ruby</a></li>
<li><a href='http://www.hiveminds.co.uk/?p=36010'>Ruby Polyglot: Talking with Erlang</a></li>
<li><a href='http://www.khelll.com/blog/ruby/ruby-currying/'>Ruby Currying</a></li>
<li><a href='http://www.railsenvy.com/2009/5/11/rubystein-ruby-meets-wolfenstein'>Rubystein: Ruby meets Wolfenstein</a></li>
<li><a href='http://mentalized.net/journal/2009/05/19/java_kicks_ruby_in_the_what_now/'>Java kicks Ruby in the what now?</a></li>
<li><a href='http://simply-hacking.org/macruby-support-in-any-cocoa-application.html'>Macruby Support in any Cocoa Application</a></li>
</ul>
<p><b>JRuby</b> &#8211; There are still a lot of news and tutorials regarding deploying JRuby on Rails in Google App Engine for Java.</p>
<ul>
<li><a href='http://jruby-rack.appspot.com/'>Ruby on Rails on Google App Engine</a></li>
<li><a href='http://oddthesis.org/posts/2009-05-jboss-rails-becomes-torquebox'>JBoss Rails Becomes TorqueBox</a></li>
<li><a href='http://blog.headius.com/2009/05/bitescript-002-scripting-examples.html'>BiteScript 0.0.2 Scripting Examples</a></li>
<li><a href='http://blog.pluron.com/2009/05/ruby-19-performance.html'>The future of Rails is Ruby 1.9 &#8211; real performance of 1.8, JRuby and 1.9 compared</a></li>
<li><a href='http://marxsoftware.blogspot.com/2009/04/visualvm-jruby-and-ruby-to-jvm-spectrum.html'>VisualVM: JRuby and the Ruby to JVM Spectrum</a></li>
<li><a href='http://bosmeeuw.wordpress.com/2009/05/01/jruby-on-rails-pdf-generation-and-flying-saucers/'>JRuby on Rails, PDF generation and Flying Saucers</a></li>
</ul>
<p><b>Ruby on Rails</b> &#8211; This month saw a lot of good articles regarding Ruby on Rails&#8230;  I particularly enjoyed reading &#8216;A Django Developer&#8217;s Views on Rails.&#8217;</p>
<ul>
<li><a href='http://www.juixe.com/techknow/index.php/2009/05/29/being-a-better-rails-developer/'>Being a Better Rails Developer</a></li>
<li><a href='http://kevin.scaldeferri.com/blog/2009/05/08/RailsRackResponse.html'>Speeding up a Rails request by 150ms by changing 1 line</a></li>
<li><a href='http://blog.xambr.com/2009/05/28/rails-alternatives-merb-sinatra-ramaze/'>Rails Alternatives: Merb, Sinatra &#038; Ramaze</a></li>
<li><a href='http://loopj.com/2009/05/23/a-django-developers-views-on-rails/'>A Django Developer&#8217;s Views on Rails</a></li>
<li><a href='http://blog.nelsonsilva.eu/2009/05/22/create-ror-model-diagrams-with-yumlmerails/'>Create RoR model diagrams with yUMLmeRails </a></li>
<li><a href='http://www.engineyard.com/blog/2009/5-tips-to-scale-your-ror-application/'>5 Tips to Scale Your Ruby on Rails Application</a></li>
<li><a href='http://blogs.law.harvard.edu/philg/2009/05/18/ruby-on-rails-and-the-importance-of-being-stupid/'>Ruby on Rails and the importance of being stupid</a></li>
<li><a href='http://railsbridge.org/'>RailsBridge</a></li>
<li><a href='http://www.internetnews.com/dev-news/article.php/3819116/Rails+3+Gets+Supersized+With+Merb.htm'>Rails 3 Gets Supersized With Merb</a></li>
<li><a href='http://sixrevisions.com/web-development/four-ways-ruby-on-rails-can-help-you/'>Four Ways Ruby on Rails Can Help You</a></li>
<li><a href='http://www.rorsecurity.info/the-book/'>Ruby on Rails Security Project</a></li>
</ul>
<p><b>RailsConf 2009</b> -There can&#8217;t be a Rails conference without some sort of argument or debate spilling over to the blogosphere.  This year is no different but fortunately the biggest issue was the mass walk out of the Keynote speech.</p>
<ul>
<li><a href='http://railsconf.blip.tv/'>RailsConf 2009 Blip Channel</a></li>
<li><a href='http://www.railsinside.com/events/288-petition-we-think-railsconf-sessions-should-be-recorded-properly.html'>Petition: We Think RailsConf Sessions Should Be Recorded, Properly</a></li>
<li><a href='http://www.juixe.com/techknow/index.php/2009/05/15/railsconf-2009-presentations/'>RailsConf 2009 Presentations </a></li>
<li><a href='http://www.rubyinside.com/the-mega-railsconf-2009-round-up-1757.html'>The Mega RailsConf 2009 Round Up</a></li>
<li><a href='http://www.railsinside.com/events/285-tim-ferriss-railsconf-2009-keynote.html'>Tim Ferriss&#8217; RailsConf Keynote Bores Audience To Tears; Mass Walk Out</a></li>
<li><a href='http://railsmagazine.com/issues/2'>Rails Magazine Issue #2: RailsConf 2009</a></li>
<li><a href='http://rubyology.com/podcasts/show/80'>Rubyology 80: Heroku Interview, RailsConf 2009</a></li>
<li><a href='http://litanyagainstfear.com/blog/2009/05/05/railsconf-2009-notes/'>RailsConf 2009 Notes</a></li>
<li><a href='https://gist.github.com/0a2655aed6a26fa15a02'>Don&#8217;t Think, Be a Famous Rails Developer</a></li>
<li><a href='http://litanyagainstfear.com/blog/2009/05/05/railsconf-2009-rails-is-from-mars-ruby-is-from-venus/'>RailsConf 2009 Rails is from Mars Ruby is From Venus</a></li>
<li><a href='http://www.engineyard.com/blog/community/scotland-on-rails/'>Scotland on Rails 2009</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://juixe.com/techknow/index.php/2009/06/01/the-rubyist-may-2009-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Being a Better Rails Developer</title>
		<link>http://juixe.com/techknow/index.php/2009/05/29/being-a-better-rails-developer/</link>
		<comments>http://juixe.com/techknow/index.php/2009/05/29/being-a-better-rails-developer/#comments</comments>
		<pubDate>Fri, 29 May 2009 16:09:16 +0000</pubDate>
		<dc:creator>TechKnow</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[TechKnow]]></category>

		<guid isPermaLink="false">http://www.juixe.com/techknow/?p=634</guid>
		<description><![CDATA[If you search for ways to become a better developer you will find nearly 70 million results. After reading as many of those results as possible and still learn something, I boiled down all the advice to the following general axioms. Read Everything Learn Fast, Learn Everything Practice What You Know Try New Things Strive [...]]]></description>
			<content:encoded><![CDATA[<p>If you search for ways to become a <a href="http://www.juixe.com/techknow/index.php/2009/05/25/being-a-better-developer/">better developer</a> you will find nearly 70 million results.  After reading as many of those results as possible and still learn something, I boiled down all the advice to the following general axioms.</p>
<ul>
<li>Read Everything</li>
<li>Learn Fast, Learn Everything</li>
<li>Practice What You Know</li>
<li>Try New Things</li>
<li>Strive for Simplicity</li>
<li>Write and Teach</li>
<li>Assume Nothing</li>
<li>Question Everything</li>
<li>It is Not Personal</li>
<li>Know Your Tools</li>
<li>Rinse and Repeat</li>
</ul>
<p>The advice above can be used in just about any industry by anyone trying to advance in their career.  This advice holds true whether your are a Ruby programmer or investment banker.  The truth is that being a better students makes us better at whatever we do.  If we learn how to learn, to see the patterns blindfolded, to navigate up and down the different layers of abstractions, to troubleshoot and debug code you never seen before, to ask the right questions at the right time&#8230; all these things help us write better programs no matter what language or technology stack you use.</p>
<p>That said, I wanted to illustrate these rules with more concrete examples specific to programming.  Given a particular job title, say Ruby on Rails Developer, we can break down the above axioms to the following advice for being a better Rails developer&#8230;</p>
<ul>
<li>Read Everything
<ul>
<li>Download sample/Open Source apps</li>
<li>Dig into Rails source code</li>
<li>Read tutorials</li>
<li>Read books</li>
</ul>
</li>
<li>Learn Fast, Learn Everything
<ul>
<li>Master Ruby</li>
<li>Know SQL</li>
<li>Understand CSS</li>
<li>Use JavaScript</li>
<li>Learn HTML</li>
<li>Pickup HTTP</li>
<li>Use FTP</li>
</ul>
</li>
<li>Practice What You Know
<ul>
<li>Write code, scripts, and libraries</li>
<li>Start Open Source projects</li>
<li>Submit patches</li>
</ul>
</li>
<li>Try New Things
<ul>
<li>Tryout latest release</li>
<li>Find new plugins</li>
<li>Find new gems</li>
<li>Use different frameworks</li>
<li>Integrate with new services</li>
<li>Catch up on a new languages</li>
</ul>
</li>
<li>Write and Teach
<ul>
<li>Write prototypes</li>
<li>Write a gem</li>
<li>Write plugins</li>
<li>Write tutorials</li>
<li>Give presentations, brown bags, tech talks</li>
</ul>
</li>
<li>Assume Nothing
<ul>
<li>Don&#8217;t believe the hype, dogma, marketing</li>
<li>Test everything</li>
<li>Quantify assumptions</li>
</ul>
</li>
<li>Know Your Tools
<ul>
<li>Know editor shortcuts</li>
<li>Know editor code templates</li>
<li>Use editor plugins</li>
<li>Use version control</li>
<li>Use FireBug</li>
</ul>
</li>
</ul>
<p>Again, these are just a few words of advice that we can exercise to help us write better software.  No one rule or axiom is enough.  Other Rails developer would add additional advice, this is especially true with each new release of Rails.  With each new release of Rails or Rails specific tools, we add and remove some of the advice given for a Rails developer.  If I had written a list like this for a Java EE developer in 2001, that list would be out of date for a Java EE developer today.  The key is that no one process, tool, framework, library, or language will make us better programmers but our daily <a href="http://www.juixe.com/techknow/index.php/2009/05/28/developers-perpetual-todo-list/">developer routine</a>, our behavior, and discipline&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://juixe.com/techknow/index.php/2009/05/29/being-a-better-rails-developer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>RailsConf 2009 Presentations</title>
		<link>http://juixe.com/techknow/index.php/2009/05/15/railsconf-2009-presentations/</link>
		<comments>http://juixe.com/techknow/index.php/2009/05/15/railsconf-2009-presentations/#comments</comments>
		<pubDate>Sat, 16 May 2009 00:11:10 +0000</pubDate>
		<dc:creator>TechKnow</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[TechKnow]]></category>

		<guid isPermaLink="false">http://www.juixe.com/techknow/index.php/2009/05/15/railsconf-2009-presentations/</guid>
		<description><![CDATA[If you missed RailsConf 2009 earlier in the month, Blip.TV has a few of the RailsConf presentations online so that you can catch up. Here are some of the highlights from RailsConf 2009. David Heinemeier Hansson &#8211; Rails 3 &#8230;and the real secret to high productivity. Robert Martin &#8211; What Killed Smalltalk Could Kill Ruby, [...]]]></description>
			<content:encoded><![CDATA[<p>If you missed RailsConf 2009 earlier in the month, Blip.TV has a few of the <a href="http://railsconf.blip.tv/">RailsConf presentations</a> online so that you can catch up.  Here are some of the highlights from RailsConf 2009.</p>
<p><embed src="http://blip.tv/play/Af_dI4a8BA" type="application/x-shockwave-flash" width="530" height="340" allowscriptaccess="always" allowfullscreen="true"></embed></p>
<ul>
<li><a href="http://railsconf.blip.tv/file/2081411/">David Heinemeier Hansson</a> &#8211; Rails 3 &#8230;and the real secret to high productivity.</li>
<li><a href="http://railsconf.blip.tv/file/2089545/">Robert Martin</a> &#8211; What Killed Smalltalk Could Kill Ruby, Too.</li>
<li><a href="http://railsconf.blip.tv/file/2086330/">Chris Wanstrath</a> &#8211; How to become a famous Rails Developer, Ruby Rockstar or Code Ninja.</li>
<li><a href="http://railsconf.blip.tv/file/2086252/">Jon Crosby, Joe Arnold and Andy Delcomb</a> &#8211; Agility in Deployment &#8211; Rails in the Cloud.</li>
<li><a href="http://railsconf.blip.tv/file/2086222/">Tim Ferriss</a> &#8211; A Conversation with Tim Ferriss, author of The 4-Hour Work Week.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://juixe.com/techknow/index.php/2009/05/15/railsconf-2009-presentations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Rubyist: April 2009 Edition</title>
		<link>http://juixe.com/techknow/index.php/2009/05/03/the-rubyist-april-2009-edition/</link>
		<comments>http://juixe.com/techknow/index.php/2009/05/03/the-rubyist-april-2009-edition/#comments</comments>
		<pubDate>Sun, 03 May 2009 18:30:18 +0000</pubDate>
		<dc:creator>TechKnow</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[TechKnow]]></category>

		<guid isPermaLink="false">http://www.juixe.com/techknow/index.php/2009/05/03/the-rubyist-april-2009-edition/</guid>
		<description><![CDATA[Here is a recap of the top Ruby-related links for the month of April 2009. Links for The Rubyist are provided by A Rubyist Railstastic Adventure, a tumblelog. Ruby &#8211; Earlier in the month the hot topic in the Ruby community involved Twitter and their use of Scala for some back-end processes. Just suggesting that [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a recap of the top Ruby-related links for the month of April 2009. Links for The Rubyist are provided by <a href="http://rubyist.tumblr.com/">A Rubyist Railstastic Adventure</a>, a tumblelog.</p>
<p><b>Ruby</b> &#8211; Earlier in the month the hot topic in the Ruby community involved Twitter and their use of Scala for some back-end processes.  Just suggesting that Ruby, and in particular Rails does not scale starts the debate all over again.  This time Dave Thomas chipped in with a defense for Twitter&#8217;s right to choose the right tool for the right job.  Other highlights are the NetBeans&#8217; support of Ruby 1.9 and MountainWest RubyConf 2009 videos.</p>
<ul>
<li><a href='http://topsecretproject.finitestatemachine.com/2009/04/the-great-twitter-ruby-vs-scala-war-debate/'>The great Twitter Ruby vs Scala war debate</a></li>
<li><a href='http://unlimitednovelty.com/2009/04/twitter-blaming-ruby-for-their-mistakes.html'>Twitter: blaming Ruby for their mistakes?</a></li>
<li><a href='http://pragdave.blogs.pragprog.com/pragdave/2009/04/twitter-should-move-away-from-ruby.html'>PragDave: Twitter Should Move Away from Ruby</a></li>
<li><a href='http://www.theregister.co.uk/2009/04/01/twitter_on_scala/'>Twitter jilts Ruby for Scala</a></li>
<li><a href='http://ikaisays.com/2009/04/02/twitter-ruby-on-rails-scala-and-people-who-dont-rtfa/'>Twitter, Ruby on Rails, Scala and people who don&#8217;t RTFA</a></li>
<li><a href='http://axiombox.com/rubx/'>Rubx: Twitter&#8217;s Ruby shell</a></li>
<li><a href='http://www.cs.umd.edu/projects/PL/druby/'>Diamondback Ruby &#8211; static typing extensions</a></li>
<li><a href='http://www.hokstad.com/the-problem-with-compiling-ruby.html'>The problem with compiling Ruby</a></li>
<li><a href='http://blog.evanweaver.com/articles/2009/04/09/ruby-gc-tuning/'>ruby gc tuning </a></li>
<li><a href='http://www.infoq.com/news/2009/04/gc-tuning-maglev-macruby'>Ruby Performance Roundup: GC Tuning, MagLev, MacRuby</a></li>
<li><a href='http://www.igvita.com/2009/04/20/ruby-proxies-for-scale-and-monitoring/'>Ruby Proxies for Scale and Monitoring</a></li>
<li><a href='http://www.binarylogic.com/2009/04/19/ruby-tips-from-me-your-idol/'>Ruby tips from me, your idol</a></li>
<li><a href='http://www.sapphiresteel.com/Book-of-Ruby-Completed-425-pages'>The Book of Ruby</a></li>
<li><a href='http://blogs.sun.com/emononen/entry/ruby_1_9_support'>NetBeans Ruby 1.9 Support</a></li>
<li><a href='http://mwrc2009.confreaks.com/'>MountainWest RubyConf 2009</a></li>
<li><a href='http://enfranchisedmind.com/blog/posts/ruby-is-the-future/'>Ruby is the Future</a></li>
<li><a href='http://blog.grayproductions.net/articles/the_evils_of_the_for_loop'>The Evils of the For Loop</a></li>
<li><a href='http://www.metacircus.com/hacking/2009/04/10/look-ma-no-monads.html'>Sinful QuickChecking in Ruby</a></li>
<li><a href='http://www.macruby.org/'>MacRuby</a></li>
<li><a href='http://rubyconf2008.confreaks.com/os-x-application-development-with-hotcocoa.html'>OS X Application Development with HotCocoa</a></li>
<li><a href='http://vision-media.ca/resources/ruby/ruby-growl-notifications'>Ruby Growl Notifications</a></li>
</ul>
<p><b>Rails</b> &#8211; A favorite post this month regarding Rails was an article from Chad Fowler and a list he compiled of 20 Ruby on Rails development no-no&#8217;s.  Chad gather much of the material for the article from fellow Rubyists via Twitter.  Also of interest was the Ruby on Rails template for creating Twitter applications.</p>
<ul>
<li><a href='http://www.chadfowler.com/2009/4/1/20-rails-development-no-no-s'>20 Rails Development No-No&#8217;s</a></li>
<li><a href='http://www.pixellatedvisions.com/2009/04/06/integrating-flickr-into-your-rails-website'>Integrating Flickr into your rails website</a></li>
<li><a href='http://intridea.com/2009/4/3/rails-template-create-a-twitter-application-in-seconds?blog=company'>Rails Template: Create a Twitter Application in Seconds</a></li>
<li><a href='http://niczsoft.com/2009/04/ruby-on-rails-application-in-10-minutes-is-a-myth/'>Ruby on Rails application in 10 minutes is a myth</a></li>
<li><a href='http://giantrobots.thoughtbot.com/2009/4/15/rails-2-3-2-upgrade-gotchas'>Rails 2.3.2 upgrade gotchas</a></li>
<li><a href='http://www.brenelz.com/blog/2009/04/13/ruby-on-rails-to-do-list-tutorial/'>Ruby on Rails To Do List Tutorial</a></li>
<li><a href='http://railsnotes.com/161-rails-server-setup/'>Rails Server Setup + App Deployment Using Moonshine</a></li>
<li><a href='http://luigimontanez.com/2009/ruby-on-rails-its-core-team'>Ruby on Rails != Its Core Team</a></li>
<li><a href='http://www.thewhir.com/web-hosting-news/042409_Heroku_Launches_Cloud_Hosting_for_Ruby_Apps'>Heroku Launches Cloud Hosting for Ruby Apps</a></li>
<li><a href='http://blog.bradgessler.com/use-monit-with-rails-not-god'>Use Monit with Rails, not God</a></li>
<li><a href='http://dev.innovationfactory.nl/2009/04/21/saving-bandwidth-with-rails/'>Saving bandwidth with Rails</a></li>
<li><a href='http://www.chadfowler.com/2009/4/22/railsconf-speaker-interview-mike-subelsky'>RailsConf Speaker Interview: Mike Subelsky</a></li>
<li><a href='http://harryseldon.thinkosphere.com/2009/04/18/how-to-draw-mandelbrots-fractal-with-rails-and-open-flash-chart'>How to draw Mandelbrot&#8217;s fractal with Rails and Open Flash Chart?</a></li>
<li><a href='http://harryseldon.thinkosphere.com/2009/04/20/stacked-bar-chart-with-rails-and-open-flash-chart'>Stacked bar chart with Rails and Open Flash Chart</a></li>
</ul>
<p><b>JRuby</b> &#8211; Google recently released Java support for Google App Engine, this means that there has been a lot of activity around JRuby on Rails on App Engine.</p>
<ul>
<li><a href='http://blog.bigcurl.de/2009/04/running-sinatra-apps-on-google.html'>Running Sinatra apps on Google AppEngine (Java)</a></li>
<li><a href='http://olabini.com/blog/2009/04/jruby-on-rails-on-google-app-engine/'>JRuby on Rails on Google App Engine</a></li>
<li><a href='http://letsgetdugg.com/2009/04/28/ruby-scaling-up-to-multiple-cpus/'>JRuby scaling up to multiple CPUs</a></li>
<li><a href='http://blog.nicksieger.com/articles/2009/04/11/jruby-on-google-appengine-first-impressions'>JRuby on Google AppEngine: First Impressions</a></li>
<li><a href='http://blog.headius.com/2009/03/bitescript-001-ruby-dsl-for-jvm.html'>BiteScript 0.0.1 &#8211; A Ruby DSL for JVM Bytecode</a></li>
<li><a href='http://blog.headius.com/2009/04/apache-jruby-rails-glassfish-easy.html'>Apache + JRuby + Rails + GlassFish = Easy Deployment!</a></li>
<li><a href='http://blog.headius.com/2009/04/setting-up-typo-on-jruby.html'>Setting up Typo on JRuby</a></li>
<li><a href='http://blog.headius.com/2009/04/jruby-moves-to-git.html'>JRuby Moves to Git</a></li>
<li><a href='http://jeanderuelle.blogspot.com/2009/04/jruby-voip-app-on-jboss-5-reloaded-look.html'>JRuby VoIP app on JBoss 5 reloaded</a></li>
<li><a href='http://www.logustus.com/2009/04/jruby-quick-and-dirty.html'>JRuby &#8211; Quick and Dirty</a></li>
</ul>
<p><b>GoGaRuCouchDeBate</b> &#8211; Scalability is not the only stigma in the Ruby community.  The other hot button has been the brash attitude and behavior of certain key members in the community.  This all came to boiling point, yet again, at Golden Gate RubyConf when Matt Aimonetti gave a presentation entitled CouchDB: Perform Like a Pornstar.  The subject matter of the presentation was overshadows by the images of scantily clad women, then the allegations of male chauvinism amongst the rank and file in the Ruby and Rails community.  The way recent Ruby conference have been shaping up, I think RailsConf 2009 in Las Vegas will have strippers giving presentations on cache girth and performance.</p>
<ul>
<li><a href='http://merbist.com/2009/04/28/on-engendering-strong-reactions/'>On Engendering Strong Reactions</a></li>
<li><a href='http://skepticalphoenix.blogspot.com/2009/04/gogaruco.html'>GoGaRuCo Fist Shaking</a></li>
<li><a href='http://www.bofh.org.uk/2009/04/28/another-conference-season-another-dumb-sexist'>Another conference season, another dumb sexist</a></li>
<li><a href='http://www.hanselman.com/blog/DontGiveBileAPermalinkFindingBalanceWithinTheNoAssholeRule.aspx'>Finding Balance within The No Asshole Rule</a></li>
<li><a href='http://afreshcup.com/2009/04/28/a-painful-decision/'>A Painful Decision</a></li>
<li><a href='http://www.renaebair.com/2009/04/27/perform-like-a-frag-star/'>Perform Like A Frag Star</a></li>
<li><a href='http://www.sarahmei.com/blog/?p=46'>Why Rails is Still a Ghetto</a></li>
<li><a href='http://martinfowler.com/bliki/SmutOnRails.html'>Smut on Rails</a></li>
<li><a href='http://accidentaltechnologist.com/ruby/rails-immaturity-model/'>Rails Immaturity Model</a></li>
<li><a href='http://blog.hasmanythrough.com/2009/4/29/not-the-post'>Not the Post</a></li>
<li><a href='http://damienkatz.net/2009/04/pr0n_on_the_couch.html'>Pr0n on the Couch</a></li>
<li><a href='http://www.ultrasaurus.com/sarahblog/2009/04/gender-and-sex-at-gogaruco/'>Gender and Sex at GoGaRuCo</a></li>
<li><a href='http://www.quirkey.com/blog/2009/04/27/the-ghetto-of-the-mind/'>The ghetto of the mind</a></li>
<li><a href='http://hackety.org/2009/04/29/aSelectionOfThoughtsFromActualWomen.html'>A Selection Of Thoughts From Actual Women</a></li>
<li><a href='http://lizkeogh.com/2009/04/29/i-am-not-a-pr0n-star-avoiding-unavoidable-associations/'>I am not a Pr0n Star: avoiding unavoidable associations</a></li>
<li><a href='http://loudthinking.com/posts/40-alpha-male-programmers-arent-keeping-women-out'>Alpha male programmers aren&#8217;t keeping women out</a></li>
<li><a href='http://www.rubyrailways.com/rails-is-still-a-ghetto/'>Rails *is* (still) a Ghetto</a></li>
<li><a href='http://dyepot-teapot.com/2009/04/25/dear-fellow-rubyists/'>Dear Fellow Rubyists</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://juixe.com/techknow/index.php/2009/05/03/the-rubyist-april-2009-edition/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

