<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>QuirkeyBlog &#187; Sinatra</title>
	<atom:link href="http://www.quirkey.com/blog/category/ruby/sinatra/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.quirkey.com/blog</link>
	<description>A Developer with too little time.</description>
	<lastBuildDate>Thu, 02 Sep 2010 20:02:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Vegas: Rack it up</title>
		<link>http://www.quirkey.com/blog/2009/08/31/vegas-rack-it-up/</link>
		<comments>http://www.quirkey.com/blog/2009/08/31/vegas-rack-it-up/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 14:41:06 +0000</pubDate>
		<dc:creator>AQ</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Sinatra]]></category>

		<guid isPermaLink="false">http://www.quirkey.com/blog/?p=350</guid>
		<description><![CDATA[Even though I&#8217;ve done some presentations on it already, for some reason, Vegas, the simple sinatra starter, hasn&#8217;t gotten much press here. Maybe it was because I was a little embarrassed about its lack of test coverage, or just how simple it was. No longer, as of today, not only does it have some test [...]]]></description>
			<content:encoded><![CDATA[<p>Even though I&#8217;ve done some presentations on it already, for some reason, <a href="http://code.quirkey.com/vegas">Vegas, the simple sinatra starter</a>, hasn&#8217;t gotten much press here. Maybe it was because I was a little embarrassed about its lack of test coverage, or just how simple it was. No longer, as of today, not only does it have some test coverage, but its actually awesome enough to talk about.</p>
<span id="more-350"></span>
<p>Vegas::Runner is dirt simple. Basically, take your existing (or brand new) Sinatra, create a bin/ file and pass your app class to Vegas::Runner. Now when you run the bin, Vegas takes care of <span class="caps">PID</span>&#8217;s, options, finding a suitable Rack::Handler, etc. (More information <a href="http://code.quirkey.com/vegas">here</a>). <a href="http://code.quirkey.com/gembox">Gembox</a> is the canonical example, but there are others out there.</p>


<p>Before today, even though I claimed otherwise, Vegas was pretty dependent on Sinatra. I was O.K. with that. Sinatra had some niceties for starting up that I found it easier to rely on. Then I realized the potential of mounting/launching other, non-Sinatra Rack applications.</p>


<p>For example, <a href="http://getcloudkit.com">Cloudkit</a> is pretty cool. With the newest version of Vegas and Cloudkit, I can create a single file, command-line launch-able data based web service.</p>


<p>First, I create a bin. Lets call it &#8216;cloudcity&#8217;. The first thing I need to do is tell the bin that we&#8217;re going to execute this with ruby:</p>


<pre class="textmate-source"><span class="source source_ruby"><span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span>!/usr/bin/env ruby</span></span></pre>

<p>Next, lets require Cloudkit and Vegas.</p>

<pre class="textmate-source"><span class="source source_ruby"><span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span>!/usr/bin/env ruby
</span>
<span class="meta meta_require meta_require_ruby"><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">require</span> <span class="string string_quoted string_quoted_single string_quoted_single_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">'</span>rubygems<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span></span>
<span class="meta meta_require meta_require_ruby"><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">require</span> <span class="string string_quoted string_quoted_single string_quoted_single_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">'</span>vegas<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span></span>
<span class="meta meta_require meta_require_ruby"><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">require</span> <span class="string string_quoted string_quoted_single string_quoted_single_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">'</span>cloudkit<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span></span>
</span></pre>

<p>OK, now that our env, is setup, we just have to build a little <span class="caps">JSON</span> schemaless data storage. Rack::Builder lets us just group all of the Rack middlewares and extensions we want into an &#8216;app&#8217;:</p>

<pre class="textmate-source"><span class="source source_ruby">app <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="support support_class support_class_ruby">Rack</span><span class="punctuation punctuation_separator punctuation_separator_other punctuation_separator_other_ruby">::</span><span class="support support_class support_class_ruby">Builder</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">new</span> <span class="keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby">do
</span>  expose <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>people</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>places</span>
<span class="keyword keyword_control keyword_control_ruby">end</span>
</span></pre>

<p>Next we just need to pass this app to Vegas::Runner and give it a name:</p>

<pre class="textmate-source"><span class="source source_ruby"><span class="support support_class support_class_ruby">Vegas</span><span class="punctuation punctuation_separator punctuation_separator_other punctuation_separator_other_ruby">::</span><span class="support support_class support_class_ruby">Runner</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">new</span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">(</span>app<span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_single string_quoted_single_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">'</span>cloudcity<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">)</span>
</span></pre>

<p>Thats it. Heres the whole app:</p>

<pre class="textmate-source"><span class="source source_ruby"><span class="comment comment_line comment_line_number-sign comment_line_number-sign_ruby"><span class="punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby">#</span>!/usr/bin/env ruby
</span>
<span class="meta meta_require meta_require_ruby"><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">require</span> <span class="string string_quoted string_quoted_single string_quoted_single_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">'</span>rubygems<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span></span>
<span class="meta meta_require meta_require_ruby"><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">require</span> <span class="string string_quoted string_quoted_single string_quoted_single_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">'</span>vegas<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span></span>
<span class="meta meta_require meta_require_ruby"><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">require</span> <span class="string string_quoted string_quoted_single string_quoted_single_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">'</span>cloudkit<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span></span>

app <span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby">=</span> <span class="support support_class support_class_ruby">Rack</span><span class="punctuation punctuation_separator punctuation_separator_other punctuation_separator_other_ruby">::</span><span class="support support_class support_class_ruby">Builder</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">new</span> <span class="keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby">do
</span>  expose <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>people</span><span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="constant constant_other constant_other_symbol constant_other_symbol_ruby"><span class="punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby">:</span>places</span>
<span class="keyword keyword_control keyword_control_ruby">end</span>

<span class="support support_class support_class_ruby">Vegas</span><span class="punctuation punctuation_separator punctuation_separator_other punctuation_separator_other_ruby">::</span><span class="support support_class support_class_ruby">Runner</span><span class="punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby">.</span><span class="keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby">new</span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">(</span>app<span class="punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby">,</span> <span class="string string_quoted string_quoted_single string_quoted_single_ruby"><span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby">'</span>cloudcity<span class="punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby">'</span></span><span class="punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby">)</span></span></pre>

<p>Now if we run: cloudcity in the terminal, Vegas will find an open port and launch us directly into the app. For now, we get this informative but semi-useless message:</p>


<p><img src="http://img.skitch.com/20090830-rd7fp6xya3utrdtd35frasnwja.jpg" alt="" /></p>


<p>Buuuuut, if we hit &#8217;/people&#8217; we get a friendly <span class="caps">JSON</span> delivery:</p>


<pre>{"total":0,"offset":0,"uris":[]}</pre>

<p>So that was a pretty trivial example. Vegas didnt add that much to Cloudkit&#8217;s existing awesomeness. However, take this as a prod to think about the possibilites. You could build a javascript app, that uses cloudkit as storage, package it as a gem, with a Vegas powered bin, and have an easily distributable browser-based application with <span class="caps">JSON</span> storage. The beauty of Cloudkit, is that besides Rack and Ruby, there arent really any other dependencies to worry about. I haven&#8217;t tried it yet, but potentially, you could use Vegas to distribute a modern (Rack-based) Rails app (the database part might be a little tough, though).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/08/31/vegas-rack-it-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing Sammy: The tiny but swingin&#8217; JavaScript Framework</title>
		<link>http://www.quirkey.com/blog/2009/05/15/introducing-sammy-the-tiny-but-swingin-javascript-framework/</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 [...]]]></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>
 ]]></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" />
		</item>
		<item>
		<title>On the Ruby on Rails Podcast</title>
		<link>http://www.quirkey.com/blog/2009/04/29/on-the-ruby-on-rails-podcast/</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>
 ]]></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>
		</item>
		<item>
		<title>GoGaRuCo &#8217;09</title>
		<link>http://www.quirkey.com/blog/2009/04/20/gogaruco-09/</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 [...]]]></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>

 ]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/04/20/gogaruco-09/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Announcements</title>
		<link>http://www.quirkey.com/blog/2009/03/27/quick-announcements/</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 [...]]]></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>
 ]]></content:encoded>
			<wfw:commentRss>http://www.quirkey.com/blog/2009/03/27/quick-announcements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What I&#8217;ve been up to: Week of 3/23</title>
		<link>http://www.quirkey.com/blog/2009/03/23/what-ive-been-up-to-week-of-323/</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 [...]]]></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>
 ]]></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>
		</item>
	</channel>
</rss>
