<?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/"
	>

<channel>
	<title>Ruboss</title>
	<atom:link href="http://www.ruboss.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.ruboss.com</link>
	<description>Ruboss Technology Corporation, a Boutique Flex + Rails Software Consultancy in Vancouver, BC, Canada</description>
	<pubDate>Fri, 12 Jun 2009 21:46:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Challenge of Legitimately Giving Away an iPod</title>
		<link>http://www.ruboss.com/?p=45</link>
		<comments>http://www.ruboss.com/?p=45#comments</comments>
		<pubDate>Fri, 12 Jun 2009 21:44:29 +0000</pubDate>
		<dc:creator>Peter Armstrong</dc:creator>
		
		<category><![CDATA[Meta]]></category>

		<guid isPermaLink="false">http://www.ruboss.com/?p=45</guid>
		<description><![CDATA[So, I did a talk at a Flex event in Vancouver that Adobe put on a couple weeks ago, and Scott and I decided to do a survey to get information about how we should price our upcoming workshops.  Instead of asking people what they wanted to pay, we decided to do a contest asking [...]]]></description>
			<content:encoded><![CDATA[<p>So, I did a talk at a Flex event in Vancouver that Adobe put on a couple weeks ago, and Scott and I decided to do a survey to get information about how we should price our upcoming workshops.  Instead of asking people what they wanted to pay, we decided to do a contest asking people what they thought the average answer would be.  The winner would get a 16 GB iPod Touch.  If we got real data from a room full of our potential target audience, this would be the best $300 we could possibly spend..</p>
<p>So, we handed out surveys, I did my talk, and everything went really well.  Except, however, that I was left having to <strong>email</strong> someone to tell them that they had <strong>won an iPod Touch</strong>.  Can you say spam filter?  Oops.</p>
<p>Anyway, I wrote something that I was hopeful would not get spam-filtered.  No response.  So, I waited a few days and replied to it.  This made it through.</p>
<p>So, congratulations to Arnold Chang, who submitted the best guesses!</p>
<p>And if I&#8217;m going to give away an iPod, I at least need to do a cheesy marketing photo.  So, hooray for Photo Booth:</p>
<p><a href="http://www.ruboss.com/wp-content/uploads/2009/06/arnold2.jpg"><img class="alignnone size-medium wp-image-47" title="arnold2" src="http://www.ruboss.com/wp-content/uploads/2009/06/arnold2-300x225.jpg" alt="arnold2" width="300" height="225" /></a></p>
<p>The workshop schedule and pricing will be announced soon, by the way.  Thanks to everyone who responded&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruboss.com/?feed=rss2&amp;p=45</wfw:commentRss>
		</item>
		<item>
		<title>Scott&#8217;s &#8220;S3 on Rails&#8221; BoF Talk from RailsConf 2009</title>
		<link>http://www.ruboss.com/?p=36</link>
		<comments>http://www.ruboss.com/?p=36#comments</comments>
		<pubDate>Wed, 06 May 2009 21:51:55 +0000</pubDate>
		<dc:creator>Peter Armstrong</dc:creator>
		
		<category><![CDATA[Meta]]></category>

		<guid isPermaLink="false">http://www.ruboss.com/?p=36</guid>
		<description><![CDATA[Hi,
Scott&#8217;s S3 on Rails BoF talk from RailsConf 2009 is here.  (You can download the PDF from that page, or click the &#8220;download&#8221; button to download the PDF, Keynote, etc.)  Yay GitHub!
Cheers,
Peter
]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>Scott&#8217;s <a href="http://github.com/spatten/s3-bof-railsconf2009/">S3 on Rails</a> BoF talk from RailsConf 2009 is <a href="http://github.com/spatten/s3-bof-railsconf2009/">here</a>.  (You can download the PDF from that page, or click the &#8220;download&#8221; button to download the PDF, Keynote, etc.)  Yay GitHub!</p>
<p>Cheers,<br />
Peter</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruboss.com/?feed=rss2&amp;p=36</wfw:commentRss>
		</item>
		<item>
		<title>Sopobo: Author Signup is Coming Soon</title>
		<link>http://www.ruboss.com/?p=31</link>
		<comments>http://www.ruboss.com/?p=31#comments</comments>
		<pubDate>Wed, 06 May 2009 21:45:55 +0000</pubDate>
		<dc:creator>Peter Armstrong</dc:creator>
		
		<category><![CDATA[Meta]]></category>

		<guid isPermaLink="false">http://www.ruboss.com/?p=31</guid>
		<description><![CDATA[So, Sopobo is currently just selling Scott&#8217;s book on Amazon S3.  I am going to be launching a book on RestfulX (that Dima Berastau is co-authoring) on Sopobo soon.  Shortly afterward, we will open up Sopobo to authors whose names aren&#8217;t Scott Patten and Peter Armstrong!
This isn&#8217;t a &#8220;launch&#8221; in the &#8220;company launch&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>So, <a href="http://www.sopobo.com">Sopobo</a> is currently just selling <a href="http://thes3cookbook.sopobo.com/">Scott&#8217;s book on Amazon S3</a>.  I am going to be launching a book on RestfulX (that Dima Berastau is co-authoring) on Sopobo soon.  Shortly afterward, we will open up Sopobo to authors whose names aren&#8217;t Scott Patten and Peter Armstrong!</p>
<p>This isn&#8217;t a &#8220;launch&#8221; in the &#8220;company launch&#8221; sense; we&#8217;re trying to do the Sopobo product in the grand &#8220;Lean Startup&#8221; tradition of Eric Ries and Steve Blank. However, since we&#8217;re going to be having other authors publishing their books on Sopobo, we need to do a &#8220;product launch&#8221;.  Scott is sitting beside me telling me I can&#8217;t call this post &#8220;Sopobo: The Product Launch is Coming Soon&#8221; since people will just read the title and say we&#8217;re launching.  No, we&#8217;re not!  But soon you&#8217;ll be able to buy other books on Sopobo&#8230;</p>
<p>If you want to self-publish a book on Sopobo when Author Signup is available, please email either peter@ruboss.com or scott@ruboss.com and we&#8217;ll email you when it&#8217;s ready.  (Our guess is &#8220;sometime in May&#8221;.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruboss.com/?feed=rss2&amp;p=31</wfw:commentRss>
		</item>
		<item>
		<title>RestfulX RailsConf 2009 BoF Presentation: Demo Steps</title>
		<link>http://www.ruboss.com/?p=25</link>
		<comments>http://www.ruboss.com/?p=25#comments</comments>
		<pubDate>Wed, 06 May 2009 21:32:42 +0000</pubDate>
		<dc:creator>Peter Armstrong</dc:creator>
		
		<category><![CDATA[Meta]]></category>

		<guid isPermaLink="false">http://www.ruboss.com/?p=25</guid>
		<description><![CDATA[Note: This is based on this example, which is based on an example that Dima and I built together.  Both of us use this example everywhere, and the original origin of the data model is my Flexible Rails book.  (No, Flexible Rails doesn&#8217;t cover RestfulX; what I mean is that this model.yml is [...]]]></description>
			<content:encoded><![CDATA[<p>Note: This is based on <a href="http://wiki.github.com/dima/restfulx/restfulx-framework-and-rails-21">this example</a>, which is based on an example that Dima and I built together.  Both of us use this example everywhere, and the original origin of the data model is my <a href="http://manning.com/armstrong">Flexible Rails</a> book.  (No, Flexible Rails doesn&#8217;t cover RestfulX; what I mean is that this model.yml is creating an app that strongly resembles the example app in Flexible Rails.)</p>
<p>0. If you have run this before, delete a pomodo.db database from home directory.</p>
<p>1. Create the Rails app, install RestfulX and create the Flex project:<br />
<code><br />
$ sudo gem install restfulx<br />
$ rails -d mysql pomodo<br />
$ cd pomodo<br />
</code></p>
<p>2. Edit config/environment.rb and add:<br />
<code><br />
config.gem "restfulx"<br />
</code></p>
<p>3. Run rx_config with the distributed option:<br />
<code><br />
$ ./script/generate rx_config --distributed<br />
</code></p>
<p>4. Create your data model:<br />
$ emacs db/model.yml<br />
<code><br />
project:<br />
- name: string<br />
- notes: text<br />
- start_date: date<br />
- end_date: date<br />
- completed: boolean<br />
- belongs_to: [user]<br />
- has_many: [tasks]</p>
<p>location:<br />
- name: string<br />
- notes: text<br />
- belongs_to: [user]<br />
- has_many: [tasks]</p>
<p>task:<br />
- name: string<br />
- notes: text<br />
- start_time: datetime<br />
- end_time: datetime<br />
- completed: boolean<br />
- next_action: boolean<br />
- belongs_to: [project, location, user]</p>
<p>note:<br />
- content: text<br />
- belongs_to: [user]</p>
<p>user:<br />
- login: string<br />
- first_name: string<br />
- last_name: string<br />
- email: string<br />
- has_many: [tasks, projects, locations]<br />
- has_one: [note]<br />
</code><br />
5. Generate the app, recreate the database and run your server:<br />
$ ./script/generate rx_yaml_scaffold<br />
$ rake db:refresh<br />
$ ./script/server</p>
<p>6. Import the project into Flex Builder, compile the Flex code and go to http://localhost:3000.</p>
<p>7. Convert the app to AIR:<br />
a) Stop your server.<br />
b) Delete the project in Flex Builder.  (Don&#8217;t delete contents.)<br />
c) ./script/generate rx_config -a &#8211;distributed<br />
d) Import the pomodo project into Flex Builder again.<br />
e) [WORKAROUND] Fix the routes, which got hosed by rx_config -a &#8211;distributed:<br />
<code><br />
map.resources :locations<br />
map.resources :notes<br />
map.resources :tasks<br />
map.resources :projects<br />
map.resources :users<br />
</code></p>
<p>8. Test online/offline:<br />
a) Start your server.<br />
b) Rebuild and run the AIR app.  Note that it&#8217;s empty.<br />
c) Start your server.  Note that online detection works.  Do a pull.<br />
d) Create tasks, projects, etc.<br />
e) Do a push.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruboss.com/?feed=rss2&amp;p=25</wfw:commentRss>
		</item>
		<item>
		<title>RestfulX Presentation at RailsConf 2009 BoF</title>
		<link>http://www.ruboss.com/?p=15</link>
		<comments>http://www.ruboss.com/?p=15#comments</comments>
		<pubDate>Wed, 06 May 2009 21:02:50 +0000</pubDate>
		<dc:creator>Peter Armstrong</dc:creator>
		
		<category><![CDATA[Meta]]></category>

		<guid isPermaLink="false">http://www.ruboss.com/?p=15</guid>
		<description><![CDATA[I&#8217;m presenting about RestfulX at a BoF at RailsConf tonight (Wednesday, May 6) at 8 PM.
For those not there, these are my RailsConf 2009 slides.  These show a very high level picture of RestfulX, its history, and how it relates to Ruboss.  Most of the presentation will be a walkthrough of the generated RestfulX code [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m presenting about RestfulX at a BoF at RailsConf tonight (Wednesday, May 6) at 8 PM.</p>
<p>For those not there, these are my <a href="http://www.ruboss.com/wp-content/uploads/2009/05/restfulx_railsconf20091.pdf">RailsConf 2009 slides</a>.  These show a very high level picture of RestfulX, its history, and how it relates to Ruboss.  Most of the presentation will be a walkthrough of the generated RestfulX code and an open discussion.</p>
<p>If you are doing a RestfulX presentation anywhere, I have also prepared a generic version of these slides without the Ruboss history part.  This is available in both PDF format (<a href="http://www.ruboss.com/wp-content/uploads/2009/05/restfulx_may2009_generic.pdf">restfulx_may2009_generic</a>) and a zip file of the Keynote format (<a href="http://www.ruboss.com/wp-content/uploads/2009/05/restfulx_may2009_generickey.zip">restfulx_may2009_generickey</a>).</p>
<p>Cheers,<br />
Peter</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruboss.com/?feed=rss2&amp;p=15</wfw:commentRss>
		</item>
		<item>
		<title>Ruboss 2.0</title>
		<link>http://www.ruboss.com/?p=1</link>
		<comments>http://www.ruboss.com/?p=1#comments</comments>
		<pubDate>Mon, 02 Mar 2009 21:49:25 +0000</pubDate>
		<dc:creator>Peter Armstrong</dc:creator>
		
		<category><![CDATA[Meta]]></category>

		<guid isPermaLink="false">http://www.ruboss.com/?p=1</guid>
		<description><![CDATA[Ruboss has changed a lot in the last year.  For starters, what was once the &#8220;Ruboss Framework&#8221; (and available under a dual GPL + Commercial license) is now the RestfulX Framework (and available under the MIT license).
So, rather than have a bunch of outdated information confusing Google, it&#8217;s time to wipe the slate&#8211;or at least [...]]]></description>
			<content:encoded><![CDATA[<p>Ruboss has changed a lot in the last year.  For starters, what was once the &#8220;Ruboss Framework&#8221; (and available under a dual GPL + Commercial license) is now the <a href="http://restfulx.github.com/">RestfulX Framework</a> (and available under the <strong>MIT license</strong>).</p>
<p>So, rather than have a bunch of outdated information confusing Google, it&#8217;s time to wipe the slate&#8211;or at least the company blog&#8211;clean.</p>
<p>At Ruboss, we&#8217;re more committed than ever to delivering great software for clients.  Quite often this will involve using the RestfulX framework, but we&#8217;re committed to using the right technology for the client&#8217;s environment.  (We&#8217;re not in the framework licensing business anymore, so we can be neutral here.)</p>
<p>We&#8217;re also working on some products of our own, in our copious amounts of free time.  More about that soon&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruboss.com/?feed=rss2&amp;p=1</wfw:commentRss>
		</item>
	</channel>
</rss>
