<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>QuirkeyBlog</title>
	
	<link>http://www.quirkey.com/blog</link>
	<description>A Developer with too little time.</description>
	<lastBuildDate>Fri, 12 Jun 2009 17:41:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/quirkey" type="application/rss+xml" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Sammy.js hits a new milestone (0.2.0)</title>
		<link>http://feedproxy.google.com/~r/quirkey/~3/9DY-kzUOG2g/</link>
		<comments>http://www.quirkey.com/blog/2009/06/12/sammyjs-hits-a-new-milestone-020/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 17:40:15 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Sammy]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=325</guid>
		<description><![CDATA[Thanks to the support and help of an awesome community, Sammy.js hit 0.2.0 on Monday. You can see the full release notes here and the API doc has been updated to reflect the changes.

My favorite feature from this update might be the simplest. 

Rendering partials now uses a special swap() method on Sammy.Application. By default [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to the support and help of an awesome community, <a href="http://code.quirkey.com/sammy">Sammy.js</a> hit 0.2.0 on Monday. You can see the <a href="http://groups.google.com/group/sammyjs/browse_thread/thread/add71f66703fe74f">full release notes here</a> and the <a href="http://code.quirkey.com/sammy/docs/api.html">API doc</a> has been updated to reflect the changes.</p>

<p>My favorite feature from this update might be the simplest. </p>

<p>Rendering partials now uses a special <code>swap()</code> method on <code>Sammy.Application</code>. By default it just uses jQuery's <code>html()</code> method to swap out the old content of <code>$element</code> with the new content. The power though, is you easily override this to provide a cool transition when a new partial is rendered.</p>

<pre class="textmate-source"><span class="source source_js source_js_jquery"><span class="storage storage_type storage_type_js">var</span> app <span class="keyword keyword_operator keyword_operator_js">=</span> <span class="keyword keyword_operator keyword_operator_js">$</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>sammy<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="storage storage_type storage_type_js">function</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">()</span> <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>
  
  <span class="meta meta_function meta_function_js"><span class="support support_class support_class_js">this</span>.<span class="entity entity_name entity_name_function entity_name_function_js">swap</span> <span class="keyword keyword_operator keyword_operator_js">=</span> <span class="storage storage_type storage_type_function storage_type_function_js">function</span><span class="punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_begin punctuation_definition_parameters_begin_js">(</span><span class="variable variable_parameter variable_parameter_function variable_parameter_function_js">content</span><span class="punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_end punctuation_definition_parameters_end_js">)</span></span> <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>
    <span class="storage storage_type storage_type_js">var</span> width <span class="keyword keyword_operator keyword_operator_js">=</span> <span class="support support_class support_class_js support_class_js_jquery">$</span><span class="punctuation punctuation_section punctuation_section_class punctuation_section_class_js">(</span><span class="meta meta_selector meta_selector_jquery"><span class="support support_class support_class_js">window</span></span><span class="punctuation punctuation_section punctuation_section_class punctuation_section_class_js">)</span><span class="support support_function support_function_js support_function_js_jquery">.width</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">()</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
    <span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="keyword keyword_operator keyword_operator_js">$</span>element<span class="meta meta_brace meta_brace_round meta_brace_round_js">()</span>
      <span class="support support_function support_function_js support_function_js_jquery">.wrapInner</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>&lt;div class="inner"&gt;&lt;/div&gt;<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span>
      <span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="support support_function support_function_js support_function_js_jquery">children</span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_js">(</span><span class="meta meta_selector meta_selector_jquery"><span class="punctuation punctuation_definition punctuation_definition_selector punctuation_definition_selector_begin punctuation_definition_selector_begin_js">'</span><span class="meta meta_selector meta_selector_css"><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_class entity_other_attribute-name_class_css"><span class="punctuation punctuation_definition punctuation_definition_attribute-name punctuation_definition_attribute-name_css">.</span>inner</span></span><span class="punctuation punctuation_definition punctuation_definition_selector punctuation_definition_selector_end punctuation_definition_selector_end_js">'</span></span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_js">)</span>
        <span class="support support_function support_function_js support_function_js_jquery">.animate</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>queue: <span class="constant constant_language constant_language_boolean constant_language_boolean_false constant_language_boolean_false_js">false</span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span>left: <span class="string string_quoted string_quoted_double string_quoted_double_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">"</span>-<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">"</span></span> <span class="keyword keyword_operator keyword_operator_js">+</span> width<span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="constant constant_numeric constant_numeric_js">400</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span>
        <span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span><span class="support support_function support_function_js support_function_js_jquery">remove</span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_js">()</span>
        <span class="support support_function support_function_js support_function_js_jquery">.end</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">()</span>
      <span class="support support_function support_function_js support_function_js_jquery">.html</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span>content<span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span>
      <span class="support support_function support_function_js support_function_js_jquery">.css</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>left: width<span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span>
      <span class="support support_function support_function_js support_function_js_jquery">.animate</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>left: <span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>0px<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span>width: width<span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="constant constant_numeric constant_numeric_js">400</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
  <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
  
  <span class="variable variable_language variable_language_js">this</span><span class="support support_function support_function_js support_function_js_jquery">.get</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>#/user/:name<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="storage storage_type storage_type_js">function</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">()</span> <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>
    <span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>partial<span class="meta meta_brace meta_brace_round meta_brace_round_js">(</span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>name.erb<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_delimiter meta_delimiter_object meta_delimiter_object_comma meta_delimiter_object_comma_js">, </span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">{</span>name: <span class="variable variable_language variable_language_js">this</span><span class="meta meta_delimiter meta_delimiter_method meta_delimiter_method_period meta_delimiter_method_period_js">.</span>params<span class="meta meta_brace meta_brace_square meta_brace_square_js">[</span><span class="string string_quoted string_quoted_single string_quoted_single_js"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_js">'</span>name<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_js">'</span></span><span class="meta meta_brace meta_brace_square meta_brace_square_js">]</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
  <span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span>
  
  <span class="comment comment_line comment_line_double-slash comment_line_double-slash_js"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_js">//</span>...
</span><span class="meta meta_brace meta_brace_curly meta_brace_curly_js">}</span><span class="meta meta_brace meta_brace_round meta_brace_round_js">)</span><span class="punctuation punctuation_terminator punctuation_terminator_statement punctuation_terminator_statement_js">;</span></span></pre>

<p>Now, when you go to '#/user/aq' or similar, it will use the swap method to do a nifty transition, instead of ye old <code>html()</code>.</p>

<p>Theres more examples and Sammy on the way. Come join the mailing list or hang out in irc to learn or contribute.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/quirkey?a=9DY-kzUOG2g:NNzUqQj7PBw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=9DY-kzUOG2g:NNzUqQj7PBw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=9DY-kzUOG2g:NNzUqQj7PBw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/quirkey?i=9DY-kzUOG2g:NNzUqQj7PBw:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/06/12/sammyjs-hits-a-new-milestone-020/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.quirkey.com/blog/2009/06/12/sammyjs-hits-a-new-milestone-020/</feedburner:origLink></item>
		<item>
		<title>What I’ve been up to: The End o’ May Edition</title>
		<link>http://feedproxy.google.com/~r/quirkey/~3/ccPX8wdC8Og/</link>
		<comments>http://www.quirkey.com/blog/2009/05/29/what-ive-been-up-to-the-end-o-may-edition/#comments</comments>
		<pubDate>Fri, 29 May 2009 14:59:08 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Sammy]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=321</guid>
		<description><![CDATA[	Another busy couple of weeks and a lot more &#8230; Stuff!

	
		Two weeks ago I released Sammy and since then its been getting a lot of great feedback. It was mentioned in a github rebase and Nick Plante wrote a great post on DDJ. I&#8217;m really impressed with what people have done with it so far. [...]]]></description>
			<content:encoded><![CDATA[	<p>Another busy couple of weeks and a lot more &#8230; Stuff!</p>

	<ul>
		<li>Two weeks ago <a href="http://www.quirkey.com/blog/2009/05/15/introducing-sammy-the-tiny-but-swingin-javascript-framework/" title="">I released Sammy</a> and since then its been getting a lot of great feedback. It was mentioned in a <a href="http://github.com/blog/433-github-rebase-21" title="">github rebase</a> and <a href="http://dobbscodetalk.com/index.php?option=com_myblog&#038;show=Sammy---A-jQuery-Web-Framework.html&#038;Itemid=29" title="">Nick Plante wrote a great post on <span class="caps">DDJ</span>.</a> I&#8217;m really impressed with what people have done with it so far. <a href="http://twitter.com/langalex" title="">Alex Lang,</a> especially, has fulfilled a vision I had by embedding <a href="http://github.com/langalex/couchdb_example_wiki/tree/4edff3ed2750a19bf57e74d19dc3e9153e461762/couchapp" title="">Sammy as the client controller for a couch app.</a> Also make sure to check out his <a href="http://github.com/langalex/boom_amazing/tree/master" title="">Boom Amazing</a> presentation tool using Sammy as the proxy for controlling a slideshow contained in a massive <span class="caps">SVG</span>. I&#8217;m crossing my fingers that they&#8217;ll be a video of his <a href="http://railswaycon.com/" title="">RailsWayCon</a> presentation. Sammy also has <a href="http://groups.google.com/group/sammyjs" title="">a mailing list now</a> and (hopefully) soon a dedicated <span class="caps">IRC</span> room.</li>
	</ul>

	<ul>
		<li><a href="http://code.quirkey.com/gembox" title="">Gembox</a> was <a href="http://www.rubyinside.com/rdoc-some-alternative-ways-of-looking-at-documentation-1785.html" title="">featured as a great tool for viewing RDocs on RubyInside.</a> This inspired a little flurry of activity and commits with more to come. Thanks to <a href="http://twitter.com/lenary" title="lenary">Samuel Elliot </a> Gembox works in passenger pane.</li>
	</ul>

	<ul>
		<li>EngineYard finally posted <a href="http://www.engineyard.com/blog/community/scotland-on-rails/" title="">the videos</a> from <a href="http://scotlandonrails.com" title="">Scotland on Rails</a> and you can <a href="http://scotland-on-rails.s3.amazonaws.com/2A02_AaronQuint-SOR.mp4" title="">view my talk in full quicktime glory.</a> Really you should just take the whole weekend and watch all the videos. <span class="caps">LOTS</span> of fantastic talks.</li>
	</ul>

	<ul>
		<li><a href="http://www.goruco.com" title="">Goruco</a> is tomorrow! If you&#8217;re attending and reading this, please come find me. I&#8217;ll probably be milling around with a bearded dude (<a href="http://twitter.com/mrb_bk" title="">@mrb_bk</a>).</li>
	</ul>
 <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/quirkey?a=ccPX8wdC8Og:Y_39MmHk0BE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=ccPX8wdC8Og:Y_39MmHk0BE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=ccPX8wdC8Og:Y_39MmHk0BE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/quirkey?i=ccPX8wdC8Og:Y_39MmHk0BE:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/05/29/what-ive-been-up-to-the-end-o-may-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://scotland-on-rails.s3.amazonaws.com/2A02_AaronQuint-SOR.mp4" length="195213333" type="video/mp4" />
		<feedburner:origLink>http://www.quirkey.com/blog/2009/05/29/what-ive-been-up-to-the-end-o-may-edition/</feedburner:origLink></item>
		<item>
		<title>The (small) Fund</title>
		<link>http://feedproxy.google.com/~r/quirkey/~3/5X8yj-DeSGg/</link>
		<comments>http://www.quirkey.com/blog/2009/05/27/the-small-fund/#comments</comments>
		<pubDate>Wed, 27 May 2009 19:33:24 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=317</guid>
		<description><![CDATA[	If you can believe it (I barely can) the month of May is coming to a close. For me, and this blog, that means something specific. A short 4 weeks ago I proposed raising some money for the cause of teaching Ruby and getting more women involved in our community. Since then, Rails Bridge was [...]]]></description>
			<content:encoded><![CDATA[	<p>If you can believe it (I barely can) the month of May is coming to a close. For me, and this blog, that means something specific. A short 4 weeks ago I proposed raising some money for the cause of teaching Ruby and getting more women involved in our community. Since then, <a href="http://railsbridge.org/" title="">Rails Bridge</a> was formed and an amazing group of people are now devoted to a number of different initiatives. Its very exciting for me on a personal and professional level to be involved in something so positive. So now, a month later, its come time to settle and figure out exactly what to do with the generous amount we&#8217;ve collected.</p>

	<p>After consulting the Rails Bridge mailing list and with the great recommendations from the community I&#8217;ve decided to split the money in half. 50% will go to the <a href="http://anitaborg.org/" title="">Anita Borg Foundation</a> who have a number of great projects to support women in the development/programming communities. The rest will be donated to Rails Bridge itself. Even though its not a huge amount of money, hopefully it will make a little impact and help with some of some of these awesome initiatives.</p>

	<p>The fund is still open until the end of the week. Please donate!</p>

	<p><a href='http://www.pledgie.com/campaigns/4003'><img alt='Click here to lend your support to: For the future Ruby Community and make a donation at www.pledgie.com !' src='http://www.pledgie.com/campaigns/4003.png?skin_name=chrome' border='0' /></a></p>
 <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/quirkey?a=5X8yj-DeSGg:5bwX-G74ia0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=5X8yj-DeSGg:5bwX-G74ia0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=5X8yj-DeSGg:5bwX-G74ia0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/quirkey?i=5X8yj-DeSGg:5bwX-G74ia0:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/05/27/the-small-fund/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.quirkey.com/blog/2009/05/27/the-small-fund/</feedburner:origLink></item>
		<item>
		<title>Introducing Sammy: The tiny but swingin’ JavaScript Framework</title>
		<link>http://feedproxy.google.com/~r/quirkey/~3/itR5cUakYtE/</link>
		<comments>http://www.quirkey.com/blog/2009/05/15/introducing-sammy-the-tiny-but-swingin-javascript-framework/#comments</comments>
		<pubDate>Fri, 15 May 2009 15:42:37 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Sammy]]></category>
		<category><![CDATA[Sinatra]]></category>
		<category><![CDATA[Software/Scripts]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=308</guid>
		<description><![CDATA[	After a couple months of off-hours hacking, I present to you Sammy. Sammy is an easy to use JavaScript framework that allows you to build simple front end applications using &#8216;routes&#8217; and &#8216;events&#8217;. It&#8217;s also very tiny. Using the YUI Compression its only 7Kb.

	Get Started

	
		Watch a Screencast (iPhone)
		Read the Introduction
		Read the Docs
		Follow @sammy_js
		Join the mailing [...]]]></description>
			<content:encoded><![CDATA[	<p>After a couple months of off-hours hacking, I present to you <a href="http://code.quirkey.com/sammy" title="">Sammy.</a> Sammy is an easy to use JavaScript framework that allows you to build simple front end applications using &#8216;routes&#8217; and &#8216;events&#8217;. It&#8217;s also very tiny. Using the <span class="caps">YUI </span>Compression its only 7Kb.</p>

	<h3>Get Started</h3>

	<ul>
		<li><a href="http://s3.amazonaws.com/sammy-js/screencasts/sammy-screencasts-01/sammy-screencasts-01.mov" title="">Watch a Screencast</a> (<a href="http://s3.amazonaws.com/sammy-js/screencasts/sammy-screencasts-01/sammy-screencasts-01-iPhone.m4v" title="">iPhone</a>)</li>
		<li><a href="http://code.quirkey.com/sammy" title="">Read the Introduction</a></li>
		<li><a href="http://code.quirkey.com/sammy/docs/index.html" title="">Read the Docs</a></li>
		<li><a href="http://twitter.com/sammy_js" title="">Follow @sammy_js</a></li>
		<li><a href="http://groups.google.com/group/sammyjs" title="">Join the mailing list</a></li>
	</ul>

	<p><span id="more-308"></span></p>

	<h3>The Story</h3>

	<p>About three months ago, when I was knee deep in hacking and playing with <a href="http://sinatrarb.com" title="">Sinatra</a> I had this weird moment as I woke up one morning: &#8220;What if I could build Sinatra in JavaScript?&#8221; At that point it was just a challenge &#8211; I had just started doing almost full-time JS for a client and it seemed like a fun project.</p>

	<p>As I started to actually implement it (slowly in short spurts on the weekends), I realized that using the power of JavaScript&#8217;s closures and jQuery&#8217;s powerful event system, this could be something more then just a &#8216;clone&#8217;. It could actually be . . . useful!</p>

	<p>With that in mind, I set out to actually make is usable. I cleaned up the code, I wrote some <a href="http://github.com/quirkey/sammy/tree/master/examples" title="">example implementations</a>, and most importantly &#8211; I <a href="http://code.quirkey.com/sammy/docs/index.html" title="">documented the shit out of it.</a></p>

	<p>I&#8217;m pretty excited about it (can&#8217;t you tell?) especially about its possible uses for structuring applications on the front-end for <span class="caps">RES</span>Tful Databases and services. Embed it in a <a href="http://github.com/jchris/couchapp/tree" title="">CouchApp</a> to build an entire application in JavaScript while having access to a full range of documents/querying abilities.</p>

	<h3>The Future</h3>

	<p>I&#8217;m going to continue refining and adding examples. Please feel free to email me or contact me through github with questions/feedback.</p>

	<p>Happy Friday!</p>
 <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/quirkey?a=itR5cUakYtE:7v09ksnmMp8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=itR5cUakYtE:7v09ksnmMp8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=itR5cUakYtE:7v09ksnmMp8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/quirkey?i=itR5cUakYtE:7v09ksnmMp8:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/05/15/introducing-sammy-the-tiny-but-swingin-javascript-framework/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
<enclosure url="http://s3.amazonaws.com/sammy-js/screencasts/sammy-screencasts-01/sammy-screencasts-01.mov" length="197" type="video/quicktime" />
<enclosure url="http://s3.amazonaws.com/sammy-js/screencasts/sammy-screencasts-01/sammy-screencasts-01-iPhone.m4v" length="12437032" type="video/x-m4v" />
		<feedburner:origLink>http://www.quirkey.com/blog/2009/05/15/introducing-sammy-the-tiny-but-swingin-javascript-framework/</feedburner:origLink></item>
		<item>
		<title>RailsBridge: Moving the community forward</title>
		<link>http://feedproxy.google.com/~r/quirkey/~3/AEzUTBIep60/</link>
		<comments>http://www.quirkey.com/blog/2009/05/04/railsbridge-moving-the-community-forward/#comments</comments>
		<pubDate>Mon, 04 May 2009 17:39:10 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=305</guid>
		<description><![CDATA[	Some exciting news, a little less then a week ago, I tried to take an initiative and do something to move the community out of the negative mindset and towards something more positive. I found out that I wasn&#8217;t alone. Not surprisingly, there are a ton of amazing, talented, and ambitious people who are trying [...]]]></description>
			<content:encoded><![CDATA[	<p>Some exciting news, a little less then a week ago, I <a href="http://www.quirkey.com/blog/2009/04/27/the-ghetto-of-the-mind/" title="">tried to take an initiative</a> and do something to move the community out of the negative mindset and towards something more positive. I found out that I wasn&#8217;t alone. Not surprisingly, there are a ton of amazing, talented, and ambitious people who are trying really hard to do a lot of things to try to make the Rails and Ruby communities of now and the future &#8211; awesome.</p>

	<p>Officially, as of today, the work is being grouped and promoted through <a href="http://railsbridge.org" title="">RailsBridge.</a><br />
Thanks to everyone involved. I wont be there in person, so good luck to everyone at RailsConf!</p>
 <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/quirkey?a=AEzUTBIep60:9piMHbKyh0U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=AEzUTBIep60:9piMHbKyh0U:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=AEzUTBIep60:9piMHbKyh0U:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/quirkey?i=AEzUTBIep60:9piMHbKyh0U:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/05/04/railsbridge-moving-the-community-forward/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.quirkey.com/blog/2009/05/04/railsbridge-moving-the-community-forward/</feedburner:origLink></item>
		<item>
		<title>Github Pages for Fun and Win</title>
		<link>http://feedproxy.google.com/~r/quirkey/~3/g6SJBve8AcE/</link>
		<comments>http://www.quirkey.com/blog/2009/05/01/github-pages-for-fun-and-win/#comments</comments>
		<pubDate>Fri, 01 May 2009 16:01:30 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=292</guid>
		<description><![CDATA[

Stop what you&#8217;re doing and make your project a github page. For the love of god, your project has no documentation. RDoc is cool, READMEs are decent, but descriptive websites with examples? Oh, they RULE.

	At first, I was skeptical. Pages looked cool, but it seemed like a lot of effort to create a page especially [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://img.skitch.com/20090501-qj4ujstmue2y7gcupuptpa2n13.jpg" alt="sinatra-gen" /></p>

<p>Stop what you&#8217;re doing and make your project a github page. For the love of god, your project has no documentation. RDoc is cool, READMEs are decent, but <a href="http://code.quirkey.com/restful_query">descriptive websites with examples?</a> Oh, they <span class="caps">RULE</span>.</p><span id="more-292"></span>

	<p>At first, I was skeptical. Pages looked cool, but it seemed like a lot of effort to create a page especially one for each project. Then two things happened:</p>


	<ol>
	<li><a href="http://twitter.com/mojombo/statuses/1209150272">Tom yelled at me/us</a></li>
		<li>I discovered the power of <a href="http://github.com/mojombo/jekyll/tree/master">jekyll</a></li>
	</ol>


	<p>The main problem that jekyll solves for github pages is the ability to have a general &#8216;layout&#8217; that eliminates the <span class="caps">HTML</span> copy and paste you would have to do if you were managing pages for more then one project. Having a unified layout also allows you&#8217;re project pages to have a unified brand and feel &#8211; something I believe is important.</p>


	<p>There other things that are truly great about using jekyll.</p>


	<h3>Easy code highlighting.</h3>


	<p>Highlighting a block of code is as easy as:</p>


<pre><code>{% highlight ruby %}
def awesome
  "for real. I know."
end
{% endhighlight %}
</code></pre>

<p>Then all you have to do is grab a syntax stylesheet. You can <a href="http://code.quirkey.com/stylesheets/syntax.css">grab mine here</a></p>


	<h3>Ability to write pages in textile or markdown.</h3>


	<p>I&#8217;ve been doing all my blogging in textile for a long time now, and being able to write an easy to read page that I can easily find and edit text in makes it more likely that I&#8217;ll continue to update the pages with new releases.</p>


	<h3>Ability to pass variables from individual pages into your layout to make your layout <em>even more</em> reusable.</h3>


	<p>This is underused, but because jekyll interprets the layout file <em>after</em> its read the variables from the top of your document it means you can stick variables in your <span class="caps">YAML</span> head that the layout can use.</p>


	<p>For example: In my github project pages, the <span class="caps">YAML</span> head looks something like:</p>


<pre><code>---
layout: quirkey_code
title: sinatra-gen
github_name: sinatra-gen
current_version: 0.3.0
nav:
  - name: What
    link: "#what"
  - name: Why
    link: "#why"
  - name: Usage
    link: "#usage"
  - name: Options
    link: "#options"
  - name: Dependencies
    link: "#dependencies"
---
</code></pre>

<p>Beyond passing the page title, I&#8217;m also passing a ton of other variables. The github_name is used to link to the downloads of the project on github &#8211; a reusable piece of code that exists at the foot of every page. In the layout it looks like:</p>

<pre class="textmate-source"><span class="text text_html text_html_basic"><span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">h3</span> <span class="meta meta_attribute-with-value meta_attribute-with-value_id meta_attribute-with-value_id_html"><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_id entity_other_attribute-name_id_html">id</span><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_html">=</span><span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span><span class="meta meta_toc-list meta_toc-list_id meta_toc-list_id_html">installing</span><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>Installing<span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">h3</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
        <span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">div</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">class</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>highlight<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">pre</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>sudo gem install {{ page.github_name }}
        <span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">pre</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">div</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
        <span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">p</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>Or directly from github:<span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">p</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
        <span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">div</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">class</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>highlight<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">pre</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>sudo gem install quirkey-{{ page.github_name }} -s http://gems.github.com
        <span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">pre</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">div</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
        <span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">p</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>Github in thier infinite awesomeness also lets you download the source in multiple formats.<span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">p</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
        <span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">div</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">class</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>download<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
          <span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">href</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>http://github.com/quirkey/{{ page.github_name }}/zipball/master<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
            <span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">img</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">border</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>0<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">width</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>90<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">src</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>http://github.com/images/modules/download/zip.png<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html"> /&gt;</span></span>
          <span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
          <span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">href</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>http://github.com/quirkey/{{ page.github_name }}/tarball/master<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
            <span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">img</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">border</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>0<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">width</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>90<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">src</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>http://github.com/images/modules/download/tar.png<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html"> /&gt;</span></span>
          <span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
        <span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">div</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span></span></pre>
        
<p><code>current_version</code> and <code>nav</code> work the same way. <code>nav</code> uses a little more liquid magic to get the job done:</p>

<pre class="textmate-source"><span class="text text_html text_html_ruby">{% if page.nav %}
<span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">ul</span> <span class="meta meta_attribute-with-value meta_attribute-with-value_id meta_attribute-with-value_id_html"><span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_id entity_other_attribute-name_id_html">id</span><span class="punctuation punctuation_separator punctuation_separator_key-value punctuation_separator_key-value_html">=</span><span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span><span class="meta meta_toc-list meta_toc-list_id meta_toc-list_id_html">pagenav</span><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
  {% for nav in page.nav %}
  <span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">href</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>{{ nav['link'] }}<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>{{ nav['name'] }}<span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
  {% endfor %}
  <span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">href</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>#installing<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>Installing<span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
  <span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">href</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>#requests<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>Bugs/Feature<span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">br</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html"> /&gt;</span></span>Requests<span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
  <span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span> <span class="entity entity_other entity_other_attribute-name entity_other_attribute-name_html">href</span>=<span class="string string_quoted string_quoted_double string_quoted_double_html"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_html">"</span>#contact<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_html">"</span></span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>Contact<span class="meta meta_tag meta_tag_inline meta_tag_inline_any meta_tag_inline_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">a</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_inline entity_name_tag_inline_any entity_name_tag_inline_any_html">li</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
<span class="meta meta_tag meta_tag_block meta_tag_block_any meta_tag_block_any_html"><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_begin punctuation_definition_tag_begin_html">&lt;/</span><span class="entity entity_name entity_name_tag entity_name_tag_block entity_name_tag_block_any entity_name_tag_block_any_html">ul</span><span class="punctuation punctuation_definition punctuation_definition_tag punctuation_definition_tag_end punctuation_definition_tag_end_html">&gt;</span></span>
{% endif %}</span></pre>

<p>This way I can have a super flexible nav menu, changing what I need and what I don&#8217;t in the page instead of in the layout. You can see the <a href="http://github.com/quirkey/sinatra-gen/raw/98801bf6737c2f3178bc512f7c248c40c78b423d/index.textile">full code for the sinatra-gen page</a> or the <a href="http://github.com/quirkey/jekyll_layouts/blob/master/quirkey_code.html">full quirkey_code layout.</a></p>


	<h3>Submodules for the ultimate stoke factor.</h3>


	<p>After building a couple of these project pages, I thought &#8220;Hey! I can just put my layout in its own repo and when I start a new project page, I can just submodule it!&#8221;. Great idea, unfortunately at the time, github didn&#8217;t support it. However,<a href="http://twitter.com/aq/status/1517715589">after nagging PJ a bit</a> <a href="http://github.com/blog/410-pages-2-0">now they do!</a></p>


	<p>My workflow, is I&#8217;ve set up a <a href="http://github.com/quirkey/jekyll_layouts/">jekyll_layouts repository</a> and when I first create my <code>gh-pages</code> branch (<a href="http://pages.github.com/">described in detail here</a>), I just run:</p>


<pre><code>git submodule add git://github.com/quirkey/jekyll_layouts.git _layouts
</code></pre>

	<p>Then, the next time I push, github graciously pulls my submodule before building my page with jekyll. Sweet. 
Some things to note:</p>


	<ul>
	<li>You have to have a public repository for the layouts and you have to submodule with a globally accessible <span class="caps">URL</span> (as in the &#8216;public&#8217; clone url instead of &#8216;your&#8217; clone <span class="caps">URL</span>).</li>
		<li>When you switch back to your master branch, the <code>_layouts</code> directory wont disappear automatically. You can add it to your .gitignore OR just delete it and it will reappear when you switch back to <code>gh-pages</code>.</li>
	</ul>


	<p>Using the power of git, there is also a way to continue editing your submodule&#8217;d layouts while in a pages branch. The trick is that while you use the public clone <span class="caps">URL</span> for the &#8216;origin&#8217; server of the submodule, you can add your private <span class="caps">URL</span> as another remote for the cloned repository.</p>


	<p>For example:
If I&#8217;m in my sinatra-gen repository at the <code>gh-pages</code> branch, I can cd into the _layouts submodule:</p>


<pre><code>[10:47 AM:sinatra-gen(gh-pages)] $ cd _layouts
[11:23 AM:_layouts(master)] $ 
</code></pre>

	<p>If I inspect the branches I see:</p>


<pre><code>[11:23 AM:_layouts(master)] $ git branch -a
* master
  origin/HEAD
  origin/master
</code></pre>

	<p>From here I can add another remote, which is actually the same repository &#8211; just the <strong>private</strong> clone <span class="caps">URL</span>.</p>


<pre><code>[11:24 AM:_layouts(master)] $ git remote add upstream git@github.com:quirkey/jekyll_layouts.git
[11:26 AM:_layouts(master)] $ git fetch upstream
From git@github.com:quirkey/jekyll_layouts
 * [new branch]      master     -&gt; upstream/master
[11:26 AM:_layouts(master)] $ git branch -a
* master
  origin/HEAD
  origin/master
  upstream/master
</code></pre>

	<p>Now If I make a change in the _layouts directory, its as easy as:</p>


<pre><code>[11:28 AM:_layouts(master)] $ git commit -am "Moved around title" 
Created commit 5726d5e: Moved around title
 1 files changed, 1 insertions(+), 1 deletions(-)
[11:28 AM:_layouts(master)] $ git push upstream master
Counting objects: 5, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 314 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To git@github.com:quirkey/jekyll_layouts.git
   5013157..5726d5e  master -&gt; master
</code></pre>

	<p>All of my pages code is under the <a href="http://github.com/quirkey/quirkey.github.com/blob/ff31f1db35338b779a847597a427fd6e13b6e239/LICENSE"><span class="caps">MIT</span> license</a> so feel free to use and manipulate. If your nice and or grateful, you can link back to this site in your footer.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/quirkey?a=g6SJBve8AcE:U6Yt-PjU3qo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=g6SJBve8AcE:U6Yt-PjU3qo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=g6SJBve8AcE:U6Yt-PjU3qo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/quirkey?i=g6SJBve8AcE:U6Yt-PjU3qo:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/05/01/github-pages-for-fun-and-win/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://www.quirkey.com/blog/2009/05/01/github-pages-for-fun-and-win/</feedburner:origLink></item>
		<item>
		<title>On the Ruby on Rails Podcast</title>
		<link>http://feedproxy.google.com/~r/quirkey/~3/TFOOpD-y2nA/</link>
		<comments>http://www.quirkey.com/blog/2009/04/29/on-the-ruby-on-rails-podcast/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 17:17:30 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Press]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Sinatra]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=288</guid>
		<description><![CDATA[	Thanks to Geoff of Peepcode fame I was interviewed about Sinatra and my talk at GoGaRuCo on the Ruby on Rails Podcast.

	The episode also features Rich Kilmer &#8211; whose talk about MacRuby and HotCocoa totally blew my mind.
 ]]></description>
			<content:encoded><![CDATA[	<p>Thanks to <a href="http://www.peepcode.com" title="">Geoff of Peepcode fame</a> I was interviewed about <a href="http://podcast.rubyonrails.org/programs/1/episodes/gogaruco" title="">Sinatra and my talk at GoGaRuCo on the Ruby on Rails Podcast.</a></p>

	<p>The episode also features <a href="http://richkilmer.blogs.com/" title="">Rich Kilmer</a> &#8211; whose talk about <a href="http://www.macruby.org/" title="">MacRuby and HotCocoa</a> totally blew my mind.</p>
 <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/quirkey?a=TFOOpD-y2nA:hTNEQlCI_PI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=TFOOpD-y2nA:hTNEQlCI_PI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=TFOOpD-y2nA:hTNEQlCI_PI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/quirkey?i=TFOOpD-y2nA:hTNEQlCI_PI:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/04/29/on-the-ruby-on-rails-podcast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.quirkey.com/blog/2009/04/29/on-the-ruby-on-rails-podcast/</feedburner:origLink></item>
		<item>
		<title>The ghetto of the mind</title>
		<link>http://feedproxy.google.com/~r/quirkey/~3/PfIUiB7SO8o/</link>
		<comments>http://www.quirkey.com/blog/2009/04/27/the-ghetto-of-the-mind/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 16:10:16 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Ranting]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=280</guid>
		<description><![CDATA[	I&#8217;m sorry. Rails is not a ghetto. Ruby is not a ghetto. The ghetto is your mind.

	WTF

	This weekend after reading a couple posts and a lot of tweets I started getting really frustrated about the situation surrounding Matt&#8217;s talk at GoGaRuCo. My frustration and anger did not stem from being offended by Matt&#8217;s talk, nor [...]]]></description>
			<content:encoded><![CDATA[	<p>I&#8217;m sorry. Rails is not a ghetto. Ruby is not a ghetto. <a href="http://www.youtube.com/watch?v=RwHP_vQtPcM" title="">The ghetto is your mind.</a></p>

	<h3><span class="caps">WTF</span></h3>

	<p>This weekend after reading <a href="http://dyepot-teapot.com/2009/04/25/dear-fellow-rubyists/" title="">a</a> <a href="http://www.rubyrailways.com/rails-is-still-a-ghetto/" title="">couple</a> <a href="http://www.ultrasaurus.com/sarahblog/2009/04/gender-and-sex-at-gogaruco/" title="">posts</a> and <a href="http://search.twitter.com/search?q=gogaruco" title="">a lot of tweets</a> I started getting really frustrated about the situation surrounding <a href="http://themerbist.com" title="">Matt&#8217;s</a> talk at <a href="http://gogaruco.com" title="">GoGaRuCo.</a> My frustration and anger did not stem from being offended by Matt&#8217;s talk, nor did it stem from thinking that everyone who was offended was wrong. It came from a gut reaction to all this horrible negativity thats spreading like wildfire.</p>

	<p>I was at GoGaRuCo. In fact I was also speaking. I watched every talk, attended the after-parties and had one of the best conference experiences I&#8217;ve had. I learned a ton, met a ton of interesting people, and heard about things from a ton of different perspectives. I&#8217;m not going to say more then that. It was awesome.</p>

	<p>The &#8216;controversy&#8217; around Matt&#8217;s talk started as a couple smart individuals being angry and frustrated at another smart individual for making a mistake. It&#8217;s become a blame game and a reason for people to blame a single talk for the ails of an entire community that had the same issues before. I want to stay positive, so here are three simple rules of <span class="caps">ANY</span> community:</p>

	<ul>
		<li>You can not fault an entire community for the actions of a single individual.</li>
		<li>In any community there will be opposing opinions on definitions of moral correctness for n issues.</li>
		<li>If you actually want to change the community, you have a better chance of influencing the future community through education then the current community through preaching.</li>
	</ul>

	<p>Going from the last one, lets define a problem set and move forward.</p>

	<h3>The Problem Set</h3>

	<p>Lets rip open this silver lining. If anything good comes out of this let it be that it brought a bunch of long standing issues back in to the limelight. The big complaint out of this all has been that there are not enough women in the Ruby community. It&#8217;s pretty obvious that this is an issue. I mean, out of conference of 200+ there were less then 10 women. In fact, this conference probably had more women then any other Ruby conference I&#8217;ve been to.</p>

	<p>I&#8217;m not going to try to deduce the myriad of reasons why this is true, instead just mention something that might lead to this situation.</p>

	<p><em>Ruby is not taught in Schools.</em> If we really want to make Ruby a language and community for everyone, the only way to ensure that people actually get exposure is to get it into schools. It would be awesome if I learned Ruby in college, but beyond that &#8211; it would have been <span class="caps">AMAZING</span> if I had <a href="http://hacketyhack.net/" title="">HacketyHack</a> when I was a kid. I whole-heartedly believe that Ruby is a great first language and the veritable cornucopia of implementations and uses could convince anyone with a slight inclination to do great things with it.</p>

	<h3><span class="caps">FTW</span></h3>

	<p>Let&#8217;s actually make this happen. How can we get more women in software development? How can we bring more women into the Ruby community? I don&#8217;t have the answer and honestly, I&#8217;m not a fantastic teacher or community organizer. However, I&#8217;m a pretty decent developer and as a freelancer I&#8217;m making some decent money so that I can give some of that money to people who are much better teachers and community organizers. With that said, <a href="http://pledgie.com/campaigns/4003" title="">I&#8217;ve started a pledgie and put $500 dollars in it.</a> After 1 month, I&#8217;m going to donate any money I&#8217;ve collected there to a charity to support either teaching Ruby/development in schools, or supporting women in development. Depending on how much we raise, I might donate to multiple organizations. If you have suggestions about specific organizations please tweet @aq or email me at aaron at this domain.</p>

	<p><a href='http://www.pledgie.com/campaigns/4003'><img alt='Click here to lend your support to: For the future Ruby Community and make a donation at www.pledgie.com !' src='http://www.pledgie.com/campaigns/4003.png?skin_name=chrome' border='0' /></a></p>

	<p>Please donate! Even if its only $2. I&#8217;ll be posting updates to twitter and here to.</p>

	<p>Let&#8217;s try to ensure that GoGaRuCo 2025 is an awesome gathering <img src='http://www.quirkey.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>

 <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/quirkey?a=PfIUiB7SO8o:MyacnrtnLy0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=PfIUiB7SO8o:MyacnrtnLy0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=PfIUiB7SO8o:MyacnrtnLy0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/quirkey?i=PfIUiB7SO8o:MyacnrtnLy0:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/04/27/the-ghetto-of-the-mind/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		<feedburner:origLink>http://www.quirkey.com/blog/2009/04/27/the-ghetto-of-the-mind/</feedburner:origLink></item>
		<item>
		<title>GoGaRuCo ‘09</title>
		<link>http://feedproxy.google.com/~r/quirkey/~3/d1OfuPkVPUg/</link>
		<comments>http://www.quirkey.com/blog/2009/04/20/gogaruco-09/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 00:31:12 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Sinatra]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=269</guid>
		<description><![CDATA[	

	I haven&#8217;t even returned to NY yet &#8211; I&#8217;m writing this in Pivotal Labs SF - who were nice enough to let me steal a desk and some WIFI for an afternoon.

	GoGaRuCo was amazing. Another awesome conference. Thanks to Josh Susser, Leah Silber, and the other organizers and volunteers for making a fantastic weekend of [...]]]></description>
			<content:encoded><![CDATA[	<p><a href="http://www.flickr.com/photos/pivotallabs/3453792796/"><img src="http://farm4.static.flickr.com/3366/3453792796_679527b12a.jpg?v=0" /></a></p>

	<p>I haven&#8217;t even returned to NY yet &#8211; I&#8217;m writing this in Pivotal Labs <span class="caps">SF </span>- who were nice enough to let me steal a desk and some <span class="caps">WIFI</span> for an afternoon.</p>

	<p>GoGaRuCo was amazing. Another awesome conference. Thanks to <a href="http://blog.hasmanythrough.com/" title="">Josh Susser,</a> Leah Silber, and the other organizers and volunteers for making a fantastic weekend of nerding out. I&#8217;m going to be posting my slides soon, and there should be a full video recording of it within the next couple of weeks. You can see a quick rundown (via live-blogging of my talk) <a href="http://pivotallabs.com/users/chad/blog/articles/780-gogaruco-09-sinatra-the-framework-within-aaron-quint" title="">at the Pivotal site.</a></p>

	<p>(Some of) The highlights of the weekend:</p>

	<ul>
		<li>Getting a real explanation of <a href="http://getcloudkit.com" title="">CloudKit</a> from Jon Crosby. Once I understood what it was &#8211; a fully compliant <span class="caps">REST</span> interface that abuses <span class="caps">HTTP</span> to create a standardized &#8216;appliance&#8217; that sits on type of Rack. Think: Rack CouchDB.</li>
		<li>Talking to <a href="http://yehudakatz.com/" title="">Yehuda Katz</a> about why Javascript/jQuery is awesome and why the next version of rubygems will solve all my problems.</li>
		<li>Seeing <a href="http://brighter.net/" title="">Jaqui Maher</a> talk about solving <span class="caps">REAL</span> problems with ruby/rails.</li>
		<li><a href="http://twitter.com/atduskgreg" title="">Greg Borenstein</a> blowing my mind with the knowledge that I could use Ruby to hack an Arduino.</li>
	</ul>

	<p>Most importantly: I met some very cool, extremely friendly, and super-fun people in this beautiful city. I can&#8217;t wait to come back.</p>

	<p><strong>Update:</strong> I <a href="http://www.scribd.com/doc/14599553/Sinatra-The-Framework-Within-GoGaRuCo-09" title="">posted my slides from the talk at scribd</a></p>

 <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/quirkey?a=d1OfuPkVPUg:v8OfVE8wvWg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=d1OfuPkVPUg:v8OfVE8wvWg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=d1OfuPkVPUg:v8OfVE8wvWg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/quirkey?i=d1OfuPkVPUg:v8OfVE8wvWg:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/04/20/gogaruco-09/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.quirkey.com/blog/2009/04/20/gogaruco-09/</feedburner:origLink></item>
		<item>
		<title>Farewell Edinburgh</title>
		<link>http://feedproxy.google.com/~r/quirkey/~3/b9vimq-Ib1s/</link>
		<comments>http://www.quirkey.com/blog/2009/03/29/farewell-edinburgh/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 21:45:32 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=265</guid>
		<description><![CDATA[	To soon, much too soon, we&#8217;re leaving Edinburgh and are off on a whirlwind tour of the Highlands and then London. The conference was amazing. Well organized, great talks, and everyone was attentive, polite, AND great to talk too. I had a fantastic time and I hope to come back next year. Thanks to everyone [...]]]></description>
			<content:encoded><![CDATA[	<p>To soon, <em>much</em> too soon, we&#8217;re leaving Edinburgh and are off on a whirlwind tour of the Highlands and then London. The conference was amazing. Well organized, great talks, and everyone was attentive, polite, <span class="caps">AND</span> great to talk too. I had a fantastic time and I hope to come back next year. Thanks to everyone who gave me constructive feedback and sat through some <span class="caps">FAIL</span> during the live coding at the end of my talk.</p>

	<p>If people are interested, I&#8217;ve <a href="http://www.scribd.com/doc/13733666/UsingAbusingResusing-Ruby-on-Rails" title="">posted the slides online at scribd.</a> I&#8217;ll post an update when the video is available, too.</p>

	<p>Also here are all the libraries I mentioned in the talk.</p>

	<p><a href="http://code.quirkey.com/qadmin" title="">http://code.quirkey.com/qadmin</a><br />
<a href="http://code.quirkey.com/qcontent" title="">http://code.quirkey.com/qcontent</a><br />
<a href="http://github.com/nakajima/acts_as_fu" title="">http://github.com/nakajima/acts_as_fu</a></p>

 <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/quirkey?a=b9vimq-Ib1s:l5V_UDONGqc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=b9vimq-Ib1s:l5V_UDONGqc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=b9vimq-Ib1s:l5V_UDONGqc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/quirkey?i=b9vimq-Ib1s:l5V_UDONGqc:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/03/29/farewell-edinburgh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.quirkey.com/blog/2009/03/29/farewell-edinburgh/</feedburner:origLink></item>
		<item>
		<title>Hello Edinburgh</title>
		<link>http://feedproxy.google.com/~r/quirkey/~3/cXjbdMp5Hr8/</link>
		<comments>http://www.quirkey.com/blog/2009/03/27/hello-edinburgh/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 23:49:01 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=263</guid>
		<description><![CDATA[	We arrived yesterday afternoon and went straight to a nap, but woke up for a nice stroll up to the Castle. Despite some spotty DSL our apartment has a great location and is also really nice. Edinburgh is amazingly gorgeous. It feels so ancient &#8211; its kind of unreal.

	The first day of the conference was [...]]]></description>
			<content:encoded><![CDATA[	<p>We arrived yesterday afternoon and went straight to a nap, but woke up for a nice stroll up to the Castle. Despite some spotty <span class="caps">DSL</span> our apartment has a great location and is also really nice. Edinburgh is amazingly gorgeous. It feels so ancient &#8211; its kind of unreal.</p>

	<p>The first day of the conference was excellent. It&#8217;s been probably the best organized and best attended conferences I&#8217;ve been, too. Everyone seems to be in a great mood, and people are actually listening to the talks instead of tweeting about them. Like I said &#8211; unreal.</p>

	<p>Excited for my talk tomorrow. I go on early. I&#8217;m going to attempt to do some live coding, so lets see how that goes. For those not there tomorrow, they are taping it, so hopefully it will be up soon for everyone to see. Also, I&#8217;ll post slides/links tomorrow night.</p>

	<p>I&#8217;ve been here a day+ and I have yet to have a whiskey. I dont know how that happens, but I know I&#8217;m looking forward to having a couple more then one after the conference is over. Note: I have had copious amounts of bacon, so that makes it a little less of a crime.</p>
 <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/quirkey?a=cXjbdMp5Hr8:_fAV2z6x9ak:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=cXjbdMp5Hr8:_fAV2z6x9ak:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=cXjbdMp5Hr8:_fAV2z6x9ak:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/quirkey?i=cXjbdMp5Hr8:_fAV2z6x9ak:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/03/27/hello-edinburgh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.quirkey.com/blog/2009/03/27/hello-edinburgh/</feedburner:origLink></item>
		<item>
		<title>Quick Announcements</title>
		<link>http://feedproxy.google.com/~r/quirkey/~3/K0MwKgYZ-1k/</link>
		<comments>http://www.quirkey.com/blog/2009/03/27/quick-announcements/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 23:47:46 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Press]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Sinatra]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=261</guid>
		<description><![CDATA[	I&#8217;m in a distant land but things are still happening in the world of code:

	
		My proposal got enough votes (thanks everyone) and I&#8217;ll be speaking at GoGaRuCo in just about three weeks. Once again, I&#8217;m honored to be even listed on the same page as some of the other speakers. I&#8217;ll be speaking about Sinatra [...]]]></description>
			<content:encoded><![CDATA[	<p>I&#8217;m in a distant land but things are still happening in the world of code:</p>

	<ul>
		<li>My proposal got enough votes (thanks everyone) and I&#8217;ll be speaking at <a href="http://gogaruco.org" title="">GoGaRuCo</a> in just about three weeks. Once again, I&#8217;m honored to be even listed on the same page as some of the other speakers. I&#8217;ll be speaking about Sinatra and considering I&#8217;m on real vacation next week, I&#8217;ll have a little less then two weeks to prepare my talk. It&#8217;s gonna be <span class="caps">AWESOME</span>. Also this means I&#8217;m going to be in SF the weekend of the conference (I&#8217;m staying until Monday April 20th) so if you&#8217;d like to meet up, shoot me an email or a tweet.</li>
	</ul>

	<ul>
		<li>Thanks to the wonderful world of open source and github, <a href="http://citizen428.net/archives/370-My-way-Ruby,-Sinatra,-Heroku.html" title="">Michael Kohl</a> added a patch to sinatra-gen that allows you to instantly create a heroku instance for you new app as you generate. Pretty nifty. I hope to write up a little tutorial with this once I return.</li>
	</ul>

	<p>More soon!</p>
 <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/quirkey?a=K0MwKgYZ-1k:nbWKJVp37wM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=K0MwKgYZ-1k:nbWKJVp37wM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=K0MwKgYZ-1k:nbWKJVp37wM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/quirkey?i=K0MwKgYZ-1k:nbWKJVp37wM:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/03/27/quick-announcements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.quirkey.com/blog/2009/03/27/quick-announcements/</feedburner:origLink></item>
		<item>
		<title>What I’ve been up to: Week of 3/23</title>
		<link>http://feedproxy.google.com/~r/quirkey/~3/ZN5zCgyTii8/</link>
		<comments>http://www.quirkey.com/blog/2009/03/23/what-ive-been-up-to-week-of-323/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 20:27:31 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Sinatra]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=256</guid>
		<description><![CDATA[	Since my last plea for Sinatra as a library a couple things went down:

	
		My article was published in The Rubyist! Thanks to Jeremy McAnally for getting it out. Buy a copy and support a burgeoning dead tree business.
		I was interviewed about Sinatra for Ruby Learning. Thanks to Satish. He&#8217;s doing a great job spreading the [...]]]></description>
			<content:encoded><![CDATA[	<p>Since my last plea for <a href="http://www.quirkey.com/blog/2009/03/04/sinatra-the-framework-within/" title="">Sinatra as a library</a> a couple things went down:</p>

	<ul>
		<li>My article was published in <a href="http://therubyist.com" title="">The Rubyist!</a> Thanks to Jeremy McAnally for getting it out. Buy a copy and support a burgeoning dead tree business.</li>
		<li>I was <a href="http://rubylearning.com/blog/2009/03/20/interview-aaron-quint-on-sinatra/" title="">interviewed about Sinatra for Ruby Learning.</a> Thanks to Satish. He&#8217;s doing a great job spreading the gospel of Ruby and Rails. If you&#8217;re interested in Sinatra &#8211; look for his seminars &#8211; I&#8217;m sure you&#8217;ll learn a ton.</li>
		<li>In preparation for my presentation I started adding what I consider pretty good documentation to a couple of my gems/plugins using github pages. See <a href="http://code.quirkey.com/restful_query" title="">Restful Query,</a> <a href="http://code.quirkey.com/qadmin" title="">Qadmin,</a> and <a href="http://code.quirkey.com/qcontent" title="">Qcontent</a></li>
	</ul>

	<p>Other insane news: Its less then a week from <a href="http://scotlandonrails.com" title="">Scotland on Rails!</a> My presentation is all wrapped up. I&#8217;m getting a little nervous, but looking forward to the fun times ahead of meeting great Rubyists from around the world and having a <span class="caps">REAL</span> vacation all over the UK. Exciting!</p>

	<p>If you&#8217;re going to Scotland on Rails and reading this &#8211; please say hello at the conference. Theres a couple projects I&#8217;m hoping to hack on there, too.</p>
 <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/quirkey?a=ZN5zCgyTii8:EEXd5f2DLTQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=ZN5zCgyTii8:EEXd5f2DLTQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=ZN5zCgyTii8:EEXd5f2DLTQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/quirkey?i=ZN5zCgyTii8:EEXd5f2DLTQ:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/03/23/what-ive-been-up-to-week-of-323/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.quirkey.com/blog/2009/03/23/what-ive-been-up-to-week-of-323/</feedburner:origLink></item>
		<item>
		<title>Self-Taught CompSci</title>
		<link>http://feedproxy.google.com/~r/quirkey/~3/kmXLs-D1TD4/</link>
		<comments>http://www.quirkey.com/blog/2009/03/12/self-taught-compsci/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 16:17:15 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Geekery]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=246</guid>
		<description><![CDATA[	Suprise. I don&#8217;t have a Computer Science degree. I&#8217;ve been working for over 12 years on the web now and it hasn&#8217;t slowed me down much. When I was applying to college, I applied for CompSci, but by the time I was actually ready to go, I had become disheartened by it &#8211; 20% because [...]]]></description>
			<content:encoded><![CDATA[	<p>Suprise. I don&#8217;t have a Computer Science degree. I&#8217;ve been working for over 12 years on the web now and it hasn&#8217;t slowed me down much. When I was applying to college, I applied for CompSci, but by the time I was actually ready to go, I had become disheartened by it &#8211; 20% because I&#8217;m much better at general problem solving then hardcore math and 80% because I didn&#8217;t really like  the people (no offense). I ended up getting a degree in Art History, something I&#8217;m proud of, but hasn&#8217;t exactly helped me with a career. Obviously, I got back in to web development.</p>

	<p>Now, as I get deeper and deeper into more extreme development scenarios and harder problems, I&#8217;m wishing I could learn more about the actual field of Computer Science. The fact is, as much as you might think your problem/challenge is unique, someone has solved it before, and probably written about it, too.</p>

	<p>So in a effort to gain knowledge, I decided to tap some of the smartest people I know &#8211; <a href="http://nycruby.org/wiki/" title="">nyc.rb</a> Not only did they return with a ton of great links and ideas, but also in talking to <a href="http://twitter.com/lukemelia" title="">Luke</a> at last weeks meetup, I found a kindred spirit and hopefully were going to do some sort of study group hack sessions in the future.<br />
<span id="more-246"></span><br />
I&#8217;ve compiled all the books and other resources they suggested below. Thanks to Mike Dalessio, Paul Dix, Jonathan Katz, Ben Stein, Pat Nakajima, Anton Maximov, and the rest of nyc.rb.</p>

	<p><span class="caps">AMZ  </span>= Amazon<br />
<span class="caps">WIKI  </span>= Wikipedia<br />
<span class="caps">PDF   </span>= duh<br />
<span class="caps">WWW </span>= home page<br />
<em>Note: I also found if you&#8217;re interested in purchasing these books, straying from amazon and looking at some of the used university book sites as they generally have better prices</em></p>

	<h3>Books</h3>

	<h4>General Computing</h4>

	<p>Structure and Interpretation of Computer Programs, 2nd Edition, Harold Abelson and Gerald Jay Sussman <a href="http://mitpress.mit.edu/sicp/" title=""><span class="caps">WWW</span></a> <a href="http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262011530" title=""><span class="caps">AMZ</span></a> <a href="http://www.kendyck.com/archives/2005/06/24/sicp-in-pdf/" title=""><span class="caps">PDF</span></a></p>

	<p>The Art of Computer Programming, Donald E. Knuth <a href="http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming" title=""><span class="caps">WIKI</span></a> <a href="http://www.amazon.com/Art-Computer-Programming-Volumes-Boxed/dp/0201485419" title=""><span class="caps">AMZ</span></a></p>

	<p>Introduction to the Theory of Computation, Michael Sipser <a href="http://www.amazon.com/Introduction-Theory-Computation-Second-Michael/dp/0534950973/" title=""><span class="caps">AMZ</span></a></p>

	<p>Machine Learning, Thomas Mitchell <a href="http://www.amazon.com/Machine-Learning-Mcgraw-Hill-International-Edit/dp/0071154671/" title=""><span class="caps">AMZ</span></a></p>

	<h4>Languages</h4>

	<p>Programming Languages: Principles and Paradigms, Allen B. Tucker <a href="http://www.amazon.com/Programming-Languages-Principles-Allen-Tucker/dp/0071254390/" title=""><span class="caps">AMZ</span></a></p>

	<h4>Algorithms</h4>

	<p>Introduction to Algorithms, Thomas Cormen (et. all) <a href="http://www.amazon.com/Introduction-Algorithms-Thomas-Cormen/dp/0072970545/" title=""><span class="caps">AMZ</span></a></p>

	<p>Algorithms in C++, Parts 1-4, Robert Sedgewick <a href="http://www.amazon.com/Algorithms-Parts-1-4-Fundamentals-Structure/dp/0201350882/" title=""><span class="caps">AMZ</span></a></p>

	<p>The Algorithm Design Manual, Steven S. Skiena <a href="http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693/" title=""><span class="caps">AMZ</span></a></p>

	<h4>Math</h4>

	<p>Linear Algebra and Its Applications, David C. Lay <a href="http://www.amazon.com/Linear-Algebra-Applications-Updated-CD-ROM/dp/0321287134/" title=""><span class="caps">AMZ</span></a></p>

	<p>Introduction to Mathematical Statistics and Its Applications, Richard J. Larsen <a href="http://www.amazon.com/Introduction-Mathematical-Statistics-Its-Applications/dp/0131867938/" title=""><span class="caps">AMZ</span></a></p>

	<p>First Course in Probability, Sheldon Ross <a href="http://www.amazon.com/First-Course-Probability-Sheldon-Ross/dp/013603313X/" title=""><span class="caps">AMZ</span></a></p>

	<h3>Other Resources</h3>

	<p>A number of universities (including <span class="caps">MIT</span>) have put up audio and video for entire courses that <a href="http://www.apple.com/education/mobile-learning/" title="">can be downloaded through iTunes.</a> MIT specifically has a number of classes on Algorithms and engineering tought by some of the authors above.</p>

 <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/quirkey?a=kmXLs-D1TD4:u2GXzabtgSg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=kmXLs-D1TD4:u2GXzabtgSg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=kmXLs-D1TD4:u2GXzabtgSg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/quirkey?i=kmXLs-D1TD4:u2GXzabtgSg:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/03/12/self-taught-compsci/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.quirkey.com/blog/2009/03/12/self-taught-compsci/</feedburner:origLink></item>
		<item>
		<title>Sinatra: The Framework Within</title>
		<link>http://feedproxy.google.com/~r/quirkey/~3/kakKp5wRzhk/</link>
		<comments>http://www.quirkey.com/blog/2009/03/04/sinatra-the-framework-within/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 23:16:08 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Software/Scripts]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=236</guid>
		<description><![CDATA[	
Sinatra has been getting a lot of hype lately as the next great (micro)-framework. In writing apps, diving in, and contributing the reasons for its existence have become more clear. Sinatra is not just a toy or a neat trick, its the best way to create simple and non-obtrusive web interfaces to sit on top [...]]]></description>
			<content:encoded><![CDATA[	<p><img src="http://farm4.static.flickr.com/3267/2493099076_b09f525126.jpg" alt="" border="0" /><br />
Sinatra has been getting a lot of hype lately as the next great (micro)-framework. In writing apps, diving in, and contributing the reasons for its existence have become more clear. Sinatra is not just a toy or a neat trick, its the best way to create simple and non-obtrusive web interfaces to sit on top of a new or existing ruby project.<br />
<span id="more-236"></span><br />
Sinatra is less then a framework &#8211; it&#8217;s a web library. This isn&#8217;t a slap in the face &#8211; it&#8217;s truly a compliment. Sinatra&#8217;s size and portability make it extremely easy to incorporate to existing Ruby apps. I&#8217;m talking <span class="caps">BEYOND </span>Rails. I&#8217;m talking about command line tools, complex C bindings, you name it. Sinatra can be required and a script can be fashioned to give a dusty ol&#8217; code-base new life in a browser.</p>

	<p>I decided not to just preach and tried to take my own advice. What came out of my first attempt is <a href="http://code.quirkey.com/gembox" title="">gembox</a>. Gembox is a very light interface built on top of Ruby Gems. Download it, start it with:</p>

<pre>
$ gembox
</pre>

	<p>That&#8217;s it. Ruby Gems is great starting point because it has a well defined <span class="caps">API</span> and a huge user-base (rubygems users === ruby users). What it doens&#8217;t have is a great web interface. Just booting up this little app gives you a pretty (albiet currently shallow) interface to your gems. This app is tiny. I chose to split it out over multiple files, but with your app could have put this all in a single file and included it in your library&#8217;s name-space. It&#8217;s that easy.</p>

	<p>So here&#8217;s my pitch: Give your gems/libraries/code bundles beautiful web interfaces with minimal effort using Sinatra.</p>

	<p>I think gembox was a successful little experiment and over the next weeks I&#8217;ll be updating my gems with simple interfaces.</p>

	<p><em><br />
Currently, I&#8217;m in the running for a spot to speak at <a href="http://www.gogaruco.com" title="">GoGaRuCo.</a> I like the idea of the attendee&#8217;s being able to vote for what presentations to have at the conference, but I think having a truncated synopsis listed might not give me the best chance. So I&#8217;d like to try to explain what I plan to talk about a little further. If you like what you hear please <a href="http://vote.gogaruco.com" title="">vote!</a><br />
</em></p>

	<p>Photo Credit: <a href="http://flickr.com/photos/rnyk/2493099076/sizes/m/" title="">http://flickr.com/photos/rnyk/2493099076/</a></p>
 <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/quirkey?a=kakKp5wRzhk:LTLe2EB6j4I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=kakKp5wRzhk:LTLe2EB6j4I:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/quirkey?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/quirkey?a=kakKp5wRzhk:LTLe2EB6j4I:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/quirkey?i=kakKp5wRzhk:LTLe2EB6j4I:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/03/04/sinatra-the-framework-within/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.quirkey.com/blog/2009/03/04/sinatra-the-framework-within/</feedburner:origLink></item>
	</channel>
</rss>
